To produce many of the figures, I have used the Cabri menu hypermenu.men.
The menu contains some macros which are not particularly robust - several fail
if one of the chosen points is the centre of the disk. My priority was to produce
code that is easy to understand.
To use the menu items, we begin by defining the centre O and boundary circle C
of the poincare disk D. All constructions involve the selection of points of D and
the boundary C.
One cosmetic feature is the copy macro which produces a copy of a point P when
P lies in D, and nothing otherwise. By using the copies of points, we can ensure
that we obtain only figures within D. Many of our constructions are easy if one of
the points involved is O. This is done in the theory by using the Origin Lemma.
This is the reason for the invertcircle item, which gives the circle orthogonal to
the boundary which inverts a given P and the centre O. This is not a hyperbolic
object - it contains points outside D. The corresponding hyperbolic line is given
by invertline, but we need the entire circle since Cabri does not invert in arcs.
||produces a copy of a point P provided P lies within the disk, and nothing otherwise
||for P in the disk, this gives the circle C' orthogonal to C such that inversion in C'
interchanges P and O.
||for P in the disk, this gives the h-line H such that inversion in H interchanges P and O
of course, H is the intersection of C' above with the disk
||gives the complete h-line joining points P and Q in the disk
||gives the h-segment joining points P and Q in the disk
||gives the hyperbolic circle, centre P, through a point Q
||gives the h-ray from P through Q, for P, Q in the disk
the order is significant - we must choose P then Q
||gives the hyperbolic perpendicular to the h-line QR from the point P
we must choose Q and R before P.
||gives the h-line bisecting <PQR internally and externally
we must choose the points in the order P,Q,R or R,P,Q.
||gives the h-line which bisects the h-segment PQ in the hyperbolic sense
||gives the hyperbolic distance between P and Q, i.e. d(P,Q)
||gives the hyperbolic ratio h(P,Q,R) = ±sinh(d(P,Q))/sinh(d(Q,R)
with the + sign if and only if Q is between P and R.
||gives the angle <PQR in the range [0,π].
||gives the sum of the interior angles of the hyperbolic ΔPQR