Points and Geodesics

In this section we describe some functions involving points and geodesics. Geodesics in the upper half plane are given by circles or lines which intersect the real axes at right angles. A geodesic is defined by its two end points. Points and geodesics can be drawn using the graphics functions described in the next section.

GeodesicsIntersection(x,y) : [SpcHypElt],[SpcHypElt] -> SpcHypElt
GeodesicsIntersection(x,y) : [SetCspElt],[SetCspElt] -> SpcHypElt
Computes the intersection in the upper half plane of the two geodesics x, y, where x and y are specified by their end points, which must be cusps. If the geodesics intersect along a line the empty sequence is returned.

Example GrpPSL2_geodesic-intersection (H139E8)

In the following example we find and display the intersection points of some geodesics:
> H := UpperHalfPlaneWithCusps();
> g1 := [H|-1,2];
> g2 := [H|0,6];
> g3 := [H|1,5];
> g4 := [H|2,Infinity()];
> lines := [g1,g2,g3,g4];
> points := [GeodesicsIntersection(x,y,H) : x in lines,y in lines];
> DisplayPolygons(lines cat points,"/tmp/pic.ps":
> Labels := [-1,0,1,2,5,6],Colours := [1,0,0],Show := true);
[ -1.000000000000000000000000000, 6.000000000000000000000000000,
3.328427124746190097603377448, 91 ]
V2.28, 13 July 2023