HomeGeometryPolyhedron Nets (Unfolding 3D Solids)

📦 Polyhedron Nets (Unfolding 3D Solids)

Interactive polyhedron net simulator. Watch tetrahedra, cubes, octahedra, dodecahedra and icosahedra unfold into flat 2D nets and fold back into 3D solids, using real spanning-tree hinge geometry, auto-rotate and face labelling.

Geometry3DAdvanced60 FPS
polyhedron-nets ↗ Open standalone

📦 What It Demonstrates

A polyhedron net is a flat, two-dimensional pattern of connected polygons that can be folded along shared edges — like cardboard creases — to form a closed three-dimensional solid with no gaps and no overlaps. This simulator computes a genuine net for each of the five Platonic solids (tetrahedron, cube, octahedron, dodecahedron, icosahedron) directly from their real 3D vertex coordinates: it finds every face by testing which points are coplanar on the convex hull, builds a graph of which faces share an edge, and then grows a spanning tree through that graph starting from one root face. Every other face is attached to its parent by hinging it flat around their shared edge, so the whole solid unrolls into one connected, non-overlapping flat pattern.

Moving the Fold Amount slider interpolates every face, independently, between two exact rigid poses: its flat, net-space position (fold = 0%) and its true folded 3D position and orientation (fold = 100%). Each pose is stored as a rotation plus a translation, and the rotations are blended using quaternion spherical interpolation (slerp) while the translations are linearly interpolated, so every face sweeps smoothly and continuously along its own hinge path as the solid folds shut or springs open.

How to Use

  • Choose a Solid — tetrahedron, cube, octahedron, dodecahedron or icosahedron.
  • Drag the Fold Amount slider: 0% shows the flat net, 100% shows the fully folded solid, and anything in between shows the hinges opening or closing.
  • Press Play to animate the fold amount back and forth automatically, or Reset to return to the fully folded solid.
  • Enable Auto-rotate to spin the model so you can see the fold from every angle, most useful once it is mostly folded.
  • Enable Show face labels to number each face — watch the same number travel from its position in the flat net to its final position on the 3D solid.

Did You Know?

A given solid can usually be unfolded in many different valid ways, depending on which spanning tree of faces you choose to cut along. The humble cube — despite being the simplest Platonic solid after the tetrahedron — has exactly 11 distinct nets up to rotation and reflection, a fact first rigorously enumerated in recreational and combinatorial geometry and now a classic result quoted in mathematics education. Some are the familiar "cross" pattern, others are much less obvious zig-zag arrangements. The icosahedron, with its 20 triangular faces, has an astonishing 43,380 distinct nets, while some non-convex polyhedra are conjectured to have no valid net at all — an open problem in geometry known as Shephard's conjecture for convex solids (proven true) versus general polyhedra (still unresolved for some shapes).

About this simulation

This simulator computes real polyhedron nets for the five Platonic solids from their actual 3D vertex coordinates — it finds coplanar faces on the convex hull, builds a face-adjacency graph, grows a spanning tree from a root face, and hinges every other face flat around its shared edge. Folding is animated by blending, per face, between its flat net pose and its true 3D pose using quaternion slerp for rotation and linear interpolation for position, then projecting the result with a simple hand-rolled 3D-to-2D projection and painter's-algorithm face sorting.

🔬 What it shows

Real vertex data for the tetrahedron, cube, octahedron, dodecahedron and icosahedron. Faces are discovered by testing coplanarity across the convex hull, adjacency is found by shared edges, and a breadth-first spanning tree defines exactly one way to cut the solid open into a single connected net.

🎮 How to use

Pick a Solid, then drag Fold Amount between 0% (flat net) and 100% (folded solid). Press Play to animate the fold automatically, tick Auto-rotate to spin the folded shape, and tick Show face labels to trace which net face becomes which face of the 3D solid.

💡 Did you know?

The cube has exactly 11 distinct nets up to rotation and reflection — a classic result in recreational geometry. The icosahedron, with 20 faces, has 43,380 distinct nets, and finding valid nets for arbitrary non-convex polyhedra remains an open mathematical question.

Frequently asked questions

What exactly is a polyhedron net?

A net is a two-dimensional arrangement of polygons, connected edge to edge, that folds up into a closed three-dimensional solid with no gaps and no overlapping faces. Every face of the solid appears exactly once in the net, and adjacent faces in the net share the edge they will fold along.

How does the simulator decide how to unfold each solid?

It builds a graph where each face is a node and two faces are linked if they share an edge, then runs a breadth-first search from one starting face to build a spanning tree. Every face is then hinged flat relative to its parent in the tree, guaranteeing a single connected net with no face repeated or left out.

Is the fold animation physically accurate?

Each face has an exact flat pose (0% fold) and an exact folded 3D pose (100% fold) computed from real geometry. Intermediate positions blend the two poses per face using quaternion spherical interpolation for rotation and linear interpolation for position, which reproduces a smooth, continuous hinge motion consistent with the solid's true dihedral angles at both ends.

Why do the dihedral angles differ between solids?

The dihedral angle is the interior angle between two adjacent faces when the solid is fully folded. It depends on how many faces meet at each edge and vertex: it is about 70.5° for the tetrahedron, exactly 90° for the cube, about 109.5° for the octahedron, about 116.6° for the dodecahedron and about 138.2° for the icosahedron, growing larger as the solid becomes more sphere-like.

How many different nets does a cube really have?

Exactly 11, counting nets that are rotations or reflections of each other as the same net. This has been known since at least the mid-20th century and is a popular result in recreational mathematics; other Platonic solids have vastly more valid nets, for example the icosahedron has 43,380.

⚙ Under the hood

Watch the five Platonic solids unfold into flat 2D nets and fold back into 3D, using a real spanning-tree hinge algorithm, quaternion-slerp interpolation, auto-rotation and per-face labelling to trace how each face maps between net and solid.

Canvas 2DPolyhedronNetPlatonic SolidsUnfolding

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)