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