Angle-based flattening. Basic idea: Every interior vertex of a flattened mesh must have a sum of angles equal to 2 pi. Does not fold (although it may overlap).

• No boundary constraints needed.
• Compute optimal angles for each angle - for the vertices around an interior node, normalize the angles so they sum to 2 pi. For boundary vertices, the original mesh angles are used.
• Note that the solution to the optimization is a set of angles - the node positions are computed from there.
• Optimize for difference from optimal angle, weighted. The weights are 1/optimal squared.
• There must be no zero angles/collapsed corners.
• For a valid solution we have:
• All angles are positive, and bigger than some epsilon. [This is actually maintained by adjusting the weights, if an angle gets too small.]
• The angles of a triangle sum to pi.
• The angles around a vertex sum to 2pi.
• If you follow the angles around a vertex, building a wheel, you end up at the same distance out has you started. This is expressed as the product of the sines of the angles.
• Optimization solved by Newton's method, problem formulated as a Lagrange multiplier one.
• Overlaps are "fixed" by finding a pair of offending edges and making them parallel. No guarantees here.
• Contains a proof of the validity of the algorithm.
• Alla Sheffer, Eric de Sturler, Angle Based Flattening of Tesselated Surfaces, SIAM Conference on Geometric Design and Computing, 2001, invited.
• Paper. A. Sheffer, E. de Sturler, Parameterization of CAD Surfaces for Meshing by Triangulation Flattening. Proc. 7th International Conference on Numerical Grid Generation in Computational Field Simulation, 699-708, 2000.
• A. Sheffer, E. de Sturler, Surface Parameterization for Meshing by Triangulation Flattening. Proc. 9th International Meshing Roundtable, 161-172, 2000. Journal version (EWC) listed above.
• A. Sheffer and E. de Sturler, Parameterization of Faceted Surfaces for Meshing Using Angle Based Flattening, Engineering with Computers, 17 (3), 326-337, 2001.