A discussion of matrices for hyperbolic geometry
I recently posted a very hasty overview of hyperbolic operations. I now present a brief overview of using matrices for rigid body transformations in the Minkowski representation of hyperbolic geometry; this will pave the way for hyperbolic tilings and the subjective experience of living in a hyperbolic geometry.
The basic idea of matrix transformations is to multiply the column vector (x, w), where x is a vector and w is the homogeneous part, by a matrix to produce a new, transformed vector. I will frequently represent these as block-matrices, like so for the identity transformation,
|
|
|
where I is the identity matrix.
All rigid body transformations can be expressed as a sequence of rotations about the origin and translations. Each of these, in turn, can be expressed as translations along a principal axis and rotations between two principal axes.
Rotations are represented by
|
where R is an orthogonal matrix, or equivalently a Euclidean rotation matrix or spherical rigid transformation matrix. For pair-axis rotations, R is an identity matrix excepting four cells: (i, i) and (j, j) are equal to cos(θ); (i, j) is equal to sin(θ); and (j, i) is equal to –sin(θ).
Principal axis translations are represented by
|
where s is all zeros except for element, i, which is equal to sinh(d); and T is the identity matrix except that cell (i, i) is equal to cosh(d).
It is possible to generate any rotation matrix by an appropriate sequence of translations. For example, if cosh(d) is the golden number This magical number, d = 1.06127506190504…, is the edge length of the Schläfli {5, 4} tessellation. then translating d five times along (in order) +x, +y, –x, –y, and +x is equivalent to rotating 90° in the x-y plane.
For any rigid transformation matrix, the final row and column are always normalized points (that is, they self-dot to 1) and the other rows and columns are always normalized planes (that is, they self-dot to –1).
Looking for comments…