Realizing Right-Angled Hyperbolic Hexagons in the Upper Half Plane

Turning abstract moduli data into concrete coordinates for rendering.

As we saw in Part I, there is a 3-dimensional moduli space of right angled hexagons in the plane, uniquely parameterized by specifying a triple of alternating side lengths.

In this note, we compute a specific representation of such hexagons, by defining a map from such a triple to an ordered 6-tuple of geodesics. For concreteness we work in the upper half plane, where geodesics are faithfully represented by their endpoints, as an unordered pair in R:=R{}\overline{\mathbb{R}}:=\mathbb{R}\cup\{\infty\}. Such an explicit representation allows us to compute the group generated by reflections in the sides, and produce beautiful hyperbolic tilings as below:

It will be useful to recall a bit of notation: write the alternating known side lengths by x,y,zx,y,z, and the three opposing sides as X,Y,ZX,Y,Z respectively. We will label each geodesic by its side length, so γx\gamma_x represents the geodesic of side length xx, and γZ\gamma_Z the geodesic of side length ZZ. The colors below are the ones referred to throughout: red for the vertical, yellow for the unit circle, then purple, green, indigo and sky blue.

In Part I, we found the explicit formulas for X,Y,ZX,Y,Z in terms of x,y,zx,y,z. Thus in our computations here we will freely use all six sides, knowing that three are already determined from the remainder.

coshX=coshycoshz+coshxsinhysinhzcoshY=coshxcoshz+coshysinhxsinhzcoshZ=coshxcoshy+coshzsinhxsinhy\begin{aligned} \cosh X &= \frac{\cosh y\,\cosh z + \cosh x}{\sinh y\,\sinh z}\\[6pt] \cosh Y &= \frac{\cosh x\,\cosh z + \cosh y}{\sinh x\,\sinh z}\\[6pt] \cosh Z &= \frac{\cosh x\,\cosh y + \cosh z}{\sinh x\,\sinh y} \end{aligned}

Computing Geodesics in terms of Sides

For each (x,y,z)(x,y,z) of side lengths we aim to compute one representative right angled hexagon, and so are free to use the isometries of the hyperbolic plane to simplify the problem. Indeed, using homogeneity we can take one vertex vv of the hexagon to ii, and then use isotropy to rotate it so one of the sides through ii is the unit circle. If we take this to be the side xx, then

γx{1,1}\gamma_x \mapsto \{-1,1\}

But, as HH is right angled, the other side through v=iv=i must be perpendicular to the unit circle — and thus, is the vertical. This determines a second geodesic side:

γY{0,}\gamma_Y\mapsto \{0,\infty\}

We have now fully used up the symmetry inherent to the problem, and will need to proceed to calculate the remaining four sides. We will later determine the lengths X,Y,ZX,Y,Z in terms of x,y,zx,y,z; but for now we will work to express the endpoints of the remaining four geodesic sides in terms of these six quantities. The simplest of these to determine is the endpoints of the purple geodesic. Since it intersects the red (vertical) geodesic at a right angle, it must be a circle centered at the origin.

As the hyperbolic length of the vertical side is YY and its first endpoint is at ii, the second endpoint must lie at eYie^Y i as

Y=length(γY)=1?dtt=lnt  1?=ln(?)\begin{aligned} Y&=\operatorname{length}(\gamma_Y) =\int_1^{\,?}\frac{dt}{t} =\ln|t|\;\Big|_1^{\,?} =\ln(?) \end{aligned}

This fixes the geodesic of side length zz: as the circle is centered at the origin and intersects the imaginary axis at eYie^Yi it intersects the real axis at ±eY\pm e^Y.

γz{eY,eY}\gamma_z\mapsto \{-e^Y,e^Y\}

Next, we proceed to calculate the endpoints of the green geodesic γZ\gamma_Z:

Note that the hyperbolic isometry translating along the yellow edge γx\gamma_x by distance xx takes the red-yellow intersection point to the yellow-green intersection point, and as both angles are right angles, necessarily takes the red geodesic to the green geodesic. Thus, the endpoints of the green geodesic are the images of {0,}\{0, \infty \} under this isometry.

Translation by distance xx along the unit circle geodesic is accomplished by the Möbius transformation

T=(coshx2sinhx2sinhx2coshx2)T=\begin{pmatrix}\cosh\frac{x}{2}&\sinh\frac{x}{2}\\\sinh\frac{x}{2}&\cosh\frac{x}{2}\end{pmatrix}

Applying this to the endpoints {0,}\{0,\infty\} of the red geodesic γY\gamma_Y yields

T0=(coshx2sinhx2sinhx2coshx2)(01)=(sinhx2coshx2)    tanhx2T=(coshx2sinhx2sinhx2coshx2)(10)=(coshx2sinhx2)    cothx2\begin{aligned} T\cdot 0 &= \begin{pmatrix}\cosh\frac{x}{2} & \sinh\frac{x}{2}\\[2pt] \sinh\frac{x}{2} & \cosh\frac{x}{2}\end{pmatrix} \begin{pmatrix}0\\[2pt] 1\end{pmatrix} =\begin{pmatrix}\sinh\frac{x}{2}\\[2pt] \cosh\frac{x}{2}\end{pmatrix} \;\longmapsto\;\tanh\frac{x}{2}\\[10pt] T\cdot\infty &= \begin{pmatrix}\cosh\frac{x}{2} & \sinh\frac{x}{2}\\[2pt] \sinh\frac{x}{2} & \cosh\frac{x}{2}\end{pmatrix} \begin{pmatrix}1\\[2pt] 0\end{pmatrix} =\begin{pmatrix}\cosh\frac{x}{2}\\[2pt] \sinh\frac{x}{2}\end{pmatrix} \;\longmapsto\;\coth\frac{x}{2} \end{aligned}

Thus we have it;

γZ{tanhx2,cothx2}\gamma_Z\mapsto \left\{\tanh\frac{x}{2},\coth\frac{x}{2}\right\}

We may calculate the endpoints of the indigo geodesic γX\gamma_X similarly, by noting that it is the image of the red geodesic γY\gamma_Y under translation along the purple edge γz\gamma_z by a distance of z.

Because this purple edge is a circle centered at the origin, it is the image of the unit circle under translation along the vertical geodesic by YY. Thus, translation along the purple is given by conjugating translation along the unit circle by vertical translation. Precisely, let VY ⁣:peYpV_Y\colon p\mapsto e^Yp be the translation of length YY along the vertical geodesic, and HzH_z be the translation by distance zz along the horizontal unit circle geodesic. Then the Möbius transformation MM we seek is

M=VYHzVY1M = V_YH_zV_Y^{-1}

We are interested in the image of the red geodesic γY\gamma_Y‘s endpoints under this isometry. As VYV_Y is translation along the red geodesic, it (and hence its inverse as well) fixes these endpoints, so

M{0,}=VYHzVY1{0,}=VYHz{0,}\begin{aligned} M\cdot\{0,\infty\} &= V_Y H_z V_Y^{-1}\cdot\{0,\infty\}\\[4pt] &= V_Y H_z\cdot\{0,\infty\} \end{aligned}

Using what we’ve previously learned about translation of {0,}\{0,\infty\} along the unit circle, we see

VYHz{0,}=VY{tanhz2, cothz2}={eYtanhz2, eYcothz2}\begin{aligned} V_Y H_z\cdot\{0,\infty\} &= V_Y\cdot\left\{\tanh\frac{z}{2},\ \coth\frac{z}{2}\right\}\\[4pt] &=\left\{e^Y\tanh\frac{z}{2},\ e^Y\coth\frac{z}{2}\right\} \end{aligned}

Thus we have it,

γX{eYtanhz2,eYcothz2}\gamma_X \mapsto \left\{e^Y\tanh \frac{z}{2}, e^Y\coth\frac{z}{2}\right\}

This leaves only the sky-blue geodesic γy\gamma_y left to compute. There are two nice things we can try here: (1) we already know the green and indigo geodesics, and the blue geodesic is their common perpendicular. So we could use Euclidean geometry to find the unique circle centered on the real axis which is perpendicular to both of these circles. Or (2), we can continue with a method analogous to the above, and realize the blue geodesic as the image of the red (vertical) geodesic under some hyperbolic isometry.

The second is considerably less messy in the end, so we proceed with (2). As the red and blue geodesics do not intersect, they have a common perpendicular, and, being perpendicular to the red geodesic, this is a circle centered at 00. Say this common perpendicular intersects the red geodesic at a distance h from the red- yellow vertex, and is of length dd.

Precisely analogous to the previous case, we can realize translation along this common perpendicular as a conjugate of translation along the unit circle of distance dd by a translation along the vertical geodesic of distance hh. This combination sends {0,}\{0,\infty\} to the points

{ehtanhd2,ehcothd2}\left\{e^h\tanh\frac{d}{2},e^h\coth\frac{d}{2}\right\}

As written this formula is not exactly what we want: we wish to express everything in terms of only x,y,zx,y,z and X,Y,ZX,Y,Z; but this quantity involves the geometrically defined quantities dd and hh as well. To finish, we need to relate these to the side lengths. Doing so requires that we recall one important relation from the trigonometry of hyperbolic pentagons:

coshD=sinhAsinhB\cosh D=\sinh A\,\sinh B

This is useful to us, as the common perpendicular of length dd divides the right angled hexagon HH into TWO right angled pentagons. We focus on the bottom pentagon, where we have labeled the side lengths (using * for the final side length, which proves irrelevant to our calculation).

A right angled hyperbolic pentagon is determined up to isometry by any pair of adjacent side lengths, so the lengths x,Zx,Z fully determine the remaining sides. Using these, we may then calculate the values of h,dh, d using the trigonometry of right angled hyperbolic pentagons, and the pair of adjacent sides x,Zx,Z.

coshd=sinhxsinhZcoshZ=sinhhsinhd\begin{aligned} \cosh d &= \sinh x\,\sinh Z\\[4pt] \cosh Z &= \sinh h\,\sinh d \end{aligned}

The first equation uniquely specifies a positive solution for dd, and similarly the second implicitly determines a unique value of hh. Thus, we are done and

γy{ehtanhd2, ehcothd2}d=arccosh(sinhxsinhZ)h=arcsinh(coshZsinhd)\begin{aligned} \gamma_y &\longmapsto \left\{e^h\tanh\frac{d}{2},\ e^h\coth\frac{d}{2}\right\}\\[6pt] d &= \operatorname{arccosh}\bigl(\sinh x\,\sinh Z\bigr)\\[4pt] h &= \operatorname{arcsinh}\left(\frac{\cosh Z}{\sinh d}\right) \end{aligned}

Summary

Given the lengths x,y,z,X,Y,Zx,y,z,X,Y,Z we have found an explicit right angled hexagon HH having these as its side lengths, bounded by the geodesics

γx{1, 1}γY{0, }γz{eY, eY}γZ{tanhx2, cothx2}γX{eYtanhz2, eYcothz2}γy{ehtanhd2, ehcothd2}\begin{aligned} \gamma_x &\longmapsto \{-1,\ 1\}\\[2pt] \gamma_Y &\longmapsto \{0,\ \infty\}\\[2pt] \gamma_z &\longmapsto \{-e^Y,\ e^Y\}\\[2pt] \gamma_Z &\longmapsto \left\{\tanh\frac{x}{2},\ \coth\frac{x}{2}\right\}\\[2pt] \gamma_X &\longmapsto \left\{e^Y\tanh\frac{z}{2},\ e^Y\coth\frac{z}{2}\right\}\\[2pt] \gamma_y &\longmapsto \left\{e^h\tanh\frac{d}{2},\ e^h\coth\frac{d}{2}\right\} \end{aligned}

where

d=arccosh(sinhxsinhZ),h=arcsinh(coshZsinhd)d=\operatorname{arccosh}\bigl(\sinh x\,\sinh Z\bigr),\qquad h=\operatorname{arcsinh}\left(\frac{\cosh Z}{\sinh d}\right)

The same hexagon in the disk

The half plane is where the computation wants to happen, but the answer it produces is lopsided, and it needed two quantities — dd and hh — that are not side lengths at all. Carrying everything to the Poincaré disk by the Cayley transform

ψ(w)=iw+1w+i\psi(w)=\frac{iw+1}{w+i}

fixes both complaints at once.

In the disk a geodesic is an arc of a Euclidean circle meeting the boundary at right angles, and such a circle with center CC and radius rr satisfies

C2=1+r2|C|^2=1+r^2

so the center alone determines it. Two of them are perpendicular exactly when

C1C2=1C_1\cdot C_2=1

an ordinary dot product; and if instead they are ultraparallel, with a common perpendicular of length ss running between them,

C1C21=r1r2coshs|C_1\cdot C_2-1| = r_1r_2\cosh s

Those two facts are the whole toolkit. Our normalization put a vertex at ii, which the Cayley transform sends to the center of the disk, so γx\gamma_x and γY\gamma_Y pass through the middle: they are diameters, and we may take them along the two axes.

Everything else follows. γZ\gamma_Z is perpendicular to the diameter γx\gamma_x, so its center lies on that axis; and γY,γZ\gamma_Y,\gamma_Z have γx\gamma_x — of length xx — as their common perpendicular, which fixes how far along. The same argument on the other axis gives γz\gamma_z. For the last two, one coordinate comes from a dot product with a neighbor and the other from the side separating it from a diameter.

Theorem

Naming each geodesic by the center of the Euclidean circle carrying it, the right angled hexagon with alternating sides x,y,zx,y,z is realized in the Poincaré disk by

γx, γY : the horizontal and vertical diameters\gamma_x,\ \gamma_Y\ :\ \text{the horizontal and vertical diameters}

CZ=(cothx, 0),rZ=1sinhxCz=(0, cothY),rz=1sinhYCX=(cothzcoshY, tanhY),rX=1sinhzcoshYCy=(tanhx, cothZcoshx),ry=1sinhZcoshx\begin{aligned} C_Z &= \left(\coth x,\ 0\right), & r_Z &= \frac{1}{\sinh x}\\[8pt] C_z &= \left(0,\ \coth Y\right), & r_z &= \frac{1}{\sinh Y}\\[8pt] C_X &= \left(\frac{\coth z}{\cosh Y},\ \tanh Y\right), & r_X &= \frac{1}{\sinh z\,\cosh Y}\\[8pt] C_y &= \left(\tanh x,\ \frac{\coth Z}{\cosh x}\right), & r_y &= \frac{1}{\sinh Z\,\cosh x} \end{aligned}

Note what is missing: dd and hh are gone. The half-plane realization had to introduce them to say where the last side goes, but in the disk every center is written in the side lengths alone.

With every side named by a single point, the realization is ready to be drawn. In the next note we turn it into a shader that renders the whole tiling, one pixel at a time.

← All notes