Hyperbolic Translations

One of the crucial issues in the construction of the implementation of the transversion automaton is how it interpolate its geometric relationships (transversions and rigid body motions) through space to generate a surface in 3D.  The input data is pentagonal tiling of the surface unfolded into a (5, 4) hyperbolic tiling with the state of the transversion automaton defined at the vertices of the tiling.

Interpolation the state of the automaton across the tiling is subject to the constraint that any given arc through the tiling represents a complete cycle around some part of the surface and must therefore be a harmonic function of the transversion state.

Ideally, the interpolation scheme chosen will evenly sample the space over which the interpolation is performed in order describe the most surface for the least number of interpolation points.  In the case of the transversion automaton, the interpolation space is hyperbolic.  As a result, our familiar Euclidean intuition about what constitutes evenly spaced samples doesn’t apply.  The most straightforward way to interpolate hyperbolically is to work with a mapping of hyperbolic space into Euclidean space and develop the geometry of interpolation through that mapping.  In this case, the mapping is the Poincaré disc model of the hyperbolic plane.

The Poincaré Disc in Geometric Algebra

In the conformal model of Geometric Algebra (GA), the usual Euclidean axes are augmented with two additional axes representing the point at infinity and the point at the origin.  In other words, the point at infinity is explicitly represented in the model of Euclidean space.  As a result, new symmetries appear enable exotic transformations that smoothly interpolate between circles and lines or spheres and planes since lines are essentially circles of infinite radius and planes are spheres of infinite radius.  Furthermore, translations and rotations collapse into a single representation since translations are really just rotations about the infinite point.

In GA, the particular representation of infinity is fungible and depending on which representation is chosen, a particular geometry will arise.  For Euclidean geometry, infinity is taken as a point.  For spherical and hyperbolic geometry, infinity is typically taken as the unit sphere where the only difference is that spherical geometry is given by the imaginary dual unit sphere and hyperbolic geometry by the real dual unit sphere.  Imaginary spheres have a negative radius while real spheres have a positive radius.  In the Poincaré disc model of hyperbolic space, infinity is also represented by a unit sphere in 3D and a 2D sphere (aka a circle) in 2D space.  The beauty of all this is that all of our previously acquired knowledge about working with spatial transformations in the conformal model of Euclidean space still apply to hyperbolic space.  All that needs to be done is to swap the usual \(\infty\) with \(o – \frac{\infty}{2}\).

For example, given two points \(p\) and \(q\), the line through them is given by \(L = p\wedge{}q\wedge{}\infty\).  The hyperbolic line through them is given by \(L = p\wedge{}q\wedge{}(o – \frac{\infty}{2})\).  Of course, the hyperbolic line is not a line in the Euclidean sense but instead a circular arc.

The reason for this difference is that hyperbolic space expands as you move away from the center, so the mapping to Euclidean space squishes it toward the unit circle, bending the line into a circle.


Translations in hyperbolic space also occur along circular arcs and from a Euclidean point of view move quickly through the center of the disc and slowly toward the perimeter.  In Euclidean space, translations along lines are described by \(exp(-\infty{}\rfloor{}\frac{L}{2})\) with the equivalent hyperbolic expression being \(exp(-e\rfloor{}\frac{L}{2})\) where \(e = o – \frac{\infty}{2}\).

The real trick with hyperbolic translations is how to get them into a form that is useful for interpolation purposes.  Essentially, we want to calculate a hyperbolic translation that will move between two points in a fixed number of steps.  The form of the translation given above won’t do this because the line is not normalized and thus scales the distance covered by translation by a factor.  To calculate a hyperbolic translation that moves between two points in N steps, the term \(-e\rfloor{}L\) has to be normalized and then scaled by half the hyperbolic distance between the points.

Hyperbolic distance can be calculated in GA by first normalizing the given points in terms of hyperbolic space.  The condition for normalization is \(-e\dot{}p = -1\).  The distance between two points is then \(d(p, q) = acosh(1 – \frac{-p}{e\dot{}p}\dot{}\frac{-q}{e\dot{}q})\).  The algorithm for computing the interpolating translation is:

  1. Construct a translation bivector between \(p\) and \(q\) as \(T = e\rfloor{}(p\wedge{}q\wedge{}e)\).
  2. Normalize it \(T_n = \frac{T}{\sqrt{T*T}}\).
  3. Calculate the distance between \(p\) and \(q\) using \(d(p, q) = acosh(1 – \frac{-p}{e\dot{}p}\dot{}\frac{-q}{e\dot{}q})\).
  4. Scale the normalized bivector and exponentiate it \(V = exp(T_n\frac{d}{2N})\) where N is the number of steps to take between the points.

V is then the versor used to translate \(p\) into \(q\) over N steps.

In the image above, the edges of the pentagon are drawn by interpolating between the vertices 20 steps.  The pink points are midpoints while the blue divide the edges into quarters.  The pink and blue points were calculated with a hyperbolic lerp constructed from the hyperbolic translation algorithm.

This entry was posted in Computational Technique, Space and Geometry and tagged , , . Bookmark the permalink.

2 Responses to Hyperbolic Translations

  1. Pingback: Alexander7

  2. Pingback: TERRENCE

Leave a Reply