Non-Euclidean Virtual Reality IV: Sol
Year: 2020 Authors: Remi Coulon; Elisabetta A. Matsumoto; Henry Segerman; Steve Trettel
Core claim
VR ray-tracing in Sol can make its geodesics, spheres, and planes legible to users through interactive intrinsic visualization.
Topics
Sol geometry, virtual reality, geodesic visualization, intrinsic rendering
Domains
Riemannian geometry, Lie groups, geodesic flow, Thurston geometrization, data visualization, scientific visualization, interactive media, 3D printing
Methods
geodesic ray tracing, intrinsic simulation, VR headset exploration, 3D printed models
Media
virtual reality headset, 3D printed spheres, software simulation, screen-based rendering
Paper text
The text below is the locally extracted OCR/Markdown version of the paper. Raw PDF files remain local and are not published here.
Bridges 2020 Conference Proceedings
Non-Euclidean Virtual Reality IV: Sol
Remi Coulon , Elisabetta A. Matsumoto , Henry Segerman , Steve Trettel
Univ Rennes, CNRS, France; remi.coulon@univ-rennes1.fr
Oklahoma State University; henry@segerman.org
Georgia Institute of Technology; sabetta@gatech.edu
Stanford University; trettel@stanford.edu
Abstract
This article presents virtual reality software designed to explore the Sol geometry. The simulation is available on 3-dimensional.space/sol.
Figure 1: Intrinsic view of a Sol manifold built as a torus bundle over the circle with Anosov monodromy.
Geometrization (conjectured by Thurston, proved by Perleman) states that every closed three-dimensional manifold can be decomposed into elementary “building blocks” each of which is modeled onto a specific geometry. There are eight such models: , , , , , Nil, Sol, and the universal cover of . We developed virtual reality software whose aim is to simulate these eight geometries. We populate each of these metric spaces with various objects (spheres, planes, cylinders, lights, lattices, etc.) and compute what an observer would see if light follows the geodesics of . Using a virtual reality headset, the user can walk in these spaces and experience their surprising properties. This paper presents an expository account of Sol geometry, and stems from a larger project to develop accurate, real time, intrinsic, and mathematically useful illustrations of homogeneous (pseudo)-riemannian spaces.
Sol Geometry
Definition and metric. There are various ways to describe Sol geometry. Let us give one that we will call the extrinsic model. It is a Lie group whose underlying space is with the group law given by
Coulon et al.
The identity element is the point which we choose as the origin of the space. Algebraically it is an extension of by , and is therefore a solvable group, hence the name of the geometry. The space is endowed with a riemannian metric. The metric tensor at an arbitrary point is given by
With this metric, the action of on itself is an action by isometries. In contrast to other geometries for which the underlying space is a group, has only finitely many more symmetries. These correspond to the stabilizer of the origin; it acts by a collection of rotations and reflections preserving the union of the - and -axes.
Geodesic flow. In order to compute the trajectory of the light rays in Sol, we need a parametrization of its geodesics. Using standard tools of riemannian geometry, one can prove that any curve is a geodesic if and only if satisfies the following differential equations
This system can be explicitly solved using Jacobi’s elliptic functions and Jacobi’s zeta function [12]. Nevertheless the explicit formulas are not particularly enlightening. Instead, in the next sections we explore a few interesting features of the Sol geometry.
Figure 2: Geodesics (for the Sol metric) starting at the origin in the extrinsic model.
Shape of the Spheres. Spheres in Sol are quite surprising [2]. To interpret their shapes one needs to keep the following observation in mind. Let be a point in , with z > 0 and a geodesic from the origin to . Assume that one wants to extend the path to move further away from . Increasing the -coordinate by will move us by a distance of (in the Sol metric). On the other hand, increasing by the -coordinate will move us by a much larger distance, namely . Hence the upper part of the sphere (for z > 0 ) has a tendency to stretch along the -axis, see Figure 3. The spheres exhibit the -symmetry (where is the dihedral group of order 8 and the stabilizer of the origin). Hence the lower part of the sphere is stretched along the -axis.
Exploration through Virtual Reality
So far, we have reviewed the geometry of Sol extrinsically, e.g. by referencing a model . We now explain what an observer living in a “Sol world” would see (the intrinsic point of view). To see in Sol, we
Non-Euclidean Virtual Reality IV: Sol
Figure 3: 3D printed models of geodesic spheres in Sol in the extrinsic model. These models were a helpful tool to interpret the simulations described below. Photo: © Edmund Harris
imagine our retina (or camera) as a small screen in the tangent space, and the image we see on the screen is given by tracing out along geodesics into the world, until they hit an object.
Hyperbolic foliation and horizontal planes. The Sol geometry has several remarkable two-dimensional subspaces. Given , the planes and are totally geodesic subspaces of Sol, which are isometric to the standard hyperbolic plane . On the other hand, each plane is endowed with a distorted euclidean metric whose unit circle is an ellipse. However it is not totally geodesic. More precisely, the only geodesics contained in the plane are and . This leads to some puzzling features.
Imagine that an observer stands in a hot-air balloon looking straight downwards (along the -axis) at the ground (the -plane). As the balloon rises up, the plane appears as though it is “rolled into a tube” instead of extending infinitely far in all directions. See Figure 4 (in the simulation, the plane has been tiled by small circles to give a sense of scale).
Figure 4: Walking away from the -plane in Sol along the -axis at varying distances (Watch https://vimeo.com/386630294).
Recall that as we are tracing our lines of sight along Sol geodesics, black points in the image correspond to directions for which the associated geodesics never reach the -plane! Figure 5 shows a cluster of geodesics starting above the -plane. Their tangent vectors all point downwards close to the -axis. Some of them, make a “u-turn” and head away in the other direction. Those rays correspond to the dark area in the intrinsic view. Another curious feature appears if the observer, still located above the -plane, looks through the holes of the circular tilling of the -plane. It seems that there is something behind the plane, see Figure 6. Indeed, as shown on Figure 5, some of the geodesic rays pointing downwards first hit the -plane, make a “u-turn”, then hit the -plane again. Thus, the light gray balls pictured in Figure 6 correspond to the back side of the -plane. Imagine now that the observer flies downwards through the -plane. If their -coordinate becomes negative, i.e. if the -plane is behind them, they will see the back side of the
Coulon et al.
Figure 5: A cluster of geodesics whose tangent vectors at time 0 have negative dot product with in the extrinsic model. Green rays hit the plane, red rays do not.
xy-plane in front of them! See Figure 6c. This is caused again by the tendency of some geodesics to make a “u-turn”.
For more confusing pictures, imagine that the observer stands at the origin “sandwiched” between two planes and . The foreground plane appears as a rolled up tube, while the plane behind takes up a large fraction of the observer’s forward-looking field of view, as above in Figure 6c. Moving around between these planes offers a variety of interesting perspectives, see Figure 7. In particular, when oriented the correct way, the foreground plane (the light one on Figures 7b and 7c) may obscure the ‘vanishing line’ (which is visible as a vertical line in the middle of Figure 7a) of the background plane, giving the illusion that it is actually toroidal in shape.
(a)
(b)
Figure 6: Walking forward through a plane in Sol. (a) About to pass through the plane. (b) Passing through the plane, the backside is visible through the hole. (c) After passing through, the backside of the plane still appears “in front”. (Watch https://vimeo.com/388598239)
(c)
Inside Compact Sol Manifolds
The Lie group admits several uniform lattices. A uniform lattice is a discrete subgroup whose corresponding quotient is compact. An example of such a lattice is the subgroup generated by
and where is the golden ratio.
Non-Euclidean Virtual Reality IV: Sol
(a)
(b)
Figure 7: Confusing views when sandwiched between two planes in Sol. (a) Plane behind your head is visible in front of you, when you are standing at the origin and looking above. (b) Drawing both the plane behind you and the plane ahead of you. (c) A new perspective on the two planes. (Watch https://vimeo.com/388610245)
(c)
The corresponding manifold is an example of one of the building blocks arising in Thurston’s geometrization. It has another interpretation, as follows. Consider the matrix
The action of on preserves the integer points, i.e. . Hence induces a homomorphism of the two-dimensional torus (more precisely an Anosov homomorphism) see Figure 8. The mapping torus of by , denoted by , is the quotient of by the equivalence relation
which identifies each point with . We claim that is homeomorphic to .
Figure 8: The effect of an Anosov map on the torus.
(a)
(b)
Figure 9: A lattice in Sol. (a) Looking in the direction (mapping torus direction). (b) Looking in direction of axis in Sol, and (c) the direction . (Watch https://vimeo.com/388610289)
(c)
Let us give a glimpse of this identification. The action of on stretches/compresses the plane in the direction of its eigenvectors. Identifying these with the - and -axes in Sol shows the tori to be the quotients of horizontal planes by the translations below
These translations correspond to the elements and given above. By construction, the matrix is diagonal in the coordinates. Hence the map sends to which corresponds to the action of .
Coulon et al.
(a)
(b)
(c)
Figure 10: Inside the Sol manifold with fundamental group described above. (a) Looking in the direction. (b) Looking in direction of axis in Sol, and (c) the direction . (Watch https://vimeo.com/386628225)
We may use our technique - rendering images by tracing light rays outward from each pixel along geodesics - to visualize the interior of . Nevertheless, since is compact, any light ray “wraps around” the space many times. Consequently an inhabitant of could see infinitely many copies of the same object. Figure 9 shows several inner views of , which we populated with a single ball. Equivalently, it can be understood as a view of Sol where we positioned a ball at every lattice point , for .
Figure 10 shows another point of view of the lattice . We join by a “pillar/beam” any two points in such that for some . These pillars stake out a fundamental domain of the action of on and its translates. Alternatively the picture can be interpreted as follows. Let be the image in of the origin of . The lattice is also the fundamental group of the quotient . In particular, each is represented by a simple closed curve based at . Figure 10 shows what an observer living in sees if we thicken the curves into tubes.
Implementation Details
We built our virtual reality Sol-simulator by adapting the technique of ray-marching to non-euclidean homogeneous spaces. This differs from previous work of the authors [5, 6] which computes intrinsic views by pulling objects back to the tangent space via partial inverses of the riemannian exponential map. Such a method cannot easily be applied for Sol, as the exponential map is far from being one-to-one. In contrast, ray-marching, much like ray-tracing, works by flowing outwards from the screen along geodesics into the scene, and upon intersecting an object computing the color of the relevant pixel using material properties of that object, and the location / direction of light sources. The precise implementation details are the subject of a forthcoming paper, and the code (currently a work in progress) is available on GitHub [3]. Other simulations of Sol geometry include the work of Berger [1], ZenoRogue [7] (both inverse-exponential and ray-tracing implementations) and MagmaMcFry [8] (ray-marching).
Producing a fixed image. Imagine that the observer stays at a fixed position in Sol without moving or rotating. In order to compute the image she would see, we require a few geometric ingredients: a means of computing the geodesic flow in , and a signed distance function measuring the distance in from each point to the nearest object in the scene (this tells us how far we can safely flow along a geodesic without hitting
an object). As mentioned above, the geodesic flow in Sol can be solved explicitly using Jacobi’s elliptic/zeta functions [12]. Note that since Sol has no continuous symmetries fixing the origin , it is not possible to reduce the dimension of the problem.
Distance functions are extremely difficult to compute explicitly in Sol. This comes from the fact that many geodesics do not globally minimize distance. Moreover the form of the geodesic flow is complicated. Nevertheless, the distance function to a plane is rather easy: as the vertical geodesics are minimizing, the signed distance from the point to the -plane is simply the -coordinate. This allows us to accurately render planes of this form in Sol. Other objects are rendered using a “fake distance function” which approximates the true distance.
Moving in the Space. Imagine now that the observer wants to walk and explore the space around her. In order to render the image she would see, we need a way to compute her position and facing. We decided that a straight displacement (if the user holds down the forward key) should move the observer along the geodesic whose tangent vector is given by the direction she is looking, while her orientation around the geodesic is updated using parallel transport. In contrast to isotropic spaces (such as the euclidean space) there is no 1-parameter group of isometries realizing both displacement and the parallel transport. Hence if the observer is not infinitesimal, she will get “distorted” during this motion.
In our software, we encode the displacement using elements of Sol (recall that Sol acts freely transitively on itself by isometries). As for the parallel transport operator, we use an idea explored by Grayson [4]. Let be a geodesic starting at the origin . The parallel transport from to along is an isometry . To avoid any confusion we denote by the element of Sol (seen as an isometry of ) sending the origin to . This can be used to pull back the parallel transport to the tangent space at the origin. More precisely we focus on the operator of defined by . Identifying with , the operator is a matrix in SO(3) satisfying
[ \dot{Q}+BQ=0,\quad\text{with}\quad B=\left(\begin{array}[]{ccc}0&0&-u_{x}\ 0&0&u_{y}\ u_{x}&-u_{y}&0\end{array}\right), ]
where is defined by . In practice, all computations here are made with the Runge-Kutta method.
Quotient Manifolds. To ray-march in the Sol manifold depicted above, we identify with a fundamental domain for the action of on . We defined an algorithm, so that every time a light ray escapes it is “teleported” back into using an element of . In this way the orbits of our flow in map to geodesics in . In the extrinsic model of Sol, the fundamental domain has the form , where is a fundamental domain for the action of the translations and on , see Equation (2). The “teleportation” works as follows. Assume that the point does not belong to . Translating by a suitable power of we can make sure that belongs . Then, in either order (as they commute) we iteratively apply and (which do not affect ) until the point has been brought back into .
3.3 Summary and Future Work
In summary, this project has produced a real-time, intrinsic and geometrically correct rendering engine for Sol geometry and its compact quotients, that has the ability to take movement input from either a keyboard or headset, and has the ability to render images from two viewpoints simultaneously (for stereoscopic vision). However, this is still very much a work in progress. The list of features still under development include
-
a good approximation of the Sol distance function to a point, in order to render intrinsic geodesic spheres,
-
tracking down and cleaning up the sources of noise in the numerical approximation to Jacobi functions required for the geodesic flow,
-
computational speedup to allow real-time rendering in high-definition, and
-
given two points , a procedure for calculating the tangent vectors at which correspond to geodesics reaching (for accurate lighting considerations).
Acknowledgements
This material is based upon work supported by the National Science Foundation under Grant No. DMS-1439786 while the authors were in residence at the ICERM in Providence, RI, during the semester program Illustrating Mathematics. We are thankful to Brian Day in getting things synched up with the virtual reality headsets. We are additionally grateful to many others at ICERM for interesting conversations about Sol geometry, including Rich Schwartz, Matei Coiculescu and Jason Manning. The first author acknowledges support from the Agence Nationale de la Recherche under Grant Dagger ANR-16-CE40-0006-01 as well as the Centre Henri Lebesgue ANR-11-LABX-0020-01. The second author is grateful to support from the National Science Foundation DMR-1847172. The third author was supported in part by National Science Foundation grant DMS-1708239. This project is indebted to a long history of previous work. It is a direct descendant of the hyperbolic ray-marching program created by Nelson, Segerman, and Woodard [9], which itself was inspired by previous work in and by Hart, Hawksley, Matsumoto, and Segerman [5, 6], all of which aim to expand upon the excellent work of Weeks in Curved Spaces [13] which in turn is a descendant of work by Gunn, Levy and Phillips [10, 11].
References
- [1] P. Berger. “Espaces Imaginaires.” 2015. http://espaces-imaginaires.fr.
- [2] M. P. Coiculescu and R. E. Schwartz. “The spheres of Sol, 2019”. Preprint. ArXiv 1911.04003.
- [3] R. Coulon, E.A. Matsumoto, H. Segerman, S. Trettel. “Non-euclidean VR”. https://github.com/henryseg/non-euclidean_VR.
- [4] M. A. Grayson. “Geometry and growth in three dimensions”. ProQuest LLC, Ann Arbor, MI, 1983. Thesis (Ph.D.)–Princeton University.
- [5] V. Hart and A. Hawksley and E. Matsumoto and H. Segerman. “Non-euclidean virtual reality I: explorations of .” Proceedings of Bridges, Waterloo, Ontario, Canada, 27–31 July 2017, pp. 33–40. http://archive.bridgesmathart.org/2017/bridges2017-33.html.
- [6] V. Hart and A. Hawksley and E. Matsumoto and H. Segerman. “Non-euclidean virtual reality II: explorations of .” Proceedings of Bridges, Waterloo, Ontario, Canada, 27–31 July 2017, pp. 41–48. http://archive.bridgesmathart.org/2017/bridges2017-41.html.
- [7] E. Kopczynski and D, Celinska. “HyperRogue: Thurston Geometries.” http://zenorogue.blogspot.com/2019/09/hyperrogue-112-thurston-geometries-free.html.
- [8] MagmaMcFry “SolvView.” https://github.com/MagmaMcFry/SolvView.
- [9] R. Nelson and H. Segerman and M. Woodard. “hypVR-Ray. 2018.” https://github.com/mtwoodard/hypVR-Ray.
- [10] M. Phillips and C. Gunn, “Visualizing Hyperbolic Space: Unusual Uses of 4x4 Matrices.” Proc. 1992 Symp. Interactive 3D Graphics, ACM Press, New York, 1992, pp. 209-214.
- [11] M. Phillips et al., “Geomview: An Interactive 3D Viewing Program for Unix.” http://www.geomview.org.
- [12] M. Troyanov. “L’horizon de SOL.” Exposition. Math., vol. 16, n^{∘} 5, 1998, pp. 441–479.
- [13] J. Weeks. “Curved Spaces.” http://www.gelometrygames.org/CurvedSpaces.