# Inside the Thurston Geometries

In three dimensions, there are eight important homogeneous geometries.
Named after Thurston (their importance arises from their occurance in his Geometrization Conjecture), these geometries include the three constant curvature spaces $\mathbb{H}^3,\mathbb{S}^3,\mathbb{E}^3$, the product spaces $\mathbb{H}^2\times\mathbb{R},\mathbb{S}^2\times\mathbb{R}$, and three additional geometries $\mathsf{Nil},\mathsf{Solv}$ and $\mathsf{SL}_2(\mathbb{R})$.
The project below documents our most current work on producing geometrically correct, real time virtual reality renderings of the intrinsic geometry of these eight worlds.
This work is the continuation of a long line of projects, beginning with renders using the inverse exponential map.
This portion includes
original work of Henry Segerman, Vi Hart and Andrea Hawksley and myself, Kenny Kim and Dennis Adderton visualizing constant curvature spaxes via the inverse exponential map, and further work of Segerman, Hart, Hawksley together with Sabetta Matsumoto extending this to $\mathbb{H}^2\times\mathbb{R}$.
The modern incarnation, based on raymarching comes from work of Segerman and Michael Woodard on $\mathbb{H}^3$, and their collaboration with Roice Nelson on an original version of $\mathbb{S}^3$ and $\mathbb{E}^3$.

## Seeing in Other Geometries

Understanding what it would be like to live in a different geometry requries first thinking carefully about what it means to *see*.
In reality, light from a lightsoruce travels along straight lines (geodesics) until it hits an object, and we see that object if the light then is not absorbed, but rather bounces off (angle of incidence equals angle of reflection) and travels along another geodesic to our eye, where it is focused onto a sort of screen: our retina.
Thus, if we are able to model quickly and accurately movement along geodesics in a space, we can make accurate visuals of what it would look like, if we were actually in that space.
GPU processing allows these computations to run massively in parallel, for each pixel, and provides real time rendering capability.