HomeArticlesPolyhedron Nets

Polyhedron Nets: The Graph Theory Behind Unfolding a Solid Flat

Why a valid net is a spanning tree of the dual graph, why the cube has exactly eleven of them, and the still-open question of whether every convex solid can unfold without overlap.

mysimulator teamUpdated June 2026≈ 7 min read▶ Open the simulation

Unfolding a solid without tearing it

A net of a polyhedron is a flat arrangement of its faces, connected edge to edge, that folds up into the solid with no gaps and no overlaps — exactly the shape you would cut from cardboard to build a paper model. Every convex polyhedron has at least one net (this is Alexandrov's uniqueness theorem territory, but existence is elementary): cut the solid's surface along a set of edges that leaves the remaining edges connected without any loop, and the surface unrolls flat. The cube alone has eleven distinct nets up to rotation and reflection — a surprisingly large number for such a simple shape, and a first hint of how combinatorially rich the unfolding problem gets for less symmetric solids.

live demo · unfold and refold the five Platonic solids along a spanning-tree cut● LIVE

The cut has to be a spanning tree

Not any set of cut edges works. Represent the polyhedron's edges as a graph — vertices of the polyhedron are graph vertices, edges are graph edges — and a valid unfolding cut corresponds exactly to a spanning tree of the dual graph, where each face is a node and two faces are connected if they share an edge. A spanning tree touches every face node exactly once with no cycles, which translates back to: cut enough edges to let the whole surface lie flat (no cycle of uncut edges could enclose a region and prevent it from unrolling), but no more than necessary (cutting an already-tree-connected edge would disconnect the net into separate floating pieces). A cube's dual graph has 6 face-nodes; its spanning trees are exactly what generates those eleven distinct nets.

dual graph of the polyhedron: one node per face, edge between two nodes if the
faces are adjacent on the solid

valid unfolding cut  <=>  spanning tree of the dual graph
  - touches every face once           (net includes every face, connected)
  - contains no cycle                 (no closed loop of un-cut faces to trap flatness)
  - exactly (F - 1) edges cut for F faces

Folding as rotation about a hinge

Animating the fold is a matter of picking, for each cut edge, the correct rotation: as the fold progresses from flat (0°) to fully folded, each face pivots about its shared hinge edge with its parent face in the spanning tree, by an angle that increases from 0° up to the solid's dihedral angle — the true angle between two adjacent faces in the finished 3D solid (for the cube, exactly 90°; for the icosahedron, about 138.19°). Because a face can be hinged to more than one neighbour transitively through the tree, its final orientation in 3D is the composition of every ancestor hinge rotation back to the root face, which is naturally expressed and interpolated using quaternions rather than raw rotation matrices — quaternion slerp (spherical linear interpolation) avoids the gimbal-lock artefacts that plain Euler-angle interpolation introduces when several hinge rotations compose.

Not every unfolding stays gap-free

For convex polyhedra, a long-conjectured but still formally open question — Shephard's conjecture, posed in 1975 — asks whether every convex polyhedron has some spanning-tree unfolding that avoids self-overlap when laid flat. All known convex solids do have at least one non-overlapping net (and it has been proven computationally for very large classes of them), but no general proof covers every convex polyhedron, and the related question of finding an unfolding via cuts that are not restricted to existing edges is an active area of computational geometry research. Non-convex polyhedra can be considerably worse: some are now known to have no edge-unfolding at all that avoids overlap, whichever spanning tree you choose — a genuine impossibility, not just an unsolved search problem.

Why this matters beyond paper crafts

Polyhedron unfolding is not just a geometry-classroom exercise: sheet-metal fabrication, cardboard packaging design, and origami-inspired deployable structures (solar panel arrays that fold flat for launch and unfurl in orbit) all depend on finding a manufacturable, non-overlapping net for a target 3D shape, ideally one that also minimises the number of separate pieces or the total cut length. The same spanning-tree logic used for a Platonic solid's net generalises directly to these irregular, real-world meshes, which is exactly why 3D modelling software includes automatic 'unfold to flat pattern' tools built on this graph-theoretic foundation.

Frequently asked questions

Why does a cube have eleven different nets?

Because a valid net corresponds to a spanning tree of the cube's dual graph (one node per face, edges between adjacent faces), and that graph has exactly eleven distinct spanning trees up to rotation and reflection. Each spanning tree of cut edges produces a different, but equally valid, flat arrangement of the six square faces.

Does every convex polyhedron have a net that doesn't overlap itself?

It is conjectured (Shephard's conjecture, 1975) but not proven for every convex polyhedron in general, though every known convex solid does have at least one such net. Some non-convex polyhedra, by contrast, are proven to have no non-overlapping edge-unfolding at all, no matter which spanning tree of cuts you choose.

Why use quaternions instead of simple angles to animate the fold?

Because folding a spanning tree composes multiple hinge rotations at once, one for each level of the tree a face descends from the root, and plain Euler-angle interpolation suffers from gimbal lock and inconsistent axes when rotations stack. Quaternion spherical interpolation composes and blends 3D rotations smoothly without those artefacts.

Try it live

Everything above runs in your browser — open Polyhedron Nets (Unfolding 3D Solids) and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.

▶ Open Polyhedron Nets (Unfolding 3D Solids) simulation

What did you find?

Add reproduction steps (optional)