Keenan Crane
Email
Phone (502) 821-3239
Mail MC 256-80 
California Institute of Technology
1200 E California Blvd
Pasadena, CA 91125
Calendar
Home Images Misc. Projects Publications CV Links
 
Digital Geometry Processing

During Michael Garland's geometry processing class I developed a small mesh processing library from scratch in C++ - some results are shown below.

Fast Isotropic Remeshing using Penrose Tiling

Remeshing can be used to improve mesh element quality for simulation or to redistribute surface detail with respect to, e.g., curvature. Below are some images of original meshes and their remeshes. I made one significant modification to the original method of Alliez et al by replacing the iterative Lloyd relaxation used to generate new samples with the importance sampling method of Ostromoukhov et al. Ostromoukhov's method was originally intended to speed up sample generation for rendering, but the same technique can be applied to remeshing (which also requires a set of samples with blue noise properties distributed with respect to a known distribution). Using this method, I was able to speed up the process substantially. Specifically, I was able to remesh a 24k vertex bust of Ajax to 50k vertices in 42 seconds on a 1.5 GHz G4, vs the original method's 26 minutes on a 1 GHz Pentium III for a similarly sized head of David. (I had trouble producing a manifold version of David's head.) The distribution of triangle sizes produced by the Penrose tiling displays some anisotropy (notice "bright spots" in rightmost image below), but overall seems like a worthwhile tradeoff.

Update: Some colleagues from UIUC used this modification in a recent paper... to show how superior their method is! Check out some anisotropic remeshing results here.

Example models:


Original bust of Ajax (left) and uniform resampling at various resolutions.


The Stanford Bunny strikes again.

Conformal Parameterization


Linear DCP preserves angles well but can result in extremely high distortion.
The movies below show conformal mappings between the unit disk and the Stanford Bunny (right) or "Jerry the Ogre" (left).
Jerry
Bunny
By mapping the boundary to a square instead of a circle, we can produce a geometry image of the mesh. Distortion in most of the linear parameterizations produced poor quality remeshes, but the ogre turned out reasonably well (click below for a larger image).

Source for a simple command line tool assigning a linear parameterization to the vertices of a (disk-homeomorphic) mesh can be found here: parameterize.tar.gz


854 x 854 Geometry Image (uncompressed PNG)
jerry_gi.obj (Wavefront OBJ)

Homotopy, Homology, and Cut Graphs

For a final project I added some computational topology tools to my mesh library - see this page for more details.

 

Most of this content is probably copyright 1984-2005 Keenan Crane.   Spam bots: please send spam to l22sk2_2xf1t4@hotmail.com.