刘凡 9ff4d1d109 add S3,archive,truncate 2 anni fa
..
img 9ff4d1d109 add S3,archive,truncate 2 anni fa
.gitignore 9ff4d1d109 add S3,archive,truncate 2 anni fa
README.md 9ff4d1d109 add S3,archive,truncate 2 anni fa
figures.py 9ff4d1d109 add S3,archive,truncate 2 anni fa
graphics.py 9ff4d1d109 add S3,archive,truncate 2 anni fa
polytope.py 9ff4d1d109 add S3,archive,truncate 2 anni fa
requirements.txt 9ff4d1d109 add S3,archive,truncate 2 anni fa
window.py 9ff4d1d109 add S3,archive,truncate 2 anni fa

README.md

shapeshift

A GUI application for generating and visualizing polyhedra using geometric operations.

Premise

Screenshot of Shapeshift

Seed polyhedra are provided as the five Platonic solids. The following operations can be combined in different orders to create new and complex polyhedra:

Shapeshift displays these resulting polyhedra in 3D rotation and provides details on vertices, edges, and faces.

Dependencies

Shapeshift uses Python3 along with the following packages:

  • moderngl for polyhedron visualization
  • numpy for numerical calculations
  • pyrr for matrix creation
  • pyside6 for window and widgets
  • sympy for symbolic notation

The dependencies and their versions are stored in requirements.txt. These can be installed with the following code while in the highest-level package directory:

python3 -m pip install -r requirements.txt

The GUI itself can then be opened as follows:

python3 window.py