miratope-rs
miratope-rs copied to clipboard
A tool for building and visualizing polytopes.
A tool for building and visualizing polytopes. Still in alpha development.
What can Miratope do now?
Miratope can already load polytopes from files and derive various properties from them, as well as do various operations on them. It can render wireframes in arbitrary dimension, though it can only rotate them in three of those dimensions.
What are Miratope's goals?
We plan to eventually support all of the following:
- Various families of polytopes to build and render
- [ ] All regular polytopes
- [ ] All known 3D and 4D uniform polytopes
- [ ] Many of the known CRFs
- Many operations to apply to these polytopes
- [x] Duals
- [x] Petrials
- [x] Prism products
- [x] Tegum products
- [x] Pyramid products
- [x] Antiprisms
- [ ] Convex hulls
- Loading and saving into various formats
- [x] Support for the Stella
.off
format - [ ] Support for the GeoGebra
.ggb
format
- [x] Support for the Stella
- Localization
- Automatic name generation in various languages for many shapes
- [x] English
- [ ] Spanish
- [ ] French
- [ ] Japanese
- [ ] Proto Indo-Iranian
- Automatic name generation in various languages for many shapes
How do I use Miratope?
Miratope is in the alpha stage, and so doesn't have a completed interface yet. You'll have to download the source code to do much of anything.
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.
- 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.
- Next, open a command line. On Windows you can do this by opening Run with
Win+R
and typingcmd
in the search box. - 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. - Finally, type
cargo run
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).
These steps are in place because it would be too cumbersome at this stage to update the executable each time a bug is fixed or feature is added. Once Miratope leaves the alpha stage, executable files for Version 1.0.0 will be provided.
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.
Where do I get these ".off
files"?
The Object File Format is a format for storing certain kinds of geometric shapes.
Although not in widespread use, it has become the standard format for those interested in polyhedra and polytopes. It was initially meant for the Geomview software, and was later adapted for the Stella software. Miratope uses a further generalization of the Stella .off
format for any amount of dimensions.
Miratope includes a small library simple or generatable polytopes at startup. More complicated polytopes can be downloaded from vihdzp's personal collection. Eventually, most files here will be browsable from Miratope itself.
Why is the rendering buggy?
Proper rendering, even in 3D, is a work in progress.