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.