Computational Conformal Geometry Library - CCGL
CCGL logo

Introduction

Getting CCGL
    Download
    Installation


Development Guide
    Architecture
    Performance


Gallery
    Snapshots
    Movies

Mesh Data Structure
    Viewer

Topology
    Cut Graph
    Slicer
    Double Cover
    Homology Basis

Conformal Maps
    Harmonic Map
    Spherical Harmonic Map
    LSCM

Holomorphic 1-Form
    Integration
    Harmonic 1-Form
    Holomorphic 1-Form
    Slit Map

Curvature Flow
    Euclidean Ricci Flow
    Poly Annulus Ricci Flow
    Hyperbolic Ricci Flow
    Yamabe Flow

Documentation
    Reference Book

Acknowledgements
Euclidean Ricci Flow for Poly Annullus

heads
heads
heads
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.