|
|
|
a. face.m
|
b. face.uv.m
|
c. face.pos.m
|
Algorithm Description
Using Ricci flow method to map a poly-annulus mesh to the planar disk with circular holes. The centers of the holes and the radii
of the holes are determined by the geometry of the input mesh, therefore, they are conformal invariants of the shape.
Input and output
If the input mesh is a topological disk with multiple holes as shown in the figure, the only input is
- a genus zero mesh with several boundaries, e.g. face.nf50k.m
- user specify which boundary is mapped to the exterior boundary of the plannar polyannulus, which other boundaries
are mapped to the inner boundaries of the planar polyannulus.
The output is
- The mesh with uv coordinates determined by the target flat metric, e.g.face.uv.m
The output is
- The mesh with uv coordinates determined by the target flat metric, e.g.face.uv.m.
Command
For face mesh
PolyAnnulusEuclideanRicciFlow.exe face.m face.uv.m
Target Curvature
User needs to choose one boundary to map to the outer boundary of the plannar multi-holed annulus.
Convergence and Stability
The stability is mainly determined by the connectivity of the mesh. In theory, if the target curvature
is outside the admissible curvature space of the mesh, then the program will terminate abnormally. In order to ensure
the target curvature to be admissible, the following hints are useful:
- The number of faces attaching to a vertex is called the vertex valence. The vertex valence should be greater than
2(2PI-K)/PI, where K is the target curvature.
- Special attention needs to be paid to boundary vertices. Remove all valence 1 boundary vertices.
Example
The input face mesh has 50k faces.
The data set and the source can be downloaded.