In this document, I describe and examine some software tools that have been developed to aid in constructions in nonEuclidean geometry. The tools consist of Geometer's Sketchpad scripts that automate hyperbolic "straightedge and compass" constructions in each of three models of hyperbolic geometry. These scripts, based on the earlier work of Alexander and Finzer in the Poincaré disk, automate ten "standard" constructions, including constructing hyperbolic lines and circles in the models, and dropping and raising perpendiculars. The tools can be used to enhance student understanding of hyperbolic geometry in several ways, and I give numerous examples of how they can be effectively used in the classroom.
Stephen Szydlik is Associate Professor of Mathematics at University of Wisconsin Oshkosh
A grant through the Faculty Development Program at the University of Wisconsin Oshkosh allowed the author to develop the hyperbolic construction tools described in this article. The author greatly appreciates this support. The author also wishes to express his gratitude to the reviewers of this article. Their comments and suggestions have substantially improved the document.
In this document, I describe and examine some software tools that have been developed to aid in constructions in nonEuclidean geometry. The tools consist of Geometer's Sketchpad scripts that automate hyperbolic "straightedge and compass" constructions in each of three models of hyperbolic geometry. These scripts, based on the earlier work of Alexander and Finzer in the Poincaré disk, automate ten "standard" constructions, including constructing hyperbolic lines and circles in the models, and dropping and raising perpendiculars. The tools can be used to enhance student understanding of hyperbolic geometry in several ways, and I give numerous examples of how they can be effectively used in the classroom.
Stephen Szydlik is Associate Professor of Mathematics at University of Wisconsin Oshkosh
A grant through the Faculty Development Program at the University of Wisconsin Oshkosh allowed the author to develop the hyperbolic construction tools described in this article. The author greatly appreciates this support. The author also wishes to express his gratitude to the reviewers of this article. Their comments and suggestions have substantially improved the document.
In The Proof, NOVA's program about the proof of Fermat's last theorem, Andrew Wiles speaks of his experience of doing mathematics:
"Perhaps I could best describe [it] in terms of entering a dark mansion. One goes into the first room, and it's dark, completely dark. One stumbles around bumping into the furniture, and gradually, you learn where each piece of furniture is, and finally, after six months or so, you find the light switch. You turn it on, and suddenly, it's all illuminated. You can see exactly where you were."
Though we as mathematicians with some research experience might recognize Wiles' description of mathematics, as teachers of the subject, it is easy to forget that our students have similar experiences with mathematics that is familiar to us. In particular, college students taking a first course in nonEuclidean geometry are entering a "dark mansion" in many ways. For most of them, the term "geometry" is synonymous with "Euclidean geometry"; a world in which Euclid's fifth postulate does not hold is counterintuitive, confusing, and perhaps even ridiculous to contemplate.
Euclid's Five Postulates

The confusion of students is understandable, particularly when one considers the historical development of hyperbolic geometry. From the time Euclid's Elements was published around 300 BC until the beginning of the 18th century, mathematicians attempted to prove Euclid's fifth postulate from his first four axioms. The idea that a consistent geometry could be developed from his first four axioms and the negation of the socalled "parallel postulate" was not even considered as a possibility. Although some mathematicians (e.g. Lambert, Saccheri) unknowingly discovered theorems in hyperbolic geometry in the 18th century, it was not until 1829 that Lobachevsky published the first paper on nonEuclidean geometry. The pioneers of nonEuclidean geometry (including Gauss and Janos Bolyai, who are generally given credit with Lobachevsky for its discovery) had an axiomatic approach to the subject: they assumed the negation of the parallel postulate, and subsequently established results that must follow as a logical consequence (e.g. the angle sum in a triangle in hyperbolic geometry is less than 180 degrees). In some sense, they were "stumbling around" in the dark mansion of hyperbolic geometry while they learned about its structure.
The work of these mathematical pioneers was particularly impressive, for they had no examples of a nonEuclidean geometry to help them visualize their results; they were purely abstract. Though there were no inherent contradictions in this new geometry, neither was there any evidence that this geometry possessed any relationship to reality. Only later in the 19th century following the work of Beltrami, Klein, and Poincaré were there models of hyperbolic geometry available in which the theorems of the subject could be visualized. One might say that the models provide a "lightswitch," illuminating that dark mansion of hyperbolic geometry.
As teachers of geometry, we are called to help our students find their way in the dark mansion. Just as it did for the pioneers of the subject, hyperbolic geometry proves to be a challenge for our students who have no experience with a nonEuclidean geometry. However, the NCTM's Principles and Standards for School Mathematics (p.18) tells us,
"Teaching mathematics well involves creating, enriching, maintaining, and adapting instruction to move toward mathematical goals, capture and sustain interest, and engage students in building mathematical understanding."
It is the objective of this document to describe some tools and related activities that may help students develop their understanding of hyperbolic geometry. These tools employ the Geometer's Sketchpad software, allowing the user to perform standard straightedge and compass constructions in three of the standard models of hyperbolic geometry: the BeltramiKlein disk, the Poincaré disk, and the Poincaré halfplane. To be specific, the tools are "scripts" in Geometer's Sketchpad, or macros that automate ten "standard" straightedge and compass constructions in each of the models. These constructions include, among others, constructing hyperbolic lines and circles, dropping and raising perpendiculars, and constructing midpoints. A more complete description of the tools themselves can be found in the What's in the Toolbox? section (Page 6).
The purpose of the tools is to provide occasions for students to become actively engaged with hyperbolic geometry. Though the tools may be used by the instructor to develop applications for classroom demonstrations, their real power is that they can be used as building blocks for students to investigate the subject interactively, through constructions in the models. In this way, the tools can be used to foster an active classroom environment, giving students an opportunity to find the lightswitch themselves.
To get a fundamental sense of the nature of the Sketchpad tools, consider the problem of constructing a rectangle in hyperbolic space:
The purpose of the rectangle construction exercise is to help students visualize and understand a fundamental concept in hyperbolic geometry. This construction using the Poincaré halfplane makes a counterintuitive result transparent. More importantly, the hyperbolic construction tools allow students to find the result themselves. While the example above is necessarily shown as a demonstration, a much more pedagogically powerful exercise is to have the students use the tools themselves, in their model of choice. In this way, rather than being passive receivers of knowledge, students become active participants in the learning process. More examples of ways in the tools can be used in the classroom can be found in the Teaching Examples section (Page 8).
At the University of Wisconsin Oshkosh, the mathematics department teaches two halfsemester courses in geometry, one in Euclidean geometry and one in hyperbolic geometry. Together, these courses make up a fourcredit sequence, designed for prospective secondary teachers who are in their junior year of college. The sequence has both content and pedagogical goals, including the development of
It is with the above goals in mind that the hyperbolic toolbox has been completed. The models considered  the BeltramiKlein disk, the Poincaré disk, and the Poincaré halfplane  provide a context for visualizing the theorems of hyperbolic geometry. By giving students examples of universes where Euclid's parallel postulate fails, they give students a chance to experience hyperbolic geometry in a concrete way: to see how it is possible for two lines through a point to be parallel to a third line, to appreciate a world where rectangles do not exist, and to understand how it is possible for the angle sum in a triangle to fall short of 180 degrees. The Teaching Examples on page 8 illustrate several ways in which the tools accomplish this.
Most of the students taking the geometry sequence at the University of Wisconsin Oshkosh have previously completed a course on the nature of proof. For many, however, the geometry course provides the first opportunity to apply their background in a specific subject. The geometry course emphasizes proper justification, proof, and the nature of axiom systems. A benefit of courses in Euclidean and hyperbolic geometry is that students can clearly see the role of axioms, for the only difference between the two geometries is the parallel postulate. Students learn to be careful about what statements are theorems in Euclidean geometry, which are theorems in hyperbolic geometry, and which are theorems in both. Constructions in the models aid in making these distinctions in two ways. For example, consider the statement "Two lines perpendicular to a third line are parallel to each other." After exploring that statement in the hyperbolic models, a student should get a sense that it is a theorem in hyperbolic geometry as well as Euclidean geometry. The student then knows that proving the statement will not require a parallel postulate. This is indeed a powerful connection for a student to make. Second, a compelling aspect of straightedge and compass constructions is the clear necessity of justification. When a student finishes a construction, only rarely does an instructor need to ask, "How do you know you are correct?" Students naturally ask that question themselves.
By examining hyperbolic geometry we obtain a deeper understanding of Euclidean geometry. The study allows for a contrast; we are able to see what makes Euclidean geometry "Euclidean" by negating a single axiom. Working within the hyperbolic models provides us with another quite different way of enriching our understanding of the Euclidean world. Though each of the models is "hyperbolic", the underlying space for each is the Euclidean plane. For example, the Klein model consists of a fixed circle and its interior, and "lines" in the model are merely chords of the circle. It is a purely Euclidean object. When viewed in this manner, the models can be used as a means of better understanding Euclidean geometry. One useful construction in the Klein model, for example, is the pole of a hyperbolic line: it is the intersection of tangents drawn to the Klein disk at the endpoints of the chord defining the line. Constructing the pole of a Klein line thus involves standard Euclidean straightedge and compass constructions (specifically, raising a perpendicular to a line from a point on the line). In this way, the models offer an opportunity to understand Euclidean geometry through the window of hyperbolic geometry. This argument is fundamental to the nature of the geometries, for the relative consistency of hyperbolic geometry is demonstrated by the existence of models of hyperbolic geometry in Euclidean geometry.
It should be noted that the fourth goal is an implicit one. The course is contentdriven, and discussion of teaching methodology is not an explicit part of that content. However, the NCTM's Professional Standards for Teaching tells us, "Learning is an active, dynamic, and continuous process that is both an individual and a social experience." (see Professional Development Standard 3.) We would like our future teachers to support such a learning environment, and so providing them with a model of such a classroom is vital. The Teaching Examples on page 8 offer possible ways in which the tools can be used to stimulate an active learning environment.
As noted in the Background section (Page 5), others have produced Geometer's Sketchpad construction tools for the Poincaré disk and (in part) for the Poincaré halfplane models. Completing the tools for the halfplane and contributing tools for the BeltramiKlein disk rounds out a package that allows students to analyze hyperbolic geometry in a concrete way from several different perspectives. As the NCTM notes in the Principles and Standards for School Mathematics , "It is important for teachers to highlight ways in which different representations of the same objects can convey different information and to emphasize the importance of selecting representations suited to the particular mathematical tasks at hand." (p. 362) The different models do indeed offer different representations of hyperbolic geometry. The Poincaré models are conformal, and their faithful representations of angle measure make them attractive for this reason. On the other hand, the hyperbolic axiom is most immediate to visualize in the Klein disk, and constructing the common perpendicular between two divergently parallel lines in the Klein model is an accessible problem. The three models together provide a powerful means of considering hyperbolic geometry from different perspectives.
"Technology is essential in teaching and learning mathematics; it influences the mathematics that is taught and enhances students' learning."
 The Technology Principle, the Principles and Standards for School Mathematics (p. 24)
Technology in the form of a dynamic geometry package such as Geometer's Sketchpad offers a powerful means of studying geometry. As the value of this technology has become recognized, instructors have integrated it into their geometry courses (see, for example, the text by Baragar).
Dynamic geometry software offers access to hyperbolic geometry in at least three fundamental ways. First, Geometer's Sketchpad allows the user to perform basic constructions in the hyperbolic models. Indeed, though not conceptually difficult, many of these constructions are quite challenging from a practical standpoint. Consider, for example, the problem of constructing a hyperbolic line in the Poincaré disk model. That is, given two points A and B interior to the disk, construct with straightedge and compass, the arc of a circle orthogonal to the boundary of the disk that passes through A and B. Theoretically, this is not a particularly difficult construction. If the center of the Poincaré disk is labeled O, then the steps are as follows:


Constructing a Poincare line by hand using a straightedge and compass offers a challenge in careful recordkeeping. (Click for an enlarged view). 
This construction is not conceptually difficult. However, it requires quite a competent student to carry out the steps by hand using a straightedge, compass, and pencil without getting lost in the details of the construction. The capability of the Geometer's Sketchpad software to hide and show parts of a construction on demand helps to eliminate this difficulty.
Second, Geometer's Sketchpad allows users to use basic constructions to build more complex structures. Though understanding how to construct a line in the Poincaré disk is a worthwhile and important skill, one does not want to go through each of the above steps when a hyperbolic line is called for. If one wants to discuss dropping a perpendicular from a point to a line, for example, one does not want to spend too much time on the construction of the given line! As with other technologies, Sketchpad extends the range of problems accessible to students.
Third, through its dynamic nature, Geometer's Sketchpad presents an opportunity for students to explore, experiment, and make conjectures. With its "clickanddrag" capabilities, students are able to change a defining object in a sketch and watch the resulting effect on the rest of the sketch. For example, a typical activity in the Poincaré models is to construct a triangle and observe that its angle sum is less than 180 degrees. However, with dynamic geometry software, one can change the defining vertices of the triangle and observe how the angle sum depends on the triangle, specifically that the larger the triangle, the smaller its angle sum. This investigation can provide a context for an introduction to Gauss's theorem on the proportionality of a hyperbolic triangle's area to its defect. See the Teaching Examples section (Page 8) for more examples.
Using dynamic geometry software such as Geometer's Sketchpad to investigate nonEuclidean geometry is by no means a new idea. This section provides a brief description of, and pointers to the work of others in this area.
Mike Alexander (with modifications by Bill Finzer) wrote Geometer's Sketchpad scripts to perform ten typical constructions in the Poincaré disk model:
These tools have been available for some time: Alexander and Finzer presented them in a MAA session on Geometer's Sketchpad at the AMSMAA meetings in Orlando in 1996. Their Poincaré disk scripts may be currently found at
http://mathforum.org/sketchpad/maa96/alexander/index.html.
A smaller subset of these construction tools is now included as part of the standard package of sample files in the current version (3.0) of Geometer's Sketchpad.
The ten constructions listed above provide a useful package of tools for the Poincaré disk. As such, they will somewhat arbitrarily be referred to as the "standard constructions". It is the purpose of this document to present the corresponding tools for the standard constructions in the other two wellknown models of hyperbolic geometry, the BeltramiKlein disk and Poincaré halfplane models. Each of these constructions use the Euclidean tools of Geometer's Sketchpad, which are, in essence, computer versions of the straightedge and compass. (It should be noted, of course, that items #3 and #4 above technically are not constructions, since they require the notion of measurement.)
Although Alexander and Finzer's scripts form the standard toolbox for the Poincaré disk and provided the inspiration for this project, others have also developed nonEuclidean Sketchpad construction tools. Dan Bennett has created scripts for the first four constructions (lines, segments, length and angle measure) for the Poincaré halfplane model, as an accompaniment to a text by Sibley. I do not duplicate Bennett's constructions, and encourage interested users to obtain Bennett's scripts, which may be found at
Peil has also written several scripts for the halfplane model, which may be found at
http://web.mnstate.edu/peil/projects/geo.html.
Although several of this author's constructions given in the next section do appear to duplicate Peil's work, there are distinct differences. For example, the midpoint and circle constructions described here use only straightedge and compass constructions, while Peil's scripts involve coordinate geometry as well.
The next section describes how to obtain, install, and use the hyperbolic scripts, with the goal of establishing a toolbox of the ten "standard" constructions for each of the three models. In addition, while creating the constructions the models, it proved useful in some cases to develop additional "intermediate" tools. For example, constructing the perpendicular bisector of a given line segment becomes much simpler once we have algorithms for constructing midpoints and raising perpendiculars. These additional constructions are included as well. To the best of our knowledge, the Klein scripts are original. That is, though others have certainly demonstrated the same constructions, they are an original compilation in the form of Geometer's Sketchpad scripts. The same may be said for constructions 510 in the Poincaré halfplane model.
Though the main purpose of this article is to discuss constructions in hyperbolic geometry, tools for constructions in elliptic geometry have been developed as well. Brad Findell presented tools for many standard constructions in a model of elliptic geometry at the 1996 AMSMAA meetings. These tools are currently available at
In this section, we give an explicit listing of the hyperbolic construction tools that have been developed in Geometer's Sketchpad for the three most common models of hyperbolic geometry. The goal of this project was to complete a package of tools for automating hyperbolic constructions in each of three models of the hyperbolic plane: the Poincaré disk, the Poincaré halfplane, and the BeltramiKlein disk. At a minimum, the tools for each model allow one to do any of the following:
As noted in the Background section (Page 5), Alexander and Finzer have written the scripts for the Poincaré disk, while Bennett and Peil have developed some of the Poincaré halfplane tools. This author has completed the scripts for the halfplane and produced the corresponding tools for the Klein model. For the interested reader, a mathematical description of the steps required for each of the Klein and Poincaré halfplane model constructions is given in the file toolbox.pdf This file is in PDF format and requires a reader such as Adobe Acrobat, which can be found here. The next page gives more detailed information on obtaining and installing the tools.
BeltramiKlein disk  model tools. 
Poincaré halfplane  model tools. 
Poincaré disk  model tools. 
klein.zip 
All the Klein model scripts in one ZIPPED package 
klnstrt.gsp  Klein model template Geometer's Sketchpad file. 
kline.gss  Script to construct a Klein line. 
ksegmnt.gss  Script to construct a Klein segment. 
klength.gss  Script to measure the Klein length of a line segment. 
kangmea.gss  Script to measure an angle in the Klein model. 
kangbis.gss  Script to bisect an angle in the Klein model. 
kprpon.gss  Script to construct the Klein perpendicular through a given point on a given Klein line. 
kprpoff.gss  Script to construct the Klein perpendicular through a given point not on a given Klein line. 
kprpbis.gss  Script to construct the perpendicular bisector of a Klein segment. 
kcntrpt.gss  Script to construct a Klein circle given its center and a point on the circle. 
kcntrrd.gss  Script to construct a Klein circle given its center and two points that determine the radius. 
Creating scripts for the ten "standard" hyperbolic constructions in the Klein disk necessitated the development of several other tools that are particularly useful in this model. For example, constructing the perpendicular bisector of a line segment in the model involves finding the "pole" of a Klein line, so the tool kpole.gss was developed for that purpose. In addition, one particular challenge posed by the BeltramiKlein model is that unlike the Poincaré models, Klein circles are not Euclidean circles  they are ellipses. As such, in Geometer's Sketchpad, they must be drawn as loci. This creates a practical problem: Sketchpad does not know how to intersect loci. Below, then are some additional tools that allow one to find the intersection of Klein circles with other Klein circles, Klein lines, and Klein segments. All these tools are available in the complete file klein.zip. If you don't have access to an unzipping utility, you could download one from either Pkware or WinZip.
kpole.gss  Script to construct the pole of a Klein line. 
kmidpt.gss  Script to construct the midpoint of a Klein segment. 
kreflpt.gss  Script to construct the reflection of a given point about a Klein line. 
kintcirc.gss  Script to find the intersection point(s) of two Klein circles. 
kintlncr.gss  Script to find the intersection point(s) of a Klein circle with a Klein line. 
kintsgcr.gss  Script to find the intersection point(s) of a Klein circle with a Klein line segment. 
kd_to_pd.gss  Script to map a point in the Klein disk isomorphically to its corresponding point in the Poincaré disk. 
poinhalf.zip 
All my Poincaré halfplane model scripts in one ZIPPED package 
The zip file contains all of the Poincaré halfplane model scripts listed below. If you don't have access to an unzipping utility, you could download one from either Pkware or WinZip.
poinhalf.gsp  Poincaré halfplane model template Geometer's Sketchpad file. 
phlength.gss  Script to measure the Poincaré halfplane length of a line segment. 
phangbis.gss  Script to bisect an angle in the Poincaré halfplane model. 
phprpon.gss  Script to construct the perpendicular through a given point on a given line in the Poincaré halfplane model. 
phprpoff.gss  Script to construct the perpendicular through a given point not on a given line in the Poincaré halfplane model. 
phprpbis.gss  Script to construct the perpendicular bisector of a Poincaré halfplane segment. 
phcntrpt.gss  Script to construct a Poincaré halfplane circle given its center and a point on the circle. 
phcntrrd.gss  Script to construct a Poincaré halfplane circle given its center and two points that determine the radius. 
As in the Klein model above, completing the scripts for the ten "standard" hyperbolic constructions in the Poincaré halfplane necessitated the development of other construction tools in this model. For example, the tool phprpbis.gss that finds the perpendicular bisector of a "line segment" in the halfplane first finds the midpoint of that segment. The tool phmidpt.gss was developed for that purpose. This tool, as well as the script "phreflpt.gss," is available in the complete file poinhalf.zip.
phmidpt.gss  Script to construct the midpoint of a line segment in the Poincaré halfplane model. 
phreflpt.gss  Script to construct the reflection of a given point about a line in the Poincaré halfplane model. 
In this section, we give detailed information on how to obtain and install the tools. This process essentially consists of the following steps:
Running a script manually: Every Geometer's Sketchpad script accepts certain geometric objects as inputs ("Givens") and returns a requested geometric object as an output. Running a script manually amounts to opening the appropriate script, informing Sketchpad of the "givens" for the script, then "playing" the script. For example, suppose one wants to draw a nonEuclidean circle having center O and radius OP in the Klein model. First open the appropriate template file (klnstrt.gsp in this case) as detailed in #4 above. Plot (and label) two points O and P, which will be the respective center and point on the circle. The script that performs the circle construction is titled klncntrpt.gss, and this file needs to be opened as well. This is done by selecting "Open" from the "File" menu option, then selecting "klncntrpt.gss" from the appropriately named directory, "klein" in this case (see #2 above). When these steps are completed, the Sketchpad desktop should look something like this:
A closeup of an open script file. 
To construct the desired nonEuclidean circle, the script requires four pieces of information: the two points which define the circle and the two points that define the Klein disk. As a result, the script kcntrpt.gss for a Klein circle accepts as "Givens" four different objects: the point defining the center of the Klein disk (called "KDisk center"), and a point on the boundary of the disk (abusively called "KDisk radius"), together with the center O of the circle and a point P on the circle. To construct the circle, highlight the givens in the appropriate order by holding down the "Shift" key while selecting the givens in your sketch in the correct order: click on the point "KDisk center," then click on the point "KDisk radius," then click on your center point O, and finally click on the point P which will lie on the desired circle. (Remember to hold down the "Shift" key while making these selections.) At this point, all of your givens should be highlighted. If the script becomes hidden on your desktop because of these actions, you can bring it on top again by selecting it under the "Work" menu option. Now play the script by clicking on the "Play" button on the tool:
Sketchpad should construct the desired circle, and you should be able to watch the program performing the steps in the construction. Click on the "Fast" button to have the construction finished more rapidly. The figure that should result is given in the picture below (click on the figure to see an enlarged view):
Running scripts automatically using a script tool directory. Running scripts manually can be cumbersome, particularly if one needs to use many different tools in a sketch: the desktop ends up being cluttered with open scripts. Automatic scripting provides a faster and cleaner way of using scripts. The idea is to create a new tool on the lefthand toolbar on the desktop by telling Sketchpad where one's scripts are stored. Then when one wants to use a particular tool, it can simply be selected from the toolbar and used as one would use the usual linedrawing or circledrawing tools. For example, suppose as above, one wants to draw a nonEuclidean circle having center O and radius OP in the Klein model. To do this, one must first set the Geometer's Sketchpad "script tool" directory to "klein" (or to whichever directory the Klein disk tools have been stored). One way to set this directory is by editing user "Preferences." Select "Preferences" under the "Display" menu, then click "More," since setting the script directory is on the second page of options. Choose the "Set" option under the "Script Tools Directory:" and set the directory to the directory in which the appropriate tools are stored (directory "klein" in this example). Geometer's Sketchpad has additional documentation on this and on other ways to set your script tools directory. Once you have chosen a valid directory, a "script tools" icon,
will appear on the left side of your Sketchpad desktop, just below the Object Information ("?") tool.
Next, one needs to open the appropriate template file (klnstrt.gsp in this example), and to make sure that the disk center and "radius point" are labeled properly. In our particular example, the center must be labeled "KDisk center" and the point on the boundary of the disk must be labeled "KDisk radius." One can see from script definition for kcntrpt.gss (see the picture above) that the "Givens:" include "AutoKDisk center" and AutoKDisk radius." When using automatic scripting, Sketchpad looks for these "Auto" points by name, so if the Klein disk is not labeled in this way, the automatic scripting will fail.
If the script directory has been set up properly and a properly labeled template file has been opened, then automatic scripting is straightforward. One can select the appropriate hyperbolic tool by clicking on the script tool button, then scrolling down to the desired tool (in our example, this is the tool entitled "Klein Circle by center and point":
Click on the image for an enlarged view. 
Once the script tool has been selected, the mouse pointer should appear with a small circle at its tip:
Now if one selects the other desired givens for the script by clicking in the sketch, Geometer's Sketchpad should perform the desired construction automatically. In our Kleincircle example, after selecting the proper script tool, if one clicks on two points in the interior of the Klein disk (corresponding to the two remaining givens, center O and point P on the circle), Geometer's Sketchpad will construct the desired hyperbolic circle. In fact, after clicking on the center point O, the circle will be generated dynamically; Sketchpad will construct the Kleincircle centered at O and passing through the current location of the pointer, and will continue to do so until the second click:
Click on the image for an enlarged view. 
There are several ways in which the hyperbolic construction scripts can be used in classroom applications. It should be emphasized, however, that the scripts are tools and not ends in themselves. They can be adapted by an instructor to produce applications suitable for classroom demonstrations. Perhaps more importantly, though, they can be used as building blocks for students to develop their own constructions and gain a deeper understanding of hyperbolic geometry. The examples below provide a sample of how the scripts have been used in teaching geometry, but the list is not exhaustive by any means. Creative instructors will be able to find many other uses.
Interestingly, the corresponding constructions in the other models do not necessarily have corresponding difficulty levels. For example, writing a tool that constructs a hyperbolic line in the Klein model is merely a matter of drawing a chord passing through two points interior to a circle. Constructing a halfcircle passing through two points in the Poincaré halfplane is slightly more challenging, though students who are able to circumscribe a circle about a triangle should be able to complete this task. Constructing a hyperbolic line in the Poincaré disk requires several steps, including the ability to find "inverse points" (see Greenberg p.243247). On the other hand, calculating angle measure in the Poincaré models is relatively straightforward since these models are conformal, while in the Klein model, this action requires the use of hyperbolic trigonometry.
In my classroom, I have had students develop the tools for constructing lines and segments in the three models as an introduction to the models and to writing scripts in Geometer's Sketchpad after reading the appropriate section of Greenberg for the Poincaré disk construction. In addition, I have the students discover on their own and without a computer how to "raise perpendiculars" in the Poincaré models. For more advanced classes, the more challenging constructions could be assigned as individual or group projects.
Although not truly applications in themselves, the hyperbolic tools can be used (by either the instructor or students) to develop applets illustrating hyperbolic geometry.
Baragar, A. (2001). A Survey of Classical and Modern Geometries with Computer Activities, Upper Saddle River, NJ: PrenticeHall.
Greenberg, M. J. (1993). Euclidean and NonEuclidean Geometries: Development and History , 3rd Edition, New York: W. H. Freeman and Co.
Lynch, J. (1997). The Proof Public Broadcasting Service (PBS), Boston: WGBH.
National Council of Teachers of Mathematics (1991). Professional Standards for Teaching Mathematics, Reston, VA: National Council of Teachers of Mathematics.
National Council of Teachers of Mathematics (2000). Principles and Standards for School Mathematics, Reston, VA: National Council of Teachers of Mathematics.
Sibley, T. Q. (1998). The Geometric Viewpoint: A Survey of Geometries, Reading, MA: AddisonWesley.