Skip to content

cfwen/universal-covering-space

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Universal Covering Space

Compute universal covering space for closed surfaces of genus >= 1. Universal covering space is very useful for theoretic argument and algorithm design. Some problems become trivial on universal covering space, such as find geodesic loops.

Algorithm Summary:

  • compute uniformization metric using Ricci flow
  • compute homotopy basis (in fact any cut graph that cuts surface into simplied-connected would be acceptable, but currently only homotopy basis supported)
  • slice surface open to obtain base domain
  • embed base domain onto Euclidean plane or Poincare disk
  • generate universal covering space by gluing copies of base domain under deck transformation

Example:

Below is a genus 2 surface and a homotopy basis on it (red loops)

alt text

Below left is the base domain embedded onto Poincare disk, right is generated universal covering space.

alt text

See demo.m for detailed steps to obtain these pictures.

Dependency:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published