Ray-marching simulations of Thurston geometries

Date started: January 2018
Leads: Sabetta Matsumoto, Henry Segerman


Ray-marching is a technique for producing computer graphics similar to ray-tracing: for each pixel we cast rays out into the world, and decide how to colour the pixel based on what the ray hits. While ray-tracing requires us to solve for intersections between the ray and objects in the world, ray-marching works by querying a signed distance function– for each point in space this returns the radius of the largest sphere centered at the point that does not intersect the objects in the space. This information tells us how to march along the ray without hitting any objects. We have already implemented a virtual reality simulation of three-dimensional hyperbolic space H^3 with ray-marching, available at http://michaelwoodard.net/hypVR-Ray/, and before that polygon rastering simulations of H^3 and H^2 \times E, available at http://h3.hypernom.com and http://h2xe.hypernom.com. Our plan is to extend the ray-marching technique to other Thurston geometries.


{3,5,3} tiling of hyperbolic space, made with geodesic cylinders
{4,3,7} tiling of hyperbolic space, made with spheres and geodesic planes