I had my first exposure to the Geometer's Sketchpad at the St. Olaf conference on using technology in mathematics courses other than calculus, November 1994. Our geometry course at Wabash College covers hyperbolic as well as Euclidean geometry, and so I wondered if there was a similar interactive program for hyperbolic geometry. Of course, since the models for hyperbolic geometry are in Euclidean geometry, one can program Geometer's Sketchpad to perform hyperbolic constructions. While this is an excellent means for students to understand how hyperbolic geometry "sits inside" Euclidean geometry, the Euclidean constructions are too cumbersome for all but the most elementary hyperbolic constructions, and the dynamic aspect of Geometer's Sketchpad is significantly slowed by the numerous dependencies among the objects of the constructions.
At the same conference, Dana Mackenzie demonstrated the program Poincaré, which allows the user to construct points and lines in the upper-half plane model of hyperbolic geometry. Another program, Non-Euclid, does the same for the Poincaré disk model. Both of these programs, however, are static---points and lines can be plotted and drawn, but once placed, their locations are fixed.
During the summer of 1995, Wabash student Nathan Fouts and I developed the program PoincaréDraw. Nathan is a physics major, mathematics and computer science double minor, and at the time had just finished his sophomore year.
PoincaréDraw allows the user to do "compass and straight edge" constructions in the Poincaré disk model of the hyperbolic plane. The program is dynamic (in the spirit of Geometer's Sketchpad): once a construction is made, the user can move parts of it with the mouse and the objects on the screen will move subject to the construction that gave rise to them. For example, suppose the user plots points A, B, and C, the line L passing through A and B, and the line N passing through C perpendicular to L. If the user moves the point A, then the two lines move so that L continues to pass through A and B, and N continues to pass through C and to be perpendicular to L. Points B and C do not move. Some constructions unique to the hyperbolic plane are also available, namely constructions involving ideal points and common perpendiculars (parallel lines that do not share an ideal point have a unique common perpendicular).
In addition to constructions, the user can also perform hyperbolic motions. Translations in the hyperbolic plane differ from those in the Euclidean plane. When the Euclidean plane undergoes a translation, all points move the same distance and each point moves along a line. In the hyperbolic plane this is impossible. If two points move along different lines at the same speed, the distance between them necessarily changes, even if the lines are parallel. Therefore a translation cannot displace every point the same distance. A hyperbolic translation has a "center," which is a line. Points on the center are all moved the same distance along the center. Points off the center are moved farther, and not along lines. Instead they are moved along curves that are equidistant from the center.
Continuous translation with the mouse allows the user to experience holonomy, which is one of the more striking features of PoincaréDraw. A continuous translation can be thought of as a composition of small translations. In Euclidean geometry, a composition of translations is a translation. A continuous translation that moves some point around a closed loop moves every point around a congruent loop, and all points return to their original positions. In hyperbolic geometry this is not true. If a continuous translation moves the point P in a closed loop, all of the other points will move farther than P, resulting in a net rotation, which is called holonomy. The Gauss-Bonnet Theorem states that the holonomic rotation is proportional to the hyperbolic area enclosed by the loop. When the rotation is measured in radians, the constant of proportionality is -1. The fact that this constant is negative means that the rotation due to holonomy is in the opposite direction of the rotation of the loop.
Many of the computations in the program use a matrix-based "hyperbolic analytic geometry" due to Mackenzie. The hyperbolic plane is represented by the open unit disk in the complex plane. Hyperbolic points and lines are represented by certain 2x2 matrices in the group of hyperbolic motions and its Lie algebra. If MA and MB are matrices for the points A and B, then [MA,MB] is the matrix for the line AB, and MA + MB (suitably renormalized) is the matrix for the midpoint of AB. Similarly, if ML and MN are matrices for the lines L and N, then [ML,MN] is the matrix for the point where L and N intersect if they do, otherwise it is the matrix for the line that is the common perpendicular of L and N. For details, see Mackenzie's paper.
PoincaréDraw is still very much in a test stage (complete with bugs!), however it is certainly usable for class demonstrations and for students to get a dynamic feel of hyperbolic geometry, as long as the users are patient.
The hardware requirements consist of an IBM PC or compatible with EGA/VGA graphics, a mouse, and a math co-processor. The program does not require extended memory, so it should run on any PC that has the standard 640K of memory. It was developed on a 486, so it may be a bit sluggish on slower machines. It is not a Windows program.
PoincaréDraw is available from the author. Geometer's
Sketchpad is available from Key Curriculum Press. A demo version
is available from the Mathematics
Archives. Poincaré is available from George Parker, 1702
West Taylor, Carbondale, IL 62901. NonEuclid is available from the
Department of Mathematics, Rice University, and from the Mathematics
Mackenzie, Dana, "Hyperbolic Isometries and Hexanometry," Expositiones
Mathematicae, V13, pp.337-357, 1995.