GithubHelp home page GithubHelp logo

vihdzp / miratope-rs Goto Github PK

View Code? Open in Web Editor NEW
56.0 3.0 15.0 22.63 MB

A tool for building and visualizing polytopes.

License: MIT License

Rust 98.37% GLSL 1.63%
polytopes rust shapes rendering polytope

miratope-rs's Introduction

A tool for building and visualizing polytopes. Still in alpha development. Fork of vihdzp/miratope-rs focused on building concrete polytopes like uniforms and nobles.

Library

The default library contains:

The library is customizable, you can add your own .off files. Sometimes you may need to delete or modify the .folder files though.

Features

  • Building polytopes
  • Operations on polytopes
  • Analyzing polytopes
    • Miratope can compute various properties of polytopes, such as flag count, orientability, circumsphere, volume, and symmetry group.
    • It can display a list of all elements of a polytope, grouped by symmetry equivalence.
    • It can split compounds into their components.
  • Rendering polytopes
    • Miratope can render wireframes and faces (both toggleable) of polytopes in arbitrary dimension, though it can currently only rotate in 3 dimensions. It can render in perspective and orthogonal projection. It can also interactively render cross-sections of polytopes.
  • Importing and exporting polytopes in the .off format

How to use

If you're using 64-bit Windows

Just download the latest release on the right side of the github page, extract the zip, and run miratope.exe.

If you're using a different OS, or you want to modify the source code

Miratope is written in Rust, so if you don't already have the latest version and its Visual Studio C++ Build tools downloaded then you should do that first. Instructions for downloading can be found here: https://www.rust-lang.org/tools/install. You may have to restart your computer for Rust to fully install.

  1. Once you have Rust setup click the green button here on Github that says "Code".
    • If you already have Github Desktop, you can just click "Open with Github Desktop".
    • If you don't, click "Download ZIP" and once it's done downloading, extract the .zip file.
  2. Next, open a command line. On Windows you can do this by opening Run with Win+R and typing cmd in the search box.
  3. In the command line, first type cd [FILE PATH]. If you don't know how to get the file path, in your files go open the unzipped Miratope file folder, and click on the address bar at the top. Copy the highlighted file path and paste it into the command line in place of [FILE PATH], and press Enter. The last name in the command header should now be the name of the folder Miratope is in.
  4. Finally, type cargo run --release and hit Enter. It will take a while for the computer to open Miratope for the first time, but after that, opening it should be a lot faster. A window should appear, if the version of Miratope you downloaded was a stable one. If it wasn't, you'll get an error, and you should wait until the devs have fixed whatever they broke.

Once you have completed all the steps you will only need to do step 4 to run Miratope from startup (but if the [FILE PATH] changes, you'll need to do step 3 again).

There is currently an issue with the dependency wgpu-core not compiling on the latest version of Rust. The command rustup default 1.59 to change to an older version should fix it.

If you have downloaded Miratope previously, updated to the most recent version, and are getting an error like "error[E0710]: an unknown tool name found in scoped lint" in the console, this means a crate that Miratope uses has gone out of date. Don't worry about what that means, just make sure your command line has the header pointed at Miratope (like in step 3), and type rustup update in the console. Cargo, Rust's built-in file handler, will automatically update all the crates Miratope uses which should fix the issue. If this still doesn't fix it, contact the devs in the #miratope channel on Polytope Discord.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.