Skip to content

Implementation of the SIGGRAPH Asia 2016 paper, "Hyperbolic Orbifold Tutte Embeddings"

Notifications You must be signed in to change notification settings

noamaig/hyperbolic_orbifolds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hyperbolic Orbifold Tutte Embeddings

Matlab code implementing the Siggraph Asia 2016 paper, "Hyperbolic Orbifold Tutte Embeddings".

An extension of Tutte's embedding to hyperbolic domains, namely hyperbolic orbifolds which enable seamless parameterization and mapping.

Example scripts:

  • example_embed_mesh_sphere - map a spherical mesh to a hyperbolic orbifold.
  • example_embed_mesh_disk - map a disk mesh to a hyperbolic orbifold.
  • example_map - map meshes to one another by embedding both into the same hyperbolic orbifold.

Main classes:

  • flattener - the object used to compute the embedding.
  • mapper - object that takes a bunch of flatteners and computes the mapping induced by them.

Please note the optimization scheme used in this implementation is more advanced than in the original paper, as it uses L-BFGS optimization with Laplacian preconditioning in the spirit of "Accelerated quadratic proxy for geometric optimization". For additional details, see appendix B in "Spherical orbifold Tutte embeddings" wherein the same implementation was used.

The code is provided as-is for academic use only and without any guarantees. Please contact the author to report any bugs. Written by Noam Aigerman and Shahar Kovalsky.