{'fraction_non_alphanumeric': 0.037932453484612445, 'fraction_numerical': 0.011904411980835366, 'mean_word_length': 4.294763053458875, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 2, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 18, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
How to see the eight Thurston geometries

In this expository paper, we present a survey about the history of the geometrization conjecture and the background material on the classification of Thurston's eight geometries. We also discuss recent techniques for immersive visualization of relevant three-dimensional manifolds in the context of the Geometrization Conjecture.


Introduction
An n-manifold is a space locally modeled on the n-dimensional Euclidean space. The global structure of a manifold can be non-trivial and very different from the Euclidean space. Manifolds are important objects in mathematics and physics because they allow more complicated structures to be expressed in terms of the relatively well-understood properties of simpler spaces.
This expository paper gives an overview of the problem of visualizing 3-manifolds, which is not as easy as visualizing the Euclidean space. Specifically, the scene objects are set in 3-manifold spaces. Recent works [6,42,43,61] avoid modeling perspective views by using a generalization of the ray tracing algorithm: a color is given to each point and tangent direction by tracing a ray and finding its intersections with the scene objects. Recall from physics that light travels along the rays -the paths that locally minimize length. Tracing a ray requires geometry, and finding geometry can be a hard task as we will see along this text.
We can think of 3-manifolds as spaces representing the shape of the universe, since from our view they look like the Euclidean 3-space. This is a three-dimensional version of the fact, for example, that the surface of the earth (a 2-sphere) is locally similar to a plane. For a 3-manifold example, consider the set of points equidistant from a fixed point in the four-dimensional Euclidean space -the 3-sphere. This space plays a central role in the study of 3-manifolds being the main actor in the Poincaré conjecture.
The dimension is a hard constraint on n-manifolds viewing; our eyes only see up to three dimensions. The 2-manifolds can be visualized extrinsically using a threedimensional Euclidean space to illustrate its ambient space, and intrinsically by embedding the oriented surface in the Euclidean space and visualizing it through classical algorithms: rasterization or ray tracing.
Recently, a framework from [11,43,40,61,41] implemented on top of Nvidia RTX was introduced for real-time immersive and interactive visualization of spaces modeled by Thurston's geometries and other non-homogeneous spaces. Other important attempts to visualize and explore non-Euclidean geometries are presented in [8,9,10,30]. The aforementioned approaches adopt only a local illumination model, however, [42] introduced the Riemannian illumination which allows us to synthesize "photorealistic" inside views of non-Euclidean spaces.
The paper is organized as follows. Section 2 gives a short historical overview of the mathematical investigation in the context of the geometrization conjecture. Section 3 reviews the basic concepts related to 3-manifolds and ray tracing on such spaces. Section 4 presents some well-known results about the topological classification and geometrization of surfaces. Section 5 provides an overview of the geometrization of 3-dimensional manifolds. This section also introduces Riemannian ray tracing, a computer graphics technique for inside visualization in Riemannian 3-manifolds. In Section 6 we present the eight Thurston's geometries and use Riemannian ray tracing to render inside views in spaces modeled by them. The final Section 7 provides some concluding remarks.

Henri Poincaré
In 1895, Henri Poincaré published his Analysis situs [47], in which he presented the foundations of topology by proposing to study spaces under continuous deformations. In this case positions are not important. The main tools for topology are introduced in this paper: manifolds, homeomorphisms, homology, and the fundamental group. He also discussed how the three-dimensional geometry was real and interesting. However, there was a confusion in this paper: Poincaré treated homology and homotopy as equivalent concepts.
In 1904, Poincaré wrote the fifth supplement [48] to Analysis situs, where he approached three-dimensional manifolds in much more detail. This paper clarified that homology was not equivalent to homotopy already in dimension three. The construction of the Poincaré dodecahedron presented there gives an example of a 3-manifold with trivial homology but with nontrivial homotopy. An inside view of this space can be found in Section 6.1. In his paper Poincaré proposed a question: Is it possible that a compact connected 3-manifold with trivial homotopy can be different from the 3-sphere? This question later became known as the Poincaré conjecture.
Poincaré stimulated a lot of mathematical works asking whether some particular manifold exists. Works on this question were awarded three Fields medals. In 1960, Stephen Smale proved the analogue of the Poincaré conjecture for n-manifolds with n > 4 [53]. In 1980, Michael Freedman proved the conjecture for 4-manifolds [16]. The problem in dimension three was the harderst and remained open until 2003, when Grigori Perelman proved Thurston's geometrization conjecture and consequently the Poincaré conjecture as a corollary [44,46,45].

William P. Thurston
Thurston's work on 3-manifolds have a geometric inclination with roots in topology. He tried to generalize the geometrization theorem of compact surfaces. This theorem states that the geometry of any compact surface can be modeled by the Euclidean, the hyperbolic, or the spherical space. Hyperbolic geometry is the most abundant because it models all surfaces with genus greater than one. In dimension three Thurston proved that five more geometries are needed while the hyperbolic geometry still plays the central role.
In 1970s, Thurston proposed the geometrization conjecture to which he gave solid justifications (cf. [59]). It is a three-dimensional version of the geometrization theorem which states that every 3-manifold can be cut into pieces that are geometrizable. In dimension three Thurston proved that the conjecture holds for a large class of 3manifolds, the Haken manifolds, confirming that hyperbolic geometry plays the central role. The result is known as the hyperbolization theorem. In 1982, Thurston received a Fields medal for his contributions to 3-manifolds. The elliptization conjecture, the part of geometrization which deals with the spherical manifolds, was open at that time.

Grigori Perelman
In 2000, the Clay Institute selected seven problems in mathematics to guide mathematicians in their research, the seven Millennium Prize Problems [25]. The Poincaré conjecture was one of them. The institute offered one million dollars for the first proof of each problem. They did not know that the Poincaré conjecture was about to be proved by Grigori Perelman as a corollary of the proof of the geometrization conjecture.
In 2003, Perelman published three papers [44,46,45] in arXiv solving the Geometrization Conjecture. He used tools from geometry and analysis. Specifically, he used the Ricci flow, a technique introduced by Richard Hamilton to prove the Poincaré conjecture. Hamilton settled the conjecture for a special case when the 3-manifold has positive Ricci curvature. The idea is to use Ricci flow to simplify the geometry along time. However, this procedure may create singularities since this flow expands regions with negative Ricci curvature and contracts regions of positive Ricci curvature. Hamilton suggested the use of surgery before the manifold collapse. The procedure gives rise to a simpler manifold, and we can evolve the flow again. Perelman was able to show that this algorithm terminates and each connected component of the resulting manifold admits one of the Thurston geometries. In other words, Perelman proved the geometrization conjecture, and consequently the Poincaré conjecture. Several research groups around the world have verified his proof.
We will review in more detail geometrization and the Ricci flow in Section 5.

Basic Concepts
Several concepts are needed to relate 3-manifolds and ray tracing. We start with some definitions on topology of manifolds, then we associate a geometry to them.

Topology
Topology is the branch of mathematics that studies the shape of objects modulo continuous deformation. Informally, we can stretch, twist, crumple, and bend, but not tear or paste. The first object to capture the topology of a manifold M is its fundamental group denoted π 1 (M ). It records the basic information about the shape (holes) of M . Introduced by Poincaré, the fundamental group consists of equivalence classes under continuous deformation of loops based at a given point and contained in the space. A manifold is simply connected if its fundamental group is trivial. The Poincaré conjecture states that each compact simply connected 3-manifold must be homeomorphic to the 3-sphere, i.e. to have the 3-sphere shape. Attempts to prove the Poincaré conjecture led to discovery of many manifold constructions.
A common manifold construction is through the quotient of "simpler" manifolds by special groups acting on them. This is reasonable because each manifold is uniquely covered by a simply connected manifold -the universal covering space (see [31,Chapter 4]). Informally, a manifold M covers a manifold M if there is a map which "evenly covers" a neighborhood of each point in M . The covering is universal if M is simply connected. For example, the two-dimensional torus is covered by the Euclidean plane. The Poincaré conjecture implies that if the universal covering of a compact manifold is compact, then the covering must be the sphere. By the above discussion, we only need to consider quotients of simply connected manifolds.
Let M be a manifold and Γ be a discrete group acting on it. The quotient manifold theorem (Theorem 9.16 in [31]) states that M/Γ is a manifold when the group Γ acts smoothly, freely, and properly discontinuously on M . Here the action of Γ is free if it has no fixed points and it is properly discontinuous if each point p admits a neighborhood U such that U ∩ g(U ) = ∅, for all g ∈ Γ different from the identity. For example, if the quotient manifold E 2 /Γ is a compact surface, then it is the torus or the Klein bottle (see [33]).
More examples of manifolds can be constructed from the direct product, e.g. the n-torus T n is the product of the circle S 1 and the (n − 1)-torus T n−1 .

Geometry
In Riemannian geometry, manifolds have a metric which allows the introduction of geodesics: paths that locally minimize lengths. These are the ingredients for a ray tracing algorithm on manifolds. Following the notation of do Carmo [7], we now present the basic definitions and examples from Riemannian geometry.
Every point of an n-manifold M admits a neighborhood homeomorphic to an open ball in R n , the corresponding maps are called charts. We need the change of charts in M to be differentiable. Let x(x 1 , . . . , x n ) be a chart of a neighborhood of a point p. The tangent space T p M at p is the vector space spanned by the tangent vectors { ∂ ∂xi (p)} of the coordinate curves at p. A Riemannian metric on a manifold M is a map that assigns a positive-definite inner product ·, · to each tangent space, such that in coordinates x(x 1 , . . . , x n ) = p the functions g ij (x 1 , . . . , x n ) := ∂ ∂xi , ∂ ∂xj p are smooth. Expressing two vectors u, v ∈ T p M in terms of the associated basis, that is, The metric g is determined by the matrix [g ij ]. The pair (M, g) is a Riemannian manifold. For examples of Riemannian 3-manifolds we can consider the classical Euclidean, hyperbolic and spherical spaces, as well as the non-classical: S 2 × R, H 2 × R, Nil, Sol, and SL 2 (R) (see Section 6). All these eight geometries are homogeneous, that is, for any two points there is an isometry sending one to another. Only Euclidean, hyperbolic and spherical spaces are isotropic, that is, for any two vectors in the tangent space at a point there is an isometry of the manifold sending one to another. Let (N, g N ) and (M, g M ) be Riemannian manifolds of dimension n and m, respectively. The (n + m)-manifold N × M admits a Riemannian metric given by g n + g m , the product metric. Examples of the product metrics include the geometries S 2 × R and H 2 × R.
Lie groups are important examples of Riemannian manifolds. A Lie group is a manifold M with a group structure, where the operations (p, q) → p · q and p → p −1 are smooth. Thus the left multiplication by p ∈ M , given by L p (q) = p · q, is a smooth map. The classical way to define a Riemannian metric on a Lie group is by fixing an inner product ·, · e in the tangent space at the identity element e, and then extending it by the left multiplication: In the geometries considered in the geometrization conjecture, only the product geometry S 2 × R is not realized as a left invariant metric on a Lie group.
Quotients of Riemannian manifolds by discrete groups of isometries produce new Riemannian manifolds. Specifically, the quotient M/Γ of a Riemannian manifold M by a discrete group Γ acting isometrically on it has the geometric structure modeled by M . This quotient corresponds to a covering, so we often consider M being simply connected. There are exactly three Riemannian surfaces modeling the geometry of all closed compact surfaces (see Section 4.1). In dimension three the list is increased by five special examples of product and non-isotropic geometries. These are model geometries: complete simply connected Riemannian manifolds such that each pair of points have isometric neighborhoods.
We now define the main concept for ray tracing in this context. A geodesic in a Riemannian manifold (M, g) is a curve γ(t) = (x 1 (t), . . . , x n (t)) with null covariant derivative: This differs from the classical case by the addition of Γ k ij x i x j , which includes the Christoffel symbols Γ m ij of (M, g). To linearize system (3), we add new variables being the first derivatives y k = x k , obtaining thus the geodesic flow of (M, g): Let (M, g) be a Riemannian 3-manifold. In Section 5.4 we use the geodesic flow of (M, g) to define a ray tracing algorithm in M . Here we give a preliminary explanation. Let p = (x 1 , x 2 , x 3 ) ∈ M be a point (observer) and v = (y 1 , y 2 , y 3 ) be a vector (pixel) in the (image) plane inside T p M . This plane should be defined in "front of the observer". Let γ be a curve for which (γ, γ ) satisfies Equation (4) and has (x 1 , x 2 , x 3 , y 1 , y 2 , y 3 ) as the initial condition. Finding the intersections between the geodesic γ and a scene in M allows us to define an RGB color for the underlying pixel. To integrate the geodesic flow of (M, g) we may consider numerical techniques.

Two-dimensional manifolds
We present some well-known results involving topology and geometry of surfaces. We assume all surfaces being compact, connected, and oriented. Starting with the classification theorem in terms of the connected sum, one can represent a surface through a polygon with an appropriate edge gluing. This polygon can be embedded in one of the three two-dimensional geometry models (Euclidean, spherical, and hyperbolic). The resulting surface has the geometry modeled by one of these geometries.

Classification of compact surfaces
The classical way to state the classification theorem of surfaces is by the connected sum. Removing disks D 1 and D 2 from surfaces S 1 and S 2 , one obtains their connect sum S 1 #S 2 by identifying the boundaries ∂D 1 and ∂D 2 through a homeomorphism. The theorem says that any compact orientable surface is homeomorphic to a sphere or a connected sum of tori.
The proof of the classification theorem uses a computational representation of a compact surface S through an appropriate pair-wise identification of edges in a polygon: • Take a triangulation T of the surface S; it is a well-known result that a triangulation exists; • Cutting along edges in T we obtain a list of triangles embedded in the plane without intersection; the edge pairing must be remembered; • We label each triangle edge with a letter according to its gluing orientation; • Gluing the triangles through the pairwise edge identification without leaving the plane produces a polygon P . The boundary ∂P of P can be represented as an oriented sequence of letters; • Let a and b be a pair of edges in ∂P . If the identification of a and b reverses the orientation of ∂P we denote b by a −1 , and simply a otherwise; • A technical result states that cutting and gluing P leads us to an equivalent irreducible polygon Q with its boundary having one of following configurations: • aa −1 , which is a sphere; Although the above procedure shows that any compact connected oriented surface is homeomorphic to a sphere or a connected sum of tori, we do not know that all these surfaces are topologically different. For this, we introduce the numerical invariant called Euler characteristic.
Let S be a compact surface and K = (V, E, F ) be a cell decomposition of S. Here, V is a set of vertices in S, E is a set of edges (curves) with endpoints in V , and T are the polygons (simple regions) bounded by edges in S. The Euler characteristic of S is the number χ(S) = |V | − |E| + |F |, where | · | denotes the cardinality of the set. It can be shown that χ(S) does not depend on the cell decomposition K of S (see Section 8 of [34]). We will give a justification for this fact in Section 4.2 using the Gauss-Bonnet theorem.
As the Euler characteristic χ(S) does not depend on the cell decomposition K of the compact surface S, we can compute it using the special cell decomposition given by the irreducible polygon Q with its edge identification. Thus, in the sphere case aa −1 , we have χ(S) = 2 − 1 + 1 = 2. The other case is aba −1 b −1 which correspond to a connected sum of g tori aba −1 b −1 , hence the Euler characteristic of the underlying surface S is given by χ(S) = 1 − 2g + 1 = 2 − 2g. Note that (in the tori case) after the edge pairing in Q, we get only one vertex, one face, and 2g edges, which justifies the formula. Therefore, we can write the Euler characteristic of S as χ(S) = 2 − 2g, where the number g is also known as the genus of S.
Based on the above discussion, we can classify compact connected oriented surfaces using their Euler characteristic. Therefore, this numerical invariant serves as a dictionary.
To model the geometry of these surfaces, we embed, in a special way, the irreducible polygon in one of the two-dimensional model geometries.

Geometrization of compact surfaces
We remind the well-known geometrization theorem of compact surfaces which states that any topological surface can be modeled using only three homogeneous geometries. This is a geometric form of the celebrated Uniformization Theorem for Riemann surfaces. We refer to a beautiful recent book by a collective of authors [12] that represents the history and mathematics around uniformization.
The Euclidean space E 2 models the geometry of the 2-torus through the quotient of E 2 by the group of translations. The non-orientable Euclidean manifold is the Klein bottle. The sphere and the projective plane are modeled by the spherical geometry.
For a hyperbolic surface, consider the bitorus, which topologically is the connect sum of two tori. The bitorus is presented as a regular polygon P with 8 sides aba −1 b −1 cdc −1 d −1 as discussed above. All vertices in P are identified into a unique vertex v. Then, the 8 corners of P are glued together producing a topological disk. Considering P with the Euclidean geometry, the angular sum around v equals to 6π. To avoid such a problem, let P be a regular polygon in the hyperbolic plane, with an appropriate scale its angles sum is 2π. The edge pairing of P induces a group action Γ in the hyperbolic plane H 2 such that H 2 /Γ is the bitorus. The group Γ tessellates H 2 by the regular 8-gons. Analogously, all surfaces represented as polygons with more than four sides are hyperbolic, implying that hyperbolic is the most abundant geometry.
The classical Gauss-Bonnet theorem implies that these geometric models are uniquely determined by topology of the surface. Indeed, let S be a smooth compact oriented surface. The Gauss-Bonnet theorem states that S KdS = 2πχ(S), where K is the Gaussian curvature of S. This formula connects the Gaussian curvature of S (from geometry) to the Euler characteristic of S (from topology).
Consider a surface S modeled by a model geometry M . The Gaussian curvature K of S coincides with the curvature of M , thus K is constant and equals 1, 0, −1 for the spherical, Euclidean, and hyperbolic geometries, respectively. Therefore, the Gauss-Bonnet formula can be rewritten as K|S| = 2πχ(S), where |S| denotes the area of S. This formula implies some important facts. First, χ(S) only depends on the curvature of M and the area of S, and hence χ(S) does not depend on the cell decomposition of S used on its definition. Also, if S is modeled by the Euclidean geometry, then K = 0 implies χ(S) = 0, and thus S must be a torus. If S is modeled by spherical geometry (K = 1), we have χ(S) > 0, which shows that S must be a 2-sphere. Finally, if S is modeled by the hyperbolic geometry, then K = −1 implies χ(S) < 0. Consequently, we have that each compact oriented surface can be modeled by a unique model geometry (Euclidean, spherical, or hyperbolic). The following table shows how the Euler characteristic χ(S) determines the geometry used to model S.

Three-dimensional manifolds
It took time to develop the modern vision of manifolds in higher dimensions. For example, a version of Theorem 4.1 for 3-manifolds seemed not possible until 1982, when Thurston proposed the geometrization conjecture [59]. It states that each 3-manifold decomposes into pieces shaped by simple geometries. There are exactly eight model geometries in dimension 3, and these are presented in more detail in Section 6. We now proceed with reviewing the geometrization.

Classification of compact 3-manifolds
As for surfaces, there is a combinatorial procedure to build three-dimensional manifolds from identifications of polyhedral faces. To do so, endow a finite number of polyhedra with an appropriate pair-wise identification of their faces. Each pair of faces has the same number of edges and they are mapped homeomorphically to each other. Such gluing gives a polyhedral complex K, which is a 3-manifold if and only if its Euler characteristic is equal to zero (cf. [14,Theorem 4.3]). We now take the opposite approach. Let M be a compact 3-manifold, we represent M as a polyhedron P endowed with a pair-wise identification of its faces. The following algorithm mimics the surface case presented in Section 4.1.
• Let T be a triangulation of the manifold M ; endorsed by the well-known triangulation theorem; • Detaching every face identification in T gives rise to a collection of tetrahedra which can be embedded in E 3 . Remember the pairwise face gluing; • Gluing in a topological way each possible coupled tetrahedra without leaving E 3 produces a polyhedron P . The faces in the boundary ∂P are pairwise identified.
The combinatorial problem of reducing the polyhedron P to a standard form, as in the surface case, remains open (see page 145 in [31]). Although there is no classification of compact 3-manifolds in the sense presented for compact surfaces, it is still possible to decompose a given manifold into simpler pieces. This decomposition is not trivial. Thurston conjectured that these pieces can be modeled by one of the eight homogeneous geometries. The decomposition used in the geometrization theorem (to be presented in Section 5.2) has two stages: the prime and the tori decomposition. The first is similar to the inverse of the connected sum of surfaces. It consists of cutting the 3-manifold M along a 2-sphere such that the resulting two 3-manifolds are not balls. A sphere S 2 ⊂ M that does not bound a 3-ball in M is called essential, and so we are cutting along essential 2-spheres that separate M . After attaching balls to the boundary of the parts, one obtains two simpler 3-manifolds. A prime 3-manifold does not admit any further decomposition. One of the first results in the topology of 3-manifolds is Kneser's theorem from 1929 showing that after a finite number of steps a manifold decomposes into prime pieces [29], and some 30 years later Milnor proved that the decomposition is unique up to homeomorphism [36].
The toral decomposition (also known as the JSJ decomposition, named after William Jaco, Peter Shalen, and Klaus Johannson [24,26]) consists of cutting a prime 3-manifold along certain embedded tori. The result is a 3-manifold bounded by tori that are left as boundaries, because there is no canonical way to close such holes.
Decomposing a 3-manifold through the above procedures produces a list of simpler manifolds, which resembles an evolutionary tree [35]. Thurston conjectured that it is always possible to choose the separating tori so that the simplest pieces are geometric manifolds modeled by one of the eight homogeneous geometries. This is the three-dimensional case of Theorem 4.1-the Thurston-Perelman Geometrization Theorem (see Figure 1). Figure 1. Evolutionary tree of a compact orientable 3-manifold. It operates like an algorithm. The first two layers indicate the prime and tori decomposition of the 3-manifold. The last two layers apply the geometrization theorem.

Geometrization of compact 3-manifolds
To begin with we consider the three-dimensional homogeneous geometries. Now the list is longer than in dimension two but only eight Thurston's geometries admit compact quotient manifolds. These are the classical Euclidean, hyperbolic, and spherical spaces, the product spaces S 2 × R and H 2 × R, and the three-dimensional Lie groups Nil, Sol, and SL 2 (R). We defer the discussion of each of these eight geometries to Section 6. For now we will only use some of their basic properties.
The quotients of the homogeneous manifolds are locally homogeneous manifolds. These are the elementary geometric pieces that we would like to see in a decomposition of a given manifold. Excluding locally homogeneous manifolds modeled on S 2 × R, all locally homogeneous 3-manifolds have universal coverings which are topologically either R 3 or S 3 . It is easy to check that if every embedded 2-sphere in the universal covering of a 3-manifold bounds a ball, then the same is true for the original manifold. Hence the only locally homogeneous 3-manifolds with essential 2-spheres are those whose universal cover is S 2 × R and there are only two such manifolds (see Section 6). Therefore, each geometric piece must be prime or contained in a prime manifold.
The next step is to apply the toral decomposition. In 1970's Thurston conjectured that these two steps are already sufficient to get the geometric pieces: Then there is a finite collection of disjoint, embedded, incompressible tori in M , so that each component of the complement admits a geometric structure modeled on one of the eight Thurston's geometries.
Besides a good set of examples, the strongest support for the conjecture was Thurston's proof that it is true for an important class of Haken manifolds. It is worth mentioning that Thurston's proof was influenced and somewhat resembles the proof of Andreev's theorem on classification of three-dimensional hyperbolic polyhedra [4]. We recall that an orientable, compact, irreducible 3-manifold is called Haken if it contains an orientable, incompressible surface. Intuitively it means that the manifold is sufficiently large. The manifolds that could provide potential counterexamples to Poincaré's conjecture are not in this class.
It is not hard to see that the Thurston Geometrization Conjecture implies the Poincaré Conjecture. Indeed, let M be a compact 3-manifold with a trivial fundamental group. If M = M 1 #M 2 # · · · #M n is its prime decomposition, then π 1 (M ) is the free product of π 1 (M i ), therefore we have π 1 (M i ) = 1 for every i = 1, 2, . . . , n. Thus we can assume that M is a prime manifold and the Geometrization Conjecture applies. Since π 1 (M ) = 1, the manifold has no incompressible tori. By Conjecture 5.1, M must be a geometric manifold. From here the conclusion follows easily. There is only one model geometry whose space is compact and hence has compact quotient manifolds with finite fundamental group, it is the sphere S 3 . The condition that M is simply connected implies that it is diffeomorphic to its universal cover S 3 . More generally, this argument shows that closed 3-manifolds with finite fundamental groups are the three-dimensional spherical space forms (the Elliptization Conjecture).
We end this brief introduction to geometrization with John Morgan's recollection in [38]: "It is my view that before Thurston's work on hyperbolic 3-manifolds and his formulation of his general Geometrization Conjecture there was no consensus among the experts as to whether the Poincaré Conjecture was true or false. After Thurston's work, notwithstanding the fact that it has no direct bearing on the Poincaré Conjecture, a consensus developed that the Poincaré Conjecture (and the Geometrization Conjecture) were true. Paradoxically, subsuming the Poincaré Conjecture into a broader conjecture and then giving evidence, independent from the Poincaré Conjecture, for the broader conjecture led to a firmer belief in the Poincaré Conjecture."

The Ricci flow
It has been in the air for a long time that geometric flows can provide the key for understanding the Geometrization Conjecture. Perhaps the best intuition comes from looking at the heat flow which eventually makes the temperature to be equally distributed in a heated body. Similarly, one can expect that a certain curvature flow will make the curvature well distributed. One of the first problems encountered in this approach is which particular curvature to consider, as three dimensional manifolds have several well defined notions of curvature. Richard Hamilton was the first to investigate from this point of view the so called Ricci curvature and the corresponding Ricci curvature flow. It is not surprising that the analogy with the heat flow played important role in Hamilton's and subsequent Perelman's discoveries.
Let M be a manifold and {g(t)} be a smooth one-parameter family of Riemannian metrics on M . The Ricci flow equation is where Ric(g(t)) denotes the Ricci curvature tensor of the metric. Besides somewhat technical definition of the Ricci curvature which we will not present here, it is known to be a versatile tool with principal applications in differential geometry and general relativity. The fixed points for the Ricci flow equation are the Ricci-flat manifolds. Their Ricci curvature vanishes and in dimension 3 any such manifold is in fact flat. Next we can look at the self-similar solutions of the flow equation and we encounter the Einstein manifolds. These are the manifolds whose Ricci curvature tensor is proportional to the metric tensor. In dimension 3 any such manifold has constant sectional curvature and thus is modeled by one of the classical geometries. These observations show a close relationship of the fixed points (up to conformal factor) of the Ricci flow in dimension 3 and the homogeneous geometries.
Ricci flow was introduced by Hamilton to prove that any connected closed 3-manifold M that admits a Riemannian metric with positive Ricci curvature also admits a Riemannian metric of constant positive sectional curvature. This important result establishes the Poincaré conjecture for the manifolds with positive Ricci curvature.
Based on this landmark theorem, Hamilton and S.-T. Yau developed a program to attack the Poincaré conjecture using Ricci flow. Many important results towards this program were obtained by Hamilton and other mathematicians. A detailed description of the state of art by 1995 is given in survey [21]. For subsequent results we can refer to [37] and [28]. However, after all these spectacular developments some big white spots remained wide open. Among the main mysteries were the so-called R× cigar soliton singularities of Ricci flow and behavior of the flow near the points with very high curvature.
It is here that we encounter with the work of Grisha Perelman. In his first preprint on Ricci flow Perelman proved that the Ricci flow solution is κ-noncollapsed at sufficiently small scale and that Hamilton's cigar solitons cannot arise as a limit (thus confirming a conjecture of Hamilton). This spectacular breakthrough resolved the two big issues of Hamilton's program mentioned above. In order to prove the no local collapsing theorem Perelman introduced a new entropy functional that captures deep underlying structure properties of the Ricci flow. He then showed that local collapsing would contradict the monotonicity of the entropy.
The second Perelman's preprint presents a technically very sophisticated analysis extending the previous results to the Ricci flows with surgery, which were introduced by Hamilton in order to handle the singularities of the metrics produced by the flow. Perelman found a surgery algorithm that allowed him to control the metrics parameters and the flow after a surgery which removes a singularity is performed. This algorithm permitted Perelman to investigate the long-time behavior of the flow with surgeries and finally to prove the geometrization conjecture.
In his work on the geometrization conjecture Perelman introduced a number of fundamental new tools which include his entropy functional, reduced length, reduced volume, and other. Since then these ingredients found new developments and new applications. One of the first applications of Perelman's work to hyperbolic geometry was given by Agol, Storm and Thurston in [2], where Perelman's montonicity formula for the Ricci flow with surgery is used to prove a lower bound for the volume of a hyperbolic 3-manifold with totally geodesic boundary.

Visualizing Riemannian 3-manifolds
This section provides an introduction to Riemannian ray tracing [42,43], a computer graphics technique that allows rendering of images inside a Riemannian manifold (M, g). We will use this concept in Section 6 to visualize scenes embedded in 3-manifolds modeled by Thurston's geometries. We assume that light propagates along the rays in (M, g) and that it is constant in vacuum.
A scene S in M is a set of surfaces {S i } inside M . Some of these surfaces may emit radiant energy, thus, iterating the rays leaving the light sources illuminates the scene S. To render inside views of the illuminated scene S we define a camera model in M .

Camera
We follow the classical camera definition in [18,Chapter 11] to construct a camera in the three-dimensional manifold M . Let p ∈ M be the camera position and {n, u, w} be an orthogonal basis of the tangent space T p M which specifies the camera orientation. The vector n is the optical direction, u is the up direction, and w = n ∧ u. The reference frame (p, {n, u, w}) defines the coordinate system of the camera space. The image plane U of the camera is the plane in T p M perpendicular to the optical direction n at a focal distance d from p. Thus, the pair (dn, {u, w}) defines a coordinate system of the image plane U .
We use the camera to render an inside view of the scene S in the manifold M . Each direction v ∈ U can be associated with the RGB color that arrives at the observer point p in the direction −v. More precisely, we define a continuous image as a map I : U → C that associates an RGB color I(v) ∈ C to each direction v ∈ U . This is done by launching a geodesic ray γ, satisfying γ(0) = p and γ (0) = v/ v . When γ hits a surface S i of the scene S at a point q = γ(t 0 ), we define the RGB color I(v) by computing the radiant energy emitted from q in the direction −γ (t 0 ). To compute this radiant energy, we consider the Riemannian illumination function of (M, g).

Riemannian illumination
Kajiya defined the illumination function in the Euclidean space [27]. Novello et al. in [42] extended it to Riemannian manifolds. Specifically, let q ∈ M be a point in a surface S i of the scene S. The illumination function computes the amount of light emitted in a direction v ∈ T q M . This is modeled through the integral equation over the unit hemisphere Ω(q) = {v ∈ T q M | g q (v, N ) ≥ 0 and g q (v, v) = 1}, where N is the normal vector of S i at q: The bidirectional reflectance distribution function (BRDF) f (q, v, w i ) defines how the light reflects at the point q, and L e (q, v) is the light emitted from the surface S i at q in the direction v. The term g q is the Riemannian metric g restricted to the tangent space T q M .
Considering the contribution of the directions w i leaving q, we divide Equation (5) into three components where L e (q, v) is the light emitted from the surface, L dir (q, v) is the direct contribution coming from the light sources, and L ind (q, v) is the indirect contribution reflected by other surfaces.
For computing the direct illumination, we evaluate the BRDF f using unit tangent vectors. Then we perform the next event estimation, i.e. find a direction towards a light source with appropriate importance sampling. Finally, we compute the form factors, i.e. determine the size of the projected solid angle for a given subset of the manifold.
For the indirect illumination L ind (p, v), we use the Monte Carlo integration to estimate an approximation of the light reflected from other surfaces. Let {w 1 i , . . . , w k i } be k vectors on the hemisphere Ω(q) chosen using a distribution density d w . The Monte Carlo integration states that If L(q, w k i ) is known, the law of large number ensures the convergence when n → ∞. Otherwise, by computing these approximations for each L(q, w k i ) and repeating this procedure for a finite number of iterations, we get an approximation for the indirect illumination function L ind (q, v).

Image
Let (p, {n, u, w}) be the reference frame of our camera model. We use the Riemannian illumination to define the continuous image I : U → C that shows an inside view of the 3-manifold M . In this work, we consider only an approximation of the Riemannian illumination using the direct contributions coming from the light sources, i.e. L(q, v) ≈ L e (q, v) + L dir (q, v). See [42] for visualizations using indirect illumination.
To represent the image I : U → C in a computer, we need a discretization of its domain U . We use the classical computer graphics notion of image (see [18,Chapter 6]). Remember that the image plane U is a plane inside T p M perpendicular to the optical direction n, at a focal distance d from the camera position p. The pair (dn, {u, w}) defines a reference frame for the image plane U , so a point dn + xu + yw ∈ U is represented as (x, y) in this frame. We use this coordinate system to discretize U . First, restrict U to the rectangle [a, b] × [c, d] centered at dn, where a, b, c, d ∈ R. To discretize the rectangle consider a regular two-dimensional k × l grid P ∆ = {p ij = (x i , y j ) ∈ R 2 }, where x i = a + i∆ x , and y i = c + j∆ y with ∆ x = (b − a)/k and ∆ y = (c − d)/l. The grid is formed by a set of kl cells c ij = [x i , x i+1 ] × [y j , y j+1 ] which are called pixels (abbreviation of picture elements).
We sample the image function I at each pixel c ij by considering the color I(p ij ). This is calculated by casting a geodesic ray from the camera position p towards the direction p ij , when it hits a surface point of the scene, we compute an approximation of the Riemannian illumination at this point. Therefore, the image function I can be represented as a k × l matrix I(p ij ) which is the proper representation of an image with k × l pixels.
We now summarize the above visualization approach. Inside views of a scene S in the 3-manifold M can be rendered by tracing rays. Let p be a camera position, and P ∆ be a discretization of the image plane U . We give an RGB color to each pixel in the image plane, by tracing a ray towards the associated direction. This color is computed using an approximation of the Riemannian illumination. Figure 2 gives a schematic view of this procedure in dimension 2.
In the classical approaches ray tracing approximates physical illumination [68]. The above ray tracing model for Riemannian 3-manifolds can be also used to compute a Riemannian shading function for the local [61] or global illumination [42].
Visualizations of the classical Thurston geometries using simple shading for local illumination can be found in [39]. In Section 6.1 we describe the process in more detail and present examples. In Section 6.2, an RGB pseudo-color based on properties of the space or attributes of the objects, such as surface normal, is used to define the Riemannian shading. The final Section 7 presents some non-Euclidean visualizations considering global illumination (cf. [42]). Figure 2. On the left, tracing rays in a Riemannian manifold M . Let p be the observer and Vp be the view frustum (gray region) in the tangent space TpM . We launch a ray γ towards each vector v ∈ Vp. If γ hits a visible object (red triangle) in γ(|v|) = q we define an RGB color for the corresponding point in the near plane of Vp by considering the direct and indirect illumination (image from [43]). On the right, the hit point q is connected with the light source l through a geodesic.

The eight Thurston Geometries
The geometrization of compact orientable 3-manifolds provides tools for decomposing them into pieces shaped by eight homogeneous geometries. In this section we provide the definitions and discuss some features of these geometries. We will also see why the hyperbolic geometry is the richest among the Thurston's geometries. Excellent presentation of the eight Thurston's geometries can be found in [33], [51], [59], [65], and other sources.
The classification of geometric pieces mentioned above makes use of the concept of Seifert manifolds. These are closed manifolds admitting a decomposition in terms of disjoint circles. The principal two results are the following (cf. [33]): The first result states that a closed orientable 3-manifold can be geometrically modeled by one of the following six geometries if and only if it belongs to a special class of Seifert manifolds. It has a Sol geometric structure if and only if it admits a particular torus bundle, called the torus (semi-)bundle of Anosov type. Thus the only geometry which does not have a fiber structure is the hyperbolic geometry. An outstanding conjecture of Thurston beyond the geometrization conjecture stated that hyperbolic 3-manifolds virtually fiber over a circle. This conjecture was proved by Ian Agol in a spectacular work [1]. Agol's argument is based on geometric group theory, in order to keep inline with our main topic we will refrain from discussing the details of this work.
The second result states that if a closed orientable 3-manifold admits a geometric structure modeled by one of the eight Thurston's geometries, then it is specified by the manifold fundamental group: The seven classes of fundamental groups mentioned above represent a restricted portion of the set of all possible fundamental groups. This implies that the hyperbolic manifolds are more abundant. We skip the precise algebraic definition of the groups involved in the table, any text on group theory can serve as an introduction.
Thurston's geometries can be divided in two classes. The isotropic geometries (Euclidean, spherical, and hyperbolic spaces) are called classical. The product geometries S 2 × R and H 2 × R, and also N il, Sol and SL 2 (R) are the non-isotropic geometries. All these geometries are homogeneous. The classical geometries admit constant sectional curvature since they are isotropic [7].

Isotropic geometries
For any dimension n ≥ 2 there exists a unique complete, simply connected Riemannian manifold having constant sectional curvature 1, 0, or −1. These are the isotropic geometries: the sphere, the Euclidean space, and the hyperbolic space. Conversely, if a complete manifold has constant sectional curvature 1, 0, or −1, then it must be a quotient of such model geometries by a discrete group (see Proposition 4.3 in [7]).
This subsection presents the isotropic geometries, examples of manifolds modeled by them, and inside views of these spaces using non-Euclidean ray tracing techniques [61]. The visualizations consider only the scenes composed of Lambertian surfaces, i.e. the radiance is independent of the angle from which the surface is viewed and of the angle from which it is illuminated. The scenes are ray traced using simple shadings and no indirect light transport is considered. Edges of the fundamental domain of the spaces are added to highlight their structure. For "photorealistic" views considering more complex scenes and indirect illumination see [42]. For visualizations using classical rasterization techniques we refer to Weeks [64].

Euclidean space
In dimension two, every orientation preserving isometry of the Euclidean space E 2 which has no fixed points is a translation. Therefore, if E 2 /Γ is a compact orientable surface, it must be the torus (see [33,Section 6.2]). In dimension three this list is increased by five more orientable manifolds since we can compose rotations with translations. These manifolds are schematically presented in Figure 4.
where u and v are vectors in R 3 . The distance between two points p and q is d E (p, q) = p − q, p − q E . The curve γ(t) = p + t · v describes a ray leaving a point p in a direction v. Analogously, for any natural n we can construct the n-dimensional Euclidean space E n .
For an example of a 3-manifold modeled by E 3 , consider the flat torus T 3 , obtained by gluing opposite faces of the unit cube in E 3 . The torus T 3 is also the quotient of E 3 by its group of translations generated by (x, y, z) → (x + 1, y, z), (x, y, z) → (x, y + 1, z) and (x, y, z) → (x, y, z + 1). The unit cube is the fundamental domain.
A ray leaving a point p ∈ T 3 in a direction v is parameterized as r(t) = p + t · v. For each intersection between r and a face F of the unit cube we update the point p by p − n in the opposite face, where n is the normal to F . The direction v does not need to be updated.
Thus, we have everything what is needed for an inside view of the three-dimensional torus T 3 . The fundamental domain receives the scene and the rays in T 3 can return to it, resulting in many copies of the scene. The immersive perception is E 3 tessellated by the scene copies; see Figure 3. Besides the torus there are exactly five more compact oriented 3-manifold with geometry modeled by the Euclidean space, see Figure 4.  Figure 4 presents three flat 3-manifolds having the cube as their fundamental domains. The first example is the flat torus (illustrated in Figure 3) and the other two spaces are similar to the torus but with a different face identification. Figure 5 shows the immersive visualizations of these two 3-manifolds.

The first line of examples in
On the left, one of the face identifications has a rotation of π, therefore, when looking towards that face, we see ourselves upside down in the next copy. Suzanne model was attached to the camera position to give the user a better perception of the space. On the right, the same face identification has a rotation of π/2.   Figure 4. The first two manifolds have the hexagonal prism as their fundamental domains. The only difference in these spaces is the identification of the hexagonal faces. The last image gives the immersive view of the 3-manifold modeled by the parallelepiped in Figure 4. We are looking towards the face with the green triangle label.

Hyperbolic space
Here we describe the hyperboloid and Klein models and present a manifold modeled by the hyperbolic 3-space. There are plenty of hyperbolic manifolds, making this concept a central actor in the topology of 3-manifolds (cf. [33]).
The Lorentzian space is R 4 with the product where p and q are points in H 3 . Due to its similarity to the sphere definition, H 3 is known as the pseudo-sphere.
A tangent vector v to a point p in H 3 satisfies p, v H = 0. Moreover, the tangent space T p H 3 coincides with the set {v ∈ R 4 | p, v H = 0}. The Lorentzian inner product is positive on each tangent space.
Rays in H 3 arise from intersections between H 3 and planes in R 4 containing the origin. A ray leaving a point p ∈ H 3 in a tangent direction v is the intersection between H 3 and the plane spanned by the vectors v and p. Its parameterization is r(t) = cosh(t)p + sinh(t)v. Thus, rays in this model of the hyperbolic space can not be straight lines.
It is possible to model the hyperbolic 3-space in the unit open ball in R 3 -known as the Klein model K 3 -so that in this model the rays are straight lines. More precisely, each point p ∈ H 3 is projected in the space {(x, y, z, w) ∈ R 4 | w = 1} by considering p/p w , the space K 3 is obtained by forgetting the coordinate w.
The hyperbolic space is an example of a non-Euclidean geometry, since it does not satisfy the Parallel Postulate: given a ray r and a point p / ∈ r, in the plane though p and r there exists a unique line parallel to r. For a ray r in the hyperbolic space and a point p / ∈ r there is an infinite number of lines in the plane (p, r) which go through p and do not intersect r.
For a compact 3-manifold modeled by hyperbolic geometry consider the Seifert-Weber dodecahedral space. It is the dodecahedron with an identification of its opposite faces with a clockwise rotation of 3π/10. The face pairing groups edges into six groups of five, making it impossible to use Euclidean geometry: the regular Euclidean dodecahedron has a dihedral angle of about 116 degrees. The desired dodecahedron should have a dihedral angle of 72 degrees, which is possible in the hyperbolic space by considering a regular dodecahedron of an appropriate diameter. Now we can ray trace the Seifert-Weber dodecahedron. A ray leaving a point p ∈ M in a direction v is given by r(t) = p + tv since we are using the Klein model. For each intersection between r and a dodecahedron face, we update p and v through the hyperbolic isometry that produces the face pairing above. This isometry is quite distinct from Euclidean isometries [20]. The immersive perception of M using this approach is a tessellation of H 3 by dodecahedra with a dihedral angle of 72 degrees. Figure 7 illustrates an inside view of the Seifert-Weber dodecahedral space. Figure 7. Immersive view of the Seifert-Weber dodecahedron. We use the dodecahedron to set up our scene: a unique Suzanne with hands and dodecahedron's edges. The face pairing make the rays that leave a face to return, with an additional rotation, from its opposite face, giving rise to many copies of the scene.

Spherical space
The 3-sphere S 3 is {p ∈ E 4 | p, p E = 1} with the metric d S (p, q) = cos −1 p, q E . As in the hyperbolic case, a vector v tangent at a point p ∈ S 3 must satisfy p, v E = 0. Therefore, the tangent space T p S 3 at p corresponds to the set {v ∈ E 4 | p, v E = 0}. The space T p S 3 inherits the Euclidean inner product from E 4 .
A ray in S 3 leaving a point p towards a direction v ∈ T p S 3 is the arc given by the intersection of S 3 and the plane (p, v) ⊂ R 4 spanned by p and v. Its parameterization is r(t) = cos(t)p + sin(t)v. Therefore, spherical rays are not straight lines.
The 3-sphere S 3 is also a model of non-Euclidean geometry since it also fails the parallel postulate: there are no parallel lines. In a 2-sphere S 2 ⊂ S 3 , any two distinct rays will intersect at exactly two antipodal points.
We consider the Poincaré dodecahedral space for a compact 3-manifold modeled by spherical geometry. It is obtained by gluing the opposite faces of a dodecahedron with a clockwise rotation of π/5. The face pairing groups edges into ten groups of three, again, we cannot use Euclidean geometry. We need a dodecahedron with a dihedral angle of 120 degrees, for this, we consider a spherical dodecahedron with an appropriate diameter. Figure 8 illustrates an inside view of the Poincaré dodecahedral space. First constructed by Henri Poincaré, the Poincaré dodecahedral space (also known as the Poincaré homological sphere) has trivial homology and its fundamental group is the binary icosahedral group of order 120. This space is the only homology 3-sphere, besides S 3 itself, with a finite fundamental group.
The immersive visualization of the Poincaré dodecahedral space is a tessellation of S 3 by 120 dodecahedra. Each dodecahedron corresponds to an element of the binary icosahedral group. This is the boundary of the four-dimensional regular polytope, with Schläfli symbol {5, 3, 3}, known as the 120-cell (see Figure 8).
The boundary of the four-dimensional 120-cell is a three-dimensional cellular decomposition of the 3-sphere consisting of 120 dodecahedra with 4 meeting at each vertex. The 120-cell can be interpreted as the four-dimensional extension of the regular dodecahedron, which has Schläfli symbol {5, 3}. The boundary of the dodecahedron is a cellular decomposition of the 2-sphere in 12 pentagons, with 3 around each vertex. On the other hand, the boundary of the 120-cell is a cellular decomposition of the 3-sphere with 120 dodecahedra, with 3 around each edge.

Non-isotropic geometries
The eight three-dimensional geometries include products of lower-dimensional geometries, which are S 2 × R and H 2 × R endowed with the product metric. We do not present immersive visualization of them because they model only few manifolds (see [33,Section 12.4]). Visualizations of these geometries are given by Weeks in [66].
The geometry S 2 × R models very few manifolds. The sectional curvature is 1 along the horizontal directions and 0 along the verticals. Recall that sectional curvature of a plane is the Gauss curvature associated with the surface generated by such a plane. The geometry S 2 × R is the only Thurston geometry which is not a Lie group. It is also the only geometry that models 3-manifolds with essential 2-spheres.
For an example of a 3-manifold modeled by S 2 × R, consider the 3-manifold S 2 × S endowed with the product metric. The geometry of S 2 × S can not be modeled by classical geometries, since S 2 × S has S 2 × R as it universal covering and this is not an isotropic space. The only other example of a manifold modeled by S 2 × R is the connected sum of projective spaces RP 3 #RP 3 .

The space H 2 × R
The geometry H 2 × R is given by the product of the hyperbolic and Euclidean metrics. Analogously to the S 2 × R geometry horizontal and vertical planes have sectional curvature −1 and 0, respectively. Compact manifolds modeled by H 2 × R are either of the form Σ × S, where Σ is a closed hyperbolic surface, or are finitely covered by such manifolds.
In [50], Harold Rosenberg initiated systematic study of minimal surfaces in S 2 × R and H 2 × R. This study has grown into an active area of modern differential geometry with important general theorems and beautiful examples. The product geometries provide a bridge from R 3 to the other Thurston's geometries, for example H 3 , which came into focus in more recent investigations. Visualization of minimal and constant curvature surfaces is a feasible next step for the visualization project and we expect that here the product geometries will play a prominent role.
The remaining three non-isotropic geometries to analyze are not products, but they admit a kind of "bundle structure". The first attempt to visualize these spaces in real-time (using VR) took place in 2019 [43]. We give a brief introduction to these geometries, along with visualizations of their abstract landscapes using Riemannian ray tracing. The visualization uses RGB pseudo-color based either on the properties of the space or on the attributes of the objects, such as the surface normal, to define the Riemannian shading function. See [8,9,10,30,49,52] for other approaches to this problem.

Nil space
Nil geometry is an R-bundle over R 2 . This geometry is constructed from the Lie group H called the Heisenberg group [33].
The Nil space (N il) is an example of a Lie group consisting of all 3 × 3 real matrices with the matrix multiplication operation. There is a natural identification of R 3 with N il.
The multiplication of elements (x, y, z) · (x , y , z ) = (x + x , y + y , z + z + xy ) in N il is the sum of the coordinates with an additional term in the last one. This term makes all the difference, since in order to define a geometry in N il we consider the left multiplications (x, y, z) → p · (x, y, z), for all p ∈ N il, being isometries.
We construct a metric in N il by considering the Euclidean product in the tangent space at e = (0, 0, 0). Then we extend it by the left multiplication. After some calculations we obtain the scalar product between the tangent vectors u and v at a point p: The 3 × 3 matrix above defines a metric at p. Varying p we obtain a Riemannian metric ·, · , since each matrix entry is differentiable. The vectors (1, 0, 0), (0, 1, p x ), and (0, 0, 1) form an orthogonal basis at p. Also, the volume form of N il coincides with the standard one from R 3 , since the metric determinant is equal to one. The geodesic flow on N il admits a solution [56]. A ray γ(t) = (x(t), y(t), z(t)) starting at (0, 0, 0) in the tangent direction v = (c cos(α), c sin(α), w) is given by: To compute a geodesic β(t) starting at p in the direction v, we first translate the initial conditions to the origin and then compute the geodesic using the solution above. We translate this back to the desired position. Note that geodesics joining two points in N il are in general not unique.
For a compact manifold M modeled by N il consider a discrete group Γ generated by the "translations" in the direction of axis x, y, and z: Φ 1 (p) = (x + 1, y, y + z), Φ 2 (p) = (x, y + 1, z), and Φ 3 (p) = (x, y, z + 1). The manifold M inherits the geometry of N il. For each fixed x we obtain a two-dimensional torus and M is foliated by tori. The unit cube is the fundamental domain. We set the scene inside the cube and ray trace it using the concepts from Section 5.4. Each time a ray intersects a cube face we update it using Γ. Figure 9 gives an inside view of M = N il/Γ. The scene is composed of thickening in 2D of the boundary of the fundamental domain faces. Opposite faces get the same shading: red, green, and blue for the faces parallel to the axis, x, y, and z, respectively. In the images, the lines shaded with red and green are extended to infinity as straight lines. These lines are geodesics of N il and are perpendicular to the plane yz; lines with such property foliate the space N il. The three-dimensional Heisenberg group H provides a basic example of contact geometry (see [19, Sections 0.2 and 0.3]). Here the idea is to define a distance on H restricted to a polarization given by the left translates of the (x, y)-plane. The distance between two points is the infimum of the length of the paths whose tangents belong to the polarization. Because the N il space is curved in a particular way, it appears that any two points can be joined by such a path. The resulting metric is not Riemannian, it is an example of so called Carnot-Carathéodory metric and it is very different from the Riemannian metric of N il. This construction gives the simplest non-trivial example of a contact Carnot-Carathéodory metric space which is arguably the most important at the same time. We refer to a beautiful monograph "Carnot-Carathéodory spaces seen from within" by M. Gromov for an introduction to this subject [19]. Inside view of the Carnot-Carathéodory spaces is an interesting project for the future investigation.
The SL 2 (R) geometry is similar to N il, but it is now an R-bundle over H 2 . This geometry is constructed from the Lie group SL 2 (R). In [43] the space SL 2 (R) is described in more details focusing on the technical aspects of visualization.
We follow the notation of Gilmore [17]. The special linear group SL 2 (R) consisting of all 2 × 2 matrices with unit determinant is a Lie group: the product of two matrices with unit determinant has unit determinant, the same for the inverse matrix.
To understand the hyperbolic nature of SL 2 (R) observe that the elements of SL 2 (R) are matrices a b c d such that ad−bc = 1. Hence SL 2 (R) is a 3-manifold whose embedding in R 4 is given by {(a, b, c, d) ∈ R 4 | ad − bc = 1}. Rewriting ad − bc = 1, we get: which is an equation of a three-dimensional hyperbola in R 4 . There is also an identification of SL 2 (R) with H 2 × S 1 ; see [43] for more details. That is, SL 2 (R) is not simply connected, which implies that it is not a model geometry.
However, the universal cover SL 2 (R) of SL 2 (R) is a model geometry (see [58]). We focus on the visualization of SL 2 (R) since the geometries are locally isometric.
We use the parameterization of a neighborhood of identity in SL 2 (R) from [17]: x(x, y, z) =    1 + x y Observe that x(0, 0, 0) is the identity of SL 2 (R), and that in the plane x = −1 the map x is not defined. We use x to push-back the metric of SL 2 (R) to R 3 . We now construct a metric in the SL 2 (R). The element e = ( 1 0 0 1 ) is the identity of SL 2 (R). Let T e SL 2 (R) be the tangent space at e with the well-known scalar product u, v e = Trace(u · v) between two tangent vectors u and v [17]. As in N il geometry, we extend it to a Riemannian metric using left multiplication.
Using the above Riemannian metric we obtain the geodesic flow below, which can be solved using Euler's method (see [43]): x k = y k , k = 1, 2, 3, (1 + p y p z )y 2 1 1 + p x − p z y 1 y 2 − p y y 1 y 3 + (1 + p x )y 2 y 3 , In [13,32], the authors provide compact formulas for the geodesics of SL 2 (R), however, they use a different parameterization of the space. It could be interesting to explore those formulas to increase performance in the visualizations. Figure 10 presents a visualization of SL 2 (R). The image is a visualization of an quotient manifold of SL 2 (R) by an infinite cyclic discrete group. It is a non-compact and infinite volume manifold. The picture presents an inside view of the special linear group SL 2 (R) which has the geometry modeled by SL 2 (R). The image refers to an immersive visualization of a grid defined in the domain of the parameterization x(x, y, z) of SL 2 (R). The parameterization distorts the grid following the geometry of SL 2 (R). The choice of the RGB colors was done empirically for the (x, y, z) coordinates of the hit points.  with the multiplication operation. Clearly, Sol is diffeomorphic to R 3 .
Let (x, y, z) and (x , y , z ) be two elements in Sol. Their multiplication has the form: (x, y, z) · (x , y , z ) = (x e z + x, y e −z + y, z + z ), which is the sum of the element coordinates controlled by an additional term in the first coordinates. To endow Sol with a geometry we consider the Euclidean metric in the tangent space at the origin and extend it by left multiplication. After some computations we get the scalar product of two tangent vectors u and v at p: The matrix above defines a metric at p. Varying p we obtain a Riemannian metric ·, · , since each matrix entry is differentiable. The volume form of Sol coincides with the standard one from R 3 , since the determinant of the above matrix is one.
Unfortunately, there is no solution for this system in terms of elementary functions [55]. Troyanov [60] obtained a formula for geodesics in Sol, however, it contains many coefficients that can not be computed in a closed formula. He classified Sol geodesics in classes of equivalence, the horizons of Sol.
Similarly to the case of N il, geodesics joining two points in Sol geometry are not unique.
The manifold M = Sol/Γ inherits the geometry of Sol, and for each fixed z 0 it contains a 2-torus which is the quotient of R 2 × {z 0 } by the discrete group generated by Φ 1 and Φ 2 . Thus M is foliated by the 2-tori. The parallelepiped D × [0, 2 ln φ) is a fundamental domain of Γ, where D is the unit square.
The scene is set inside the parallelepiped and ray traced using Sol rays. Each time a ray hits a parallelepiped face it is updated by the discrete group Γ. As in the N il section, a Riemannian shading is defined for Sol. The scene was created by thickening the boundary of the fundamental domain faces and the opposite faces get the same shading. Figure 11 presents the visualization of the manifold M = Sol/Γ. Figure 11. Inside view of a Sol manifold. The scene is composed by the cube's edges. The face pairing makes the rays that leave a face return from its opposite, tessellating Sol.

Final remarks
This expository paper provides a brief overview of the history, main definitions, and important results regarding Thurston's geometries. We focused on an intuitive presentation of the geometrization conjecture which, roughly speaking, states that any 3-manifold can be cut into nice geometric pieces, each modeled by one of the eight Thurston's geometries. This fundamental conjecture, which is now a theorem due to Perelman, motivated computer graphics algorithms for immersive visualization of such geometric structures. In the paper we present the images that were rendered by using the recent Riemannian ray tracing algorithm.
We believe that the development of Computer Graphics techniques in Riemannian geometry, such as the Riemannian ray tracing, could be an ally in mathematical research in low-dimension geometry and topology. Being inside these abstract landscapes by means of the Virtual Reality devices could inspire new ideas or help us to gain more intuition on these geometries. Several ongoing projects have been using the Virtual Reality to interactively visualize the eight Thurston geometries [43,61,41,62,63,10]. Furthermore, very recently, a global illumination algorithm was introduced to produce "photorealistic" inside views of Thurston's classical geometries (see Figure 12). We refer to [42] for more details on this project. On the other hand, Riemannian geometry tools could help us in development of new computer graphics algorithms. For example, a path for future work would be focusing on time/user-dependent Riemannian metric constructions on the ambient space to explore the special effects like warping, mirages [54], and scene deformation [5]. In [40], the authors used graphs of functions to design Riemannian metrics on R 3 , allowing modeling of expressive effects (see Figure 13). We expect that curved rays can advance the state of the art in many areas, not restricted to rendering only. Figure 13. The figures provide immersive visualizations of three-dimensional graphs of Gaussians. We set our scenes in R 3 and we push-back the metric of the graph to R 3 to ray trace a regular grid. From the left to right: no deformation, local deformation, global deformation, two local deformations using the sum of Gaussians.
In conclusion, we can mention some other interesting projects that follow the non-Euclidean visualization program presented in this work. The visualization of surfaces embedded in the eight Thurston geometries is a feasible problem. For example, being inside the 3-sphere would allow us to visualize the flat torus, which is not possible in the Euclidean 3-space. More general visualization of minimal and constant curvature surfaces is a natural continuation of this proposal, we expect that in this context the product geometries of Thurston will play a prominent role. Inside view of the other three-dimensional metric spaces, such as the Carnot-Carathéodory spaces briefly discussed in Section 6.2.3, is another interesting project for the future investigation.