Next: Mathematica, Previous: GCL, Up: Top

## 8 Non-Euclidean Geometry

Geomview supports hyperbolic and spherical geometry as well as Euclidean geometry. The three buttons at the bottom of the Main panel are for setting the current geometry type.

In each of the three geometries, three models are supported: Virtual, Projective, and Conformal. You can change the current model with the Model browser on the Camera panel. Each Geomview camera has its own model setting.

The default model is all three spaces is Virtual. This corresponds to the camera being in the same space as, and moving under the same set of transformations as, the geometry itself.

In Euclidean space Virtual is the most useful model. The other models were implemented for hyperbolic and spherical spaces and just happen to work in Eucldiean space as well: Projective is the same as Virtual but by default displays the unit sphere, and Conformal displays everything inverted in the unit sphere.

In hyperbolic space, the Projective model setting gives a view of the projective ball model of hyperbolic 3-space imbedded in Euclidean space. The camera is initially outside the unit ball. In this model, the camera moves by Euclidean motions and geometry moves by hyperbolic motions. Conformal model is similar but shows the conformal ball model instead.

In spherical space, the Projective model gives a view of half of the 3-sphere imbedded in Euclidean 3-space. Spherical motions give rise to projective transformations in the Projective model, and to Moebius transformations in the Conformal model. In both of these models the camera moves by Euclidean motions.

In Projective and Conformal models, the unit sphere is drawn by default. You can turn it off and on at will using the Draw Sphere button in the Camera panel. In the Conformal model, polygons and edges are subdivided as necessary to make them look curved. The parameters which determine this subdivision can be set with the `set-conformal-refine` GCL command. See `(set-conformal-refine ...)`.

There are several sample hyperbolic space objects in the `data/geom/hyperbolic` subdirectory of the Geomview directory. Likewise, the subdirectory `data/geom/spherical` contains several sample spherical space objects.