Thurston's Jewel

by Jeffrey Brock and David Dumas

opqaue convex hull transparent convex hull
  Click on either image above for a larger version.

These images show the convex hull of the limit set of a Kleinian group, pictured in front of a page from the lecture notes of William Thurston's 1978 course The Geometry and Topology of Three-Manifolds.

This Kleinian group is free on two generators, giving a hyperbolic structure on a genus-2 handlebody with two rank-1 cusps along curves on the boundary surface. The particular hyperbolic structure shown here corresponds to a critical point of Thurston's skinning map. (The existence of such a critical point was established by Jonah Gaster.)

These renderings were created for the frontispiece of the second edition of Outer Circles: An Introduction to Hyperbolic 3-Manifolds by Albert Marden (Cambridge University Press).

For another image in a similar spirit, see “Bug on notes of Thurston”.

Computation and rendering

The following procedure was used to create the images:
  1. Locate the skinning map critical point by searching for a tangency between a Bers slice and the algebraic variety of type-preserving representations of the four-punctured sphere which are restrictions of representations of the 3-manifold group.
    • The implementation of this step was based cp1, a new python library for computations with complex projective structures.
    • Earlier experiments of Kent and Dumas exploring the skinning map of this manifold used code from Bear in a similar way.
  2. Compute generators for the associated Kleinian group and a set of generating support planes for the convex hull boundary
    • The bending lamination for the convex core of this hyperbolic structure is determined in Lemma 7.1 of Gaster's paper. This allows a generating set of support planes to be determined explicitly.
  3. Compute the orbit of the support planes under the group using Curt McMullen's program lim.
  4. Convert the circle orbits to a collection of spheres in R3 representing the support planes in the ball model of hyperbolic space.
  5. Create a POV-Ray scene file to show the convex hull by taking the difference of the unit ball and the balls bounded by spheres representing the support planes.
  6. Apply textures (refraction, reflection, colors, etc.) and integrate the background image into the scene file.
  7. Render rectangular tiles of the image, distributed across several computers.
    • The final rendering required a total of 1425 CPU-hours.
  8. Combine the tiles using graphicsmagick command-line tools.


Back to the home page of David Dumas