Add Johnson solids

Vectornaut 2025-07-09 19:28:46 +00:00
parent 1f9d5783ed
commit 8a949e7301

@ -113,6 +113,33 @@ Place five unit spheres tangent to each other so that their centers form either
One might reasonably hope that solving this problem will provide a solution of the original Frugal Firepower problem. The idea is that a box that solves the original problem should have “maximal contact” with the spheres, and should therefore be determined by its tangencies with the spheres. One might reasonably hope that solving this problem will provide a solution of the original Frugal Firepower problem. The idea is that a box that solves the original problem should have “maximal contact” with the spheres, and should therefore be determined by its tangencies with the spheres.
### Johnson solid
#### Statement
Choose a Johnson solid. Assemble it and confirm that it's rigid.
#### Notes
There are various ways to represent the solid and to constrain the faces to be regular. Here's a way that has the advantage of requiring only pointpoint distance, pointsphere incidence, and curvature constraints.
- For each vertex, create a point.
- For each edge, add a unit distance constraint between vertices.
- Constrain the faces to be planar. For each face with more than three vertices:
- Create a plane—a sphere whose curvature is constrained to be zero.
- Constrain each vertex of the face to lie on the plane.
- Constrain the faces to be regular. For each face with more than three vertices:
- Triangulate the face.
- For each triangulation diagonal, add a distance constraint to enforce the desired length.
[Nets for the Johnson solids](https://archive.lib.msu.edu/crcmath/math/math/j/j057.htm) might help with assembly. Here are some interesting Johnson solids with relatively low vertex, edge, and face counts:
- Triangular cupola (J3)
- Triangular dipyramid (J12)
- Gyrobifastigium (J26)
- Tridiminished icosahedron (J63)
- Snub disphenoid (J84)
### Ring of polyhedra ### Ring of polyhedra
#### Source #### Source