Keenan Crane
COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK
Spin Transformations of Discrete Surfaces
SIGGRAPH 2011 / ACM Transactions on Graphics
Keenan Crane Ulrich Pinkall Peter Schröder
Caltech TU Berlin Caltech
teaser
This paper introduces a new method for computing conformal transformations of triangle meshes in R3. 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 R3. 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.
preview
PDF, 26MB
Presentation
Supplemental
Errata (last updated: August 2011)
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
C++/Simpleno external dependencies whatsoever; written in strict ISO C++.
C++/OpenGLadds visualization via OpenGL/GLUT.
C++/Fastadds visualization and replaces basic linear solver with CHOLMOD, but significantly more difficult to build/link.
MATLABport to MATLAB courtesy of Jan Hakenberg.
CUDAa GPU-accelerated version written by Nikos Yiotis.
Executable
MacOS Xfast
MacOS X (Lion)slower
Windowsslower
Example meshes from paper figures.
Includes original meshes and their spin transformations.
data
Wavefront OBJ, 250MB
Figures
figure1
Left: even for modest displacements, simple normal offsets can severely distort texture. Right: using a spin transformation to apply displacement prevents distortion.
figure2
Given an initial surface and desired change in curvature (left) we construct a new surface conformally equivalent to the first one (right). Here green and purple indicate a positive and negative change in curvature, respectively.
figure3
Top left: the man in the moon is sculpted by ``painting'' a scalar function (inset) onto a disk. Applying standard image filters to this function achieves a variety of effects while preserving a conformal map to the original disk. Top right: low-pass filter. Bottom left: high-pass filter. Bottom right: unsharp mask.
figure4
Spin transformations can be used to compute minimal surfaces in two distinct ways. Top: starting with a curved surface (left) we remove all mean curvature (right). Bottom: starting with a flat surface (left) we prescribe new tangent directions along the boundary without changing mean curvature (right). In both cases the surface is computed directly without an iterative flow.
figure5
On the sphere, eigenfunctions of the Dirac operator correspond to relativistic wave functions of an electron orbiting an atomic nucleus, here visualized for the first time.
figure6
Giraffe attempts ballet: a textured mesh (left) can be modified arbitrarily and projected onto the nearest conformally equivalent surface (middle), preserving texture fidelity. We can also explicitly modify scale without disturbing texture -- on the right we ask for a much larger head.
figure7
The boundary of a surface (left) can be modified without disrupting texture or geometric detail (right).