# Travel across the Poincaré disk model of the hyperbolic plane

A is a point on the Poincaré disk model of the hyperbolic plane. B is a second point, d hyperbolic distance away from A. The hyperbolic ray AB passes through A at angle θ.

How might one find the coordinates of B, given A, d, and θ?

In other words, how would one answer a question like this:

Beginning at Euclidean position (-.3, .4) on the Poincaré disk, one turns to face Northwest (3π / 2 radians) and travels 3 units. Where does one end up?

Is enough information given?

• $\theta$: the angle of $AB$ to what other line?
– zoli
Jun 5, 2015 at 0:39
• relative to the x axis Jun 5, 2015 at 0:42
• What is the angle of $AB$ to the $x$ axis if the two don't intersect within the hyperbolic plane?
– zoli
Jun 5, 2015 at 0:44
• then, relative to the line parallel to the x axis (parallel in the Euclidean sense), which passes through A Jun 5, 2015 at 0:49
• In other words, the slope of the tangent line of AB at A is equal to tan(θ). Jun 5, 2015 at 1:00

Not enough information.

Let $A$ be an arbitrary point on the disk.

Draw the hyperbolic line $l$ through $A$ at with slope $\tan\theta$ at $A$.

Now one can select two points $B$ and $C$ on $l$ so that $d(A,B)=d(A,C)=d$ ($A$ is the midpoint between $B$ and $C$.

• Would one of those points not be indicated for -π/2 < θ < π/2, and the other for π/2 < θ < 3π/2 ? Jun 5, 2015 at 1:19
• yes, if you replace "line" with "ray" - but the choice of $A$ remains arbitrary.
– sds
Jun 5, 2015 at 1:25
• A good point. I should have said "ray." It's amateur hour in my time zone. Jun 5, 2015 at 1:31

Construct a hyperbolic triangle from $A$, $B$, and the center of the unit circle, $C$. Let $a$ be the length of $BC$, $b$ the length of $AC$, and $c$ the length of $AB$. Let $\alpha$, and $\gamma$ be the values of $\angle CAB$ and $\angle ACB$, respectively.

The value of $c$ is given as distance $d$: $$c = d$$

The value of $\alpha$ is determined from the angle of $A$ relative to the unit circle, $\epsilon$; and the angle correspondent to the given direction of travel, $\delta$: $$\alpha = |\pi - |\epsilon - \delta||$$

The value of $b$ can be determined based on the Euclidean distance from the center of the unit circle to $A$, $d_A$: $$b = 2 \operatorname{arctanh}(d_A)$$

The value of $a$, the hyperbolic distance between $B$ and the center of the unit circle, can now be determined by the hyperbolic law of cosines: $$cosh(a) = cosh(b)cosh(c) - sihn(b)sinh(c)\cos(\alpha)$$ $$a = arccosh(cosh(b)cosh(c) - sihn(b)sinh(c)\cos(\alpha))$$

The value of $C$ can be also be determined by the hyperbolic law of cosines: $$\cos(\gamma) = \frac{cosh(a)cosh(b) - cosh(c)}{sinh(a)sinh(b)}$$ $$\gamma = arccos(\frac{cosh(a)cosh(b) - cosh(c)}{sinh(a)sinh(b)})$$

Now, add (or subtract), $\gamma$ from $\epsilon$ to determine the angle of $B$ relative to the unit circle, $\theta$. The Euclidean distance between $B$ and the center of the unit circle, $d_B$, can be determined using the exponential function: $$d_B = \frac{e^a - 1}{e^a + 1}$$

Using this distance, the coordinates $x_B$ and $y_B$ of $B$ can be now be determined using basic trigonometric functions: $$x_B = d_B \cos(\theta)$$ $$y_B = d_B \sin(\theta)$$

The coordinates of destination point $B$ are $(x_B, y_B)$.

• Hopefully this is comprehesible. It's adapted from Javascript, found here: github.com/ItsNickBarry/hyperbolic-canvas I imagine there's a more elegant solution, but this seems to work. Jun 14, 2015 at 9:19