Keenan Crane

COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK

Spin Transformations of Discrete Surfaces

SIGGRAPH 2011 / ACM Transactions on Graphics

This paper introduces a new method for computing conformal transformations of triangle meshes in *R*^{3}. Conformal maps are desirable in digital geometry processing because they do not exhibit *shear*, and therefore preserve texture fidelity as well as the quality of the mesh itself. Traditional discretizations consider maps into the complex plane, which are useful only for problems such as surface parameterization and planar shape deformation where the target surface is flat. We instead consider maps into the *quaternions*, which allows us to work directly with surfaces sitting in *R*^{3}. In particular, we introduce a *quaternionic Dirac operator* and use it to develop a novel integrability condition on conformal deformations. Our discretization of this condition results in a sparse linear system that is simple to build and can be used to efficiently edit surfaces by manipulating curvature and boundary data, as demonstrated via several mesh processing applications.

Presentation

Supplemental

Fast Forward

The authors thank Mirela Ben-Chen and Fabian Aiteanu for comparison data, Fernando de Goes for his Green Coordinates implementation, and Jessica Pfeilsticker for illuminating discussions on spin dynamics. Example meshes are courtesy of Autodesk, Luxology, 3D Universe, David Bommes, and Chris Legasse; cat clip art was created by Jon Phillips and Gerald Ganson. This research was partially funded by a Google PhD Fellowship, the Center for the Mathematics of Information at Caltech, the IAS at TU München, DFG Research Center Matheon, DFG Research Unit Polyhedral Surfaces and BMBF project GEOMEC.

@article{Crane:2011:STD,
author = {Crane, Keenan and Pinkall, Ulrich and Schr\"{o}der, Peter},
title = {Spin Transformations of Discrete Surfaces},
journal = {ACM Trans. Graph.},
volume = {30},
issue = {4},
year = {2011},
publisher = {ACM},
address = {New York, NY, USA},
}

Source

Executable

C++/Simple— | no external dependencies whatsoever; written in strict ISO C++. |

C++/OpenGL— | adds visualization via OpenGL/GLUT. |

C++/Fast — | adds visualization and replaces basic linear solver with CHOLMOD, but significantly more difficult to build/link. |

MATLAB — | port to MATLAB courtesy of Jan Hakenberg. |

CUDA — | a GPU-accelerated version written by Nikos Yiotis. |

MacOS X— | fast |

MacOS X (Lion)— | slower |

Windows— | slower |

Figures