Non-euclidean Virtual Reality II: Explorations of \mathbb{H}^2\times \mathbb{E}
Year: 2017 Authors: Vi Hart; Andrea Hawksley; elvR elvR HARC; Elisabetta A. Matsumoto; Henry Segerman
Core claim
A practical VR rendering and navigation framework can make \mathbb{H}^2\times \mathbb{E} accessible while preserving a familiar Euclidean vertical direction.
Topics
non-euclidean virtual reality, \mathbb{H}^2\times \mathbb{E}, geodesics, VR rendering, tilings
Domains
hyperbolic geometry, differential geometry, Riemannian geometry, Minkowski space, geodesic equations, virtual reality, visualization, digital media
Methods
hyperboloid model, explicit parametrisation, geodesic computation, screen projection, tiling-based landmarks
Media
virtual reality headset, computer graphics, online simulation, 2,6 tiling, screen 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.
Page 1
Bridges 2017 Conference Proceedings
Non-euclidean Virtual Reality II: Explorations of
Vi Hart Andrea Hawksley elvR elvR HARC
Elisabetta A. Matsumoto School of Physics Georgia Institute of Technology
Henry Segerman Department of Mathematics Oklahoma State University
Abstract
We describe our initial explorations in simulating non-euclidean geometries in virtual reality. Our simulation of the product of two-dimensional hyperbolic space with one-dimensional euclidean space is available at h2xe.hypernom.com
Figure 1: A view from
We are used to living in three-dimensional euclidean space, and our day-to-day experiences of curvature centre around surfaces embedded in . In the study of topology, the closed two-dimensional surfaces are the sphere, the torus, the two-holed torus, the three-holed torus, and so on. Thinking of these surfaces topologically, they don’t come with a particular choice of geometry – that is, we can think about a surface as if it were made from plasticine – without knowing what lengths and angles mean on the surface. There are however particularly nice geometries for these surfaces: they are homogeneous, meaning that the geometry is the same everywhere in the space, and isotropic, meaning the geometry is the same in every direction. We have spherical geometry for the sphere, euclidean geometry for the torus, and hyperbolic geometry for all of the others. In three dimensions, the story is more complicated. Thurston’s geometrization conjecture, proved by Perelman [3], gives eight geometries that a three-manifold can take (although the manifold may need to be decomposed into pieces, each with one of the eight geometries). The eight geometries are , , ,
Page 2
Hart et al.
(a) View in the direction.
(b) View in a diagonal direction.
(c) View in the direction.
(d) Another view in a diagonal direction.
Figure 2: Views of the tiling of . We draw the honeycomb to a depth of seven steps from the central cube.
, , Nil, and Solv 4. The first three are again homogeneous and isotropic: spherical, three-dimensional euclidean and hyperbolic geometries. The other five are homogeneous, but not isotropic: the geometries look different when you look in different directions. The geometries and are mixtures of the two-dimensional geometries and one-dimensional euclidean space. The last three are more complicated versions of these mixed geometries: Nil and are “twisted” versions of and respectively, whilst Solv can be seen as a different kind of product of and , in which moving in the direction stretches and squeezes the in two orthogonal directions.
Jeff Weeks’ software Curved Spaces 5 is a “flight simulator for multiconnected universes”. It simulates movement within a selection of closed three-dimensional manifolds, with , and geometries. Each of these is viewed as if we are living inside the space and seeing objects in the space via rays of light that travel along geodesics in the space. That is, light travels along paths of shortest distance.
A space such as is appealing to create and explore because like euclidean space, , it is homogeneous and isotropic. Yet, when you move through the space, you encounter several unexpected consequences, including the effects of holonomy and geodesic deviation. Holonomy is a rotation of your reference frame as you traverse a loop in a curved space, which leads to the virtual floor becoming tilted away from horizontal. Geodesic deviation is the divergence or convergence of two geodesics that start out in parallel directions, which leads to the floor falling out from beneath your feet as you walk forward [1].
We sought a gentler introduction to hyperbolic geometry. One of the other eight Thurston geometries, - the cartesian product of the hyperbolic plane and the euclidean line - enables the user to traverse the hyperbolic plane horizontally as they walk through a room, yet it retains familiar euclidean geometry in the vertical direction. In this space, the virtual floor remains in the same place as the real-life floor. Jeff Weeks
Page 3
Non-euclidean Virtual Reality II: Explorations of \mathsf{H}^2\times \mathsf{E}
has also explored via a similar method to ours in unpublished work.
There are four ingredients that go into our virtual reality simulation of as outlined in this paper:
- A way to describe the points of numerically, i.e. a model of
- A way to convert points in the model into points in that we can then draw on screen,
- A way to move around using the motion inputs from the virtual reality headset, and
- A set of landmarks in to draw, to help the viewer navigate the space - we use a tiling of .
1 The Model of
The space is the cartesian product of the two spaces and . It is homogeneous, but unlike , and , is not isotropic: the geometry is different when we look along an versus an direction. Our model is the cartesian product of the hyperboloid model of with the real line. The model of lives in four-dimensional Minkowski space as the set of points \{(x,y,z,w)\in \mathbb{E}^{3,1}\mid x^2 +y^2 = w^2 -1,w > 0\} . The coordinates and are used for the hyperboloid model of , while the coordinate is used for . We use the explicit parametrisation given by the map given by
2 Drawing Points in on the Screen
To draw points on screen, we cannot use the same trick as we did in of ignoring the inverse of the exponential map and using the Klein model instead [1]. Naively, we might try converting the and coordinates of a point into a point in the Klein model of , sitting inside of the unit disk in , and draw points in the cartesian product of the Klein model and , using for the value in . If we did this then we would see objects in the space, but if we tried to move towards an object we would miss. This is because the light rays in which connect an object to our eyes do not generally lie along the geodesics of (Klein model) . To properly account for this, we shall digress to a discussion of geodesics and the exponential map in .
Whilst geodesics in the Klein model are straight lines in the euclidean space in which the model lives, geodesics in (Klein model) have an alto
Figure 3: A geodesic in the (Klein model) (blue), and a straight line in (red).
gather different flavour due to the anisotropic nature of . If we are at the origin, looking in the diagonal direction shown in Figure 3 we see objects that are on the red line. But when we move in that direction we will arrive at objects that are on the blue geodesic.
So, we need to return to the original plan in our previous paper [1] of calculating the inverse of the exponential map in order to draw objects correctly. To do this, we need to work out parametrisations of geodesics in our model of in . Following the calculations outlined in Appendix A1, they have the form
.
To draw points on screen, we construct the inverse of the exponential map. Given a point in , this tells us what initial velocity in the tangent space we need in order to reach in at time . The inverse of the exponential map sends points on the (hyperboloid) in to points in via
Page 4
Hart et al.
(a) Our colouring on the tiling in the Poincaré disk model.
(b) A fundamental domain for the tiling, drawn in the Poincaré disk model.
(c) The fundamental domain glued up to form a genus two surface.
Figure 4: Our colouring of the tiling.
The images of geodesics in are straight lines in the tangent space. Thus if you look at a point in the virtual reality experience and move towards it, you will eventually reach it.
3 Moving Through
Once we know the relationship between the viewer’s motions and the headset output, we must convert them to motions in . Moving through this space now consists of translating by isometries inherited from that leave the model unchanged. Turning this set of isometries into the exponential map (in the Lie algebra sense, see 1 for further details) can be handled in a variety of ways. As both and can each be embedded in a flat space of one higher dimension, the exponential map could be encoded in a block diagonal matrix, but graphics cards are not optimised for this type of matrix multiplication. Instead, we can take advantage of being a product space to realize motions of the factor using a matrix (implemented in exactly the same way as we did for 1) while independently encoding translation in the factor via simple addition.
4 The Tiling of and a Colouring of
Eventually, we plan to put recognisable, human scale objects in our simulation of , for people to interact with. For now, we pattern it with cubes, as we did for 1. In each horizontal slice, we draw the Schlafli symbol tiling: squares (4 sides), with 6 meeting at each vertex. These horizontal squares are cross-sections of our cubes. At regular intervals in the direction, one cube ends, and the next begins. Because this is a product space, we have freedom to choose the height of the cubes in relative to the side length of the tiling of . We choose this height so that when viewed from its centre, a cube in has its vertices coincide with the vertices of a euclidean cube. The inverse of the exponential map associates each of these vertices to a point in the tangent space that is a distance away from the centre. We take the vertices in the meshes that make up the cubes and their decorations in and move them upstairs into (hyperboloid) via the map from the Klein model to the hyperboloid model according to the coordinate transformation . Once in the hyperboloid model, transformations are handled through the exponential map. Unlike which is isotropic, the anisotropy of causes the straight lines bounding the faces of the cube in to become curved as you look along a diagonal direction in .
In Figure 2 we colour each layer of cubes in essentially the same way, coming from a colouring of the
Page 5
Non-euclidean Virtual Reality II: Explorations of \mathsf{H}^2\times \mathsf{E}
(a) initial view.
(b) Moving forward 1/5 of a cube width.
(c) Moving forward 2/5 of a cube width.
(d) Moving forward 3/5 of a cube width.
(e) Moving forward 4/5 of a cube width.
(f) Moving forward 5/5 of a cube width.
Figure 5: The aspect ratio of the cubes scales differently in the and directions.
tiling. Subsequent layers have their colours “rotated” slightly, around the circle of colours from black to red to white to cyan. As in our colouring of the honeycomb [1], the colouring on each layer comes from lifting a colouring of a closed manifold, in this case the genus two surface (see Figure 4).
5 Revenge of Curved Spaces in Virtual Reality
As with [1], our experience in differs viscerally from in . One of the most striking differences stems from the lack of isotropy in . As we move forwards, the aspect ratio of objects in front of us appears to change. Figure 5 shows a sequence of views, moving forwards from one cube into the next. The octagon in front of us starts out tall and thin, and becomes wider as we approach. The octagons further into the distance are even thinner. The reason for this behaviour in is that an object’s apparent height goes down linearly relative to its distance from us (just as it does in ) but its apparent width scales exponentially. This doesn’t happen in - both width and height scale exponentially, as is isotropic. Thus, the perceived aspect ratio of objects does not change.
An interesting feature of being a product space is that parallel transport affects directions differently. In you experience holonomy - when you traverse a loop in any plane you experience the world as having rotated. This is because the vector pointing “up” gets transported around the loop and comes back as rotated [1]. In , you experience this phenomenon when looking along the direction - that is to say, the loop lies in the plane (see Figure 6). The frame is transported in the same it was in any direction in . However, if you look directly along the plane and traverse a loop, first moving to the right for distance along the direction, then up along for distance , then to the left along and finally returning to the starting point by travelling down along , you will notice that the world has not rotated. This is because pure isometries in and commute as is a cartesian product.
6 The In-Space View: Visualising and Parallax
In the virtual reality headset, a separate image is rendered for each eye, creating the illusion of a three-dimensional environment. Humans judge the distance of objects from them using a number of different
Page 6
Hart et al.
(a) initial view.
(b) view 1: along
(c) view 2: between the and
(d) view 3: along
(e) Fig. 7(a) after moving right 0.5 hyperbolic units.
(f) Fig. 7(b) after moving right 0.5 hyperbolic units.
(g) Fig. 7(c) after moving right 0.5 hyperbolic units.
(h) Fig. 7(d) after moving right 0.5 hyperbolic units.
(i) Fig. 7(e) after moving up 0.5 hyperbolic units.
(j) Fig. 7(f) after moving up 0.5 hyperbolic units.
(k) Fig. 7(g) after moving up 0.5 hyperbolic units.
(1) Fig. 7(h) after moving up 0.5 hyperbolic units.
(m) Fig. 7(i) after moving left 0.5 hyperbolic units.
(n) Fig. 7(j) after moving left 0.5 hyperbolic units.
(o) Fig. 7(k) after moving left 0.5 hyperbolic units.
(p) Fig. 7(1) after moving left 0.5 hyperbolic units.
(q) Fig. 7(m) after moving down 0.5 hyperbolic units.
(r) Fig. 7(n) after moving down 0.5 hyperbolic units.
(s) Fig. 7(o) after moving down 0.5 hyperbolic units.
(t) Fig. 7(p) after moving down 0.5 hyperbolic units.
Figure 6: Holonomy rotates reference frames after moving in a loop in curved space. Rotations in the plane (column 2) have the same effects as looking in any direction in (column 1). However other directions behave differently. (In hyperbolic units the distance from the centre of a cube to the centre of a face is .)
techniques. One such technique is our use of stereopsis, the perception of depth inferred from differences in the visual input coming into our two eyes. This employs parallax, the difference between the apparent position of an object viewed from different viewpoints. An object that is directly in front of us and close to us, will appear on the right side of the field of view of one’s left eye, and on the left side of the field of view of one’s right eye. An object that is directly in front of us but very far away from us will appear in the centre of the field of views from each eye, assuming that our eyes are both pointing directly forward (see Figure[7]).
In particular, an inhabitant of euclidean space expects to see an object that is infinitely far away along
Page 7
Non-euclidean Virtual Reality II: Explorations of \mathsf{H}^2\times \mathsf{E}
(a) Geodesics (light rays) from two eyes looking straight ahead would diverge in
(b) Eyes must point inward to see an object that is infinitely far away in
Figure 7: Geodesic deviation is responsible for the phenomena associated with parallax in . See also [6].
rays of light that enter their two eyes along parallel geodesics. In negatively curved spaces however, geodesics that enter one’s eyes along parallel directions diverge as we follow the light rays backwards – there can be no single object that those light rays came from. Instead, a euclidean visitor to hyperbolic space has to turn their eyes inwards to see an object that is infinitely far away. The effect is that all objects appear to be relatively close by. Objects in hyperbolic space are further away than they appear.
Euclidean visual effects create the illusion of depth by using the average pupil separation to create separate images from “cameras” centred at each eye. Where should we put the viewer’s eyes in our simulations? This is a subtle point, to which we give two answers, both justifiable:
- We could display the world as a hyperbolic being would see it – take the eyes to be virtual cameras placed inside of the curved space, each with its own inverse of the exponential map into its own distinct tangent space. Light rays follow geodesics that leave each point in the space and travel to the centre of each camera.
- Instead, our present simulation uses one tangent space (centred at the headset) as the copy of in which the euclidean user lives. The cameras are placed in that tangent space according to the user’s physiology. In this case, the visually and physically perceived positions of objects on the user’s body – for example a hand-held controller – are identical.
This being said, the user is unlikely to be able to distinguish between renderings in these two situations. The average interpupillary distance (54-68 mm in adult humans) is much smaller than the radius of curvature we use, 1 m, so differences will be minor.
7 Future Directions: Tracking Objects in Space, and Other Geometries
Floating point errors provide a challenge in tracking objects in hyperbolic space, since the elements of our isometry matrices are exponential functions of the distance travelled in applying them. In our simulations so far, the user never actually leaves the central cube of the tiling: as they attempt to they are teleported from one side of it to the other, and the colours of the cubes are updated appropriately. We would not be able to use this trick for objects left in the world. One solution would be to record the location of an object by its position relative to a cube of our tiling, together with the cube’s location recorded as a word in the tiling’s generators. However, with this kind of data structure it is non-trivial to calculate, for example, which objects are close to your current position and so should be drawn on screen.
In addition to putting more recognisable objects and architecture into our simulations and allowing users to interact with objects, we would like to build similar simulations for the other Thurston geometries. Each of these geometries presents a unique challenge. Both and have a multivalued exponential maps, thus we need to calculate the exponential map both in front of the viewer and behind them in order to draw
Page 8
a complete image on the screen. Nil, Solv and don’t have the ubiquitous standard models that spherical and hyperbolic space have. In our future implementations of Thurston geometries, we will use models of Emil Molnár [2] to create the exponential map as well as the set of isometries.
References
- [1] Vi Hart, Andrea Hawksley, Elisabetta A. Matsumoto, and Henry Segerman. Non-euclidean virtual reality I: explorations of . In Proc. Bridges 2017. Tessellations Publishing, 2017.
- [2] Emil Molnár. The projective interpretation of the eight 3-dimensional homogeneous geometries. Beitrage zur Algebra und Geometrie (Contributions to Algebra and Geometry), 38(2):261–288, 1997.
- [3] Grisha Perelman. The entropy formula for the Ricci flow and its geometric applications. arXiv:0211159.
- [4] William P. Thurston. Three-Dimensional Geometry and Topology. Princeton Univ. Press, 1997.
- [5] Jeff Weeks. Curved Spaces. a flight simulator for multiconnected universes, available from http://www.gelometrygames.org/CurvedSpaces/
- [6] Jeff Weeks. Real-time rendering in curved spaces. IEEE Computer Graphics and Applications, 22(6):90–99, 2002.
Appendix A1 Geodesics in
In order to implement other curved spaces in virtual reality, we will need to calculate the inverse of the (riemannian geometry) exponential map. Here, we present a formal method using differential geometry. The first step in calculating geodesics is finding the components of the metric tensor. In our parametrisation , the components of the metric tensor are given by where and denotes the inner product in the ambient space, . The three non-zero components of the metric tensor are and . Each of the derivatives is a vector in the tangent space of .
The derivative of a vector in the tangent space tells us the rate of change of that vector (both magnitude and direction) as we move along another vector in the tangent space. If the derivative has no component in any direction other than parallel to itself, then parallel transport in the direction of the vector preserves it. This is our condition for being a geodesic. Thus the geodesic satisfies the equation , where and is the Levi-Civita connection. In coordinate form this may be re-written as
where Christoffel symbols of the second kind are the components of the Levi-Civita connection and . In , the only non-zero Christoffel symbols are , and . This set of coupled differential equations gives a formula for parametrised curves in the coordinate map . In geodesics emanating from the origin of the hyperboloid must satisfy the differential equations for curves with boundary conditions , , and . Thus they are parametric curves in of the form