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.
technical constructions
copy 
produces a copy of a point P provided P lies within the disk, and nothing otherwise
see above 
invertcircle 
for P in the disk, this gives the circle C' orthogonal to C such that inversion in C'
interchanges P and O. 
invertline 
for P in the disk, this gives the hline H such that inversion in H interchanges P and O
of course, H is the intersection of C' above with the disk 
hyperbolic objects
hline 
gives the complete hline joining points P and Q in the disk 
hsegment 
gives the hsegment joining points P and Q in the disk 
hcircle 
gives the hyperbolic circle, centre P, through a point Q 
hray 
gives the hray from P through Q, for P, Q in the disk
the order is significant  we must choose P then Q

hperp 
gives the hyperbolic perpendicular to the hline QR from the point P
we must choose Q and R before P. 
abisector 
gives the hline bisecting <PQR internally and externally
we must choose the points in the order P,Q,R or R,P,Q. 
hbisector 
gives the hline which bisects the hsegment PQ in the hyperbolic sense 
measurements
hlength 
gives the hyperbolic distance between P and Q, i.e. d(P,Q) 
hratio 
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. 
hangle 
gives the angle <PQR in the range [0,π]. 
sum 
gives the sum of the interior angles of the hyperbolic ΔPQR 

