Paper Model
Not only do paper models of geometric shapes decorate the ceilings of the mathematics department where I work, but they are also visual representations of geometric inventions. For example, the paper model shown to the left is the polyhedral version of the "Boy surface" which has the least number of vertices among all polyhedral realizations consisting of triangles. At the time of its original discovery [1], constructing a physical paper model was still a tedious process: any minor inaccuracies in the drawing and cutting process would surely have spoiled the model. To imagine the effort required, have a look at the original drawing [2] of the cutting lines of this paper model.
A planar unfolding of the Boy Surface
View the animated version(565K)
Nowadays software has advanced and allows us to produce "cut drawings" by automatically computing the unfolding of geometric shapes: to the right you can see the unfolding of the Boy model, or view an animation. But even with modern software tools, a number of unsolved geometric problems remain.
Unfolding is the process of cutting a polyhedral surface along certain curves and then flattening the surface onto the plane, without overlaps and without distorting the individual faces. Edge unfolding, which is what we shall consider in this article, only allows cuts along edges, and not through the interiors of faces. Selfintersections are allowed during the unfolding process, but the final flattened surface must be free of overlaps.
Unfolding of a cube  view the animated version 
Origami, the Japanese art of paper folding, is the bestknown application of unfoldings  the word literally means "to fold a paper". There are many references on origami, for example, the website [15], but in this article we focus on the folding, or more precisely, on the unfolding, of polyhedral surfaces.
The art of paper folding: Origami  view the animated version 
Geometric Origami
Net of a dodecahedron
Albrecht Dürer [4] introduced the notion of a net of a polyhedral solid in one of his tutorial treatments. A net of a polyhedron is a collection of edges in the plane which are the unfolded edges of the solid. Dürer also provided explicit instructions on drawing nets  an example is the unfolding of a dodecahedron shown on the right.
Albrecht Dürer
Since Dürer's time, mathematicians have made intensive use of paper models to study geometric surfaces, in both education and research. For example, the Boy surface mentioned in the introduction can be understood much more easily when you have a paper model in your hands that you can turn and view from different directions. Being able to touch a model  in particular, being able to touch the regions you can't see  makes it much easier to understand a complicated geometric structure.
Unfoldings of Platonic and Archimedean solids are very wellknown. There are many folding kits which allow you to cut and fold paper models of polyhedra. Perhaps the largest collection of mathematical paper models was produced by Father Magnus Wenninger, a mathematician and priest at St. John's Abbey [5].
Dodecahedron with a different unfolding  view the animated version 
Unfoldings exist for many more polyhedral surfaces. For example, the torus shown below has a planar unfolding to a single component such that no two faces overlap. (For experts, this polyhedral torus is the Clifford torus obtained from a nonstandard parameterization using Hopf fibers in the 3sphere.)
The Clifford torus is generated by a family of circles. The torus unfolds nicely despite the negative curvature of the inner region  view the animated version 
The Császár torus is an embedded polyhedral torus (i.e. one without selfintersection) with the least number of vertices  view the animated version 
Now we are ready to understand an even more complicated unfolding. The Boy surface mentioned in the introduction is a model of the projective plane. One model of the projective plane can be obtained by taking the upper hemisphere of a ball and identifying opposite points of the equator. Alternatively, you can take a planar disk and pairwise identify opposite points on the boundary circle. Since these are topological constructions you can take any piece of the plane which is bounded by a single closed curve  such as the unfolding of the Boy surface.
The discrete Boy surface unfolds to a simply connected disk. Opposite vertices of the boundary are identified during refolding  see the animated version 
If you watch the refolding of the Boy surface very carefully, you can see how opposite points of the black boundary curve are matched pairwise. Therefore, the Boy surface is a polyhedral model of the projective plane. The special property of the polyhedral model shown (found by U. Brehm [1]) is that it uses the least number of vertices among all polyhedral models consisting of triangles.
How discrete curvature affects an unfolding
Curvature is a mathematical way of describing how much a surface "bends", or "curves" at each point. For example, a flat sheet of paper doesn't bend around any of its points and it therefore has zero curvature, but a round ball is positively curved at each point. Differential geometry uses calculus to derive different kinds of curvature for smooth surfaces, but curvature of polyhedral surfaces can be dealt with in a much more elementary way.
The world's most important solid. The soccer ball has positive curvature at each vertex  view the animated version 
The discrete Gauss curvature measures the bending of a polyhedral surface at each of its vertices. At each vertex we consider the angles formed on the adjacent faces at that corner. If the sum of these angles is exactly 360^{0} then the collection of faces can be flattened to the plane without a gap and without any overlap. Therefore, it has zero curvature. If the sum of the angles is smaller than 360^{0} then the situation is like at the tip of a cone, or at the corner of a convex polyhedron. Here the curvature should be positive since such a polyhedron is similar to a round ball. Negative curvature arises if the sum of the angles is bigger than 360^{0} which happens, for example, at a saddle point.
In general, the discrete Gauss curvature at a vertex is defined as the difference of 360^{0} and the sum of the angles between adjacent faces adjoining the vertex:
K(vertex) = 360^{0}  a_{1}  a_{2}  a_{3} ... a_{n},
where n is the number of faces adjoining the vertex, and a_{1},...,a_{n} are the angles on the faces.
The following image shows the three different types of vertices in the upper row and the unfolding of the vertex star, i.e. the set of faces meeting at a vertex, in the lower row. Because of the relation of spheres to positive curvature and of the hyperbolic space to negative curvature, we call the types of vertices spherical, Euclidean, and hyperbolic respectively.
There are two immediate consequences for the task of unfolding polyhedral surfaces:
 At each spherical vertex there must be at least one cut;
 At each hyperbolic vertex there must be at least two cuts which take off one or more faces during the unfolding. Check the interactive applet of unfolding a negatively curved vertex.
As a heuristic guideline we note that too much negative Gauss curvature may make unfolding impossible, since too many cuts would be necessary. For example, discrete minimal surfaces, such as the catenoid shown, may have negative Gauss curvature at each vertex. Here there is no unfolding to a single planar component but the algorithm finds an unfolding with four planar components.
The catenoid is a minimal surface with "too much" negative curvature. Therefore, the unfolding consists of more than one planar component  view the animated version 
When folding a paper model in Origami, the zero Gauss curvature of the original flat sheet of paper is preserved. Therefore, origami models have constant zero Gauss curvature at each interior vertex.
Is unfolding always possible?
In the words of The Open Problems Projects [8]:
Can every convex polyhedron be cut along its edges and unfolded flat to a single, nonoverlapping, simple polygon?
This question was raised in mathematics in [9] but in fact goes back to Dürer [4]. Several attempts, including software experiments, have been made to confirm or disprove this conjecture.
The spiky tetrahedron [10]
The (nonconvex) spiky tetrahedron [10] on the right cannot be unfolded without generating overlapping regions in the plane. This means that the word "convex" cannot be omitted from the conjecture. However, despite such examples, it is commonly believed that if you restrict yourself to looking at convex polygons, this question has a positive answer.
A star unfolding [14]
Another class of unfoldings, different from the edge unfoldings considered in this article, is obtained if you allow cuts not only along edges but also through the interior of faces. One such unfolding is the star unfolding with respect to a source point. This cuts the polyhedron along all the shortest paths from the source point to other vertices of the polyhedron; these paths usually go across the interiors of faces. It was shown by Aronov and O'Rourke [14] that the star unfolding is possible for every convex polyhedron.
Automatic unfolding
We have seen that there are surfaces such as the dodecahedron which have different unfoldings, and surfaces like the spiky tetrahedron which are not unfoldable to a single connected piece. Therefore, any automatic algorithm for finding unfoldings must impose additional constraints.
Unfolding a nonconvex shape such as this horse model requires an intensive numerical search  view the animated version 
Examples of such constraints are:
 Minimize the number of connected components of the unfolded polyhedron;
 Minimize the size of the bounding rectangle of the resulting polyhedron;
 Minimize the total length of the boundary of the resulting polygon;
 Avoid thin components and components with small area.
In practice, the automatic unfolding of arbitrary polyhedral surfaces mostly aims at ensuring that the unfolded mesh does not overlap. Nevertheless, it is surprising how many nonconvex surfaces can be unfolded to a single connected component, for example, the model of a horse shown above, or the polyhedral Venus torso shown below.
The Venus torso is a highly complex shape to unfold. Surprisingly, there exists an unfolding consisting of a single component  view the animated version 
Unfold and build your own paper models
Unfolding of Császár torus with JavaView's Unfolder applet. The splices make it easier to glue the paper model.
The Unfolder module, written by Klaus Hildebrandt, of the JavaView software allows the unfolding of all polyhedral surfaces. It tries to optimize the unfolding depending on several criteria, some of which were mentioned in a previous section.
Adding splices to the unfolded net simplifies the construction of a paper model. First unfold a surface with splices, then send the image to a printer and finally glue the folded paper model along the splices.
Sometimes it is more convenient to download the JavaView application and let the software run outside a web browser. This way it is easier to resize the window and you also have access to the local hard disk for saving and loading files.
Notes

K. Fukuda summarizes basic results and open problems related to the unfolding of polyhedra on his website [11].

A collection of open problems to do with unfolding polyhedra and, more generally, combinatorial geometry are discussed at the TOPP site managed by J. O'Rourke [8].

HyperGami is software for designing and building paper sculptures using polyhedra and custom variants of polyhedra. The program is available as commercial software from [12].

The Unfolder is a mathematical webservice of the JavaView project. You can unfold all your own geometries at [13].
Further Reading

U. Brehm, How to build minimal polyhedral models of the Boy surface. Math. Intelligencer 12(4):5156 (1990).

E.H. Tjaden, Paper Model of Brehm's Boy Surface. TUBerlin (1987), tjaden@tuberlin.de.

W. Schlickenrieder, Nets of Polyhedra. Diplomarbeit at TUBerlin (1997), schlicke@math.tuberlin.de.

A. Dürer, Unterweysung der Messung mit dem Zyrkel und Rychtscheyd. Nürnberg (1525).
English translation with commentary by Walter L. Strauss The Painter's Manual, New York (1977). 
Fr. M.J. Wenninger, Polyhedral Models. Cambridge University Press (1971).
http://employees.csbsju.edu/mwenninger/. 
A. Császár, A polyhedron without diagonals. Acta Sci. Math., Szeged 13:140142 (19491950).

F.H. Lutz, Császár Torus. Electronic Geometry Model No. 2001.02.069 (2001),
http://www.egmodels.de/2001.02.069. 
E.D. Demaine, J.S.B. Mitchell, J. O'Rourke, The Open Problems Projects. http://cs.smith.edu/~orourke/TOPP/Welcome.html.

G.C. Shephard, Convex Polytopes with Convex Nets. Math. Proc. Camb. Phil. Soc., 78:389403 (1975).

M. Bern, E. D. Demaine, D. Eppstein, E. Kuo, A. Mantler, and J. Snoeyink,
Ununfoldable polyhedra with convex faces. Comput. Geom. Theory Appl., 24 (2):5162 (2003). 
K. Fukuda, Strange Unfoldings of Convex Polytopes. ETH Zürich (1997).
http://www.ifor.math.ethz.ch/staff/fukuda/
unfold_home/unfold_open.html 
M. and E. Eisenberg, HyperGami and JavaGami. Univ. of Colorado, Boulder.
http://www.cs.colorado.edu/~ctg/projects/hypergami/. 
K. Hildebrandt, K. Polthier, The Unfolder  Unfolding Polyhedral Meshes. JavaView Webservice (2003).
http://www.javaview.de/services/unfold/. 
B. Aronov, J. O'Rourke, Nonoverlap of the star unfolding. Discrete Comput. Geom., 8:219250 (1992).

J. Wu, Origami. http://www.origami.vancouver.bc.ca/home.html.
About this article
Konrad Polthier is a researcher at the Technical University in Berlin and scientist in charge of "Visualization" at the DFG Research Center "Mathematics for key technologies". His interests are in discrete differential geometry and mathematical visualization. He has published research books and has authored calendars and awardwinning mathematics videos: for more details visit his web page.
Images, animations and applets on this page were produced with JavaView software.
Comments
Correction to Fukuda reference
"Strange Unfoldings of Convex Polytopes," by K Fukuda, can now be found at
http://www.inf.ethz.ch/personal/fukudak/unfold_home/unfold_open.html.