You are here

The Hyperbolic Toolbox - Filling Your Toolbox

Stephen Szydlik


In this section, we give detailed information on how to obtain and install the tools.  This process essentially consists of the following steps:

  1. Make sure to have a working copy of Geometer's Sketchpad.
  2. Download the desired tools into the proper directory.
  3. Unzip any zipped files in the appropriate directory.
  4. Open the appropriate Sketchpad template file.
  5. Select and run the scripts of choice to perform the desired non-Euclidean constructions.


  1. Make sure to have a working copy of Geometer's Sketchpad. The software can be purchased from Key Curriculum Press. You can download a free demonstration version of Geometer's Sketchpad from the Key Press site. The demo version differs from the full version only in that you cannot save, print, or export your work.  It otherwise allows full use of  Sketchpad capabilities, including its script tools in particular.


  2. Download the desired tools into the proper directory. It is recommended that you create three separate directories where you can store the script tools corresponding to the three different models. For reference, we shall call these directories  "poincare,"  "poinhalf," and "klein."
    • Poincaré Disk Tools:  As noted in Background (Page 5), Alexander and Finzer have written the scripts for the ten standard constructions in the Poincaré disk model.  Their tools are available here, and can be downloaded into the "poincare" directory.  This author's tool  (pd_to_kd.gss) for mapping points in the Poincaré disk isomorphically to their corresponding points in the Klein disk can be found in the zipped file
    • Poincaré Half-Plane ToolsBennett and Peil have developed some of the hyperbolic tools for the half-plane model, and those tools may be downloaded into the "poinhalf" directory.  This author has developed the remaining construction tools for the half-plane, and these scripts may be downloaded as the package  See What's in the Toolbox? (Page 6) for more information on what is included in the package.
    • Beltrami-Klein Disk Tools:  Also available in a package are the construction tools for the Beltrami-Klein model.  The package can be downloaded into the "klein" directory.  See What's in the Toolbox? (Page 6) for more information on what is included in the package.


  3. Unzip any zipped files into the appropriate directory. If you downloaded "" or "," unzip the files in the directory in which you will be storing the tools.  There are several shareware and commercial vendors of unzipping utilities (see Pkware or WinZip, for example), and extensive documentation is available.


  4. Open the appropriate Sketchpad template file.  These templates contain the basic geometric structures associated to each model.  For example, the Klein model template "klnstrt.gsp" contains a template for the Klein disk.  It consists simply of a circle defined by a center point (labeled "K-Disk center") and a point on the circle (labeled "K-Disk radius").  The labelling is important if you wish to use the scripts in an automated setting (see #5 below).  The hyperbolic tools assume those labels as givens for the constructions.  If the center and "radius point" are labeled differently, then the scripts will need to be played manually (see #5 below).   The template for the Poincaré disk (a circle with center "P-Disk center" and point "P-Disk radius") is found in the file "poinstrt.gsp".  The template for the  Poincaré half-plane model (consisting of a horizontal line through two points labeled "A" and "B") can be found in the file "poinhalf.gsp."


  5. Select and run the scripts of choice to perform the desired non-Euclidean constructions.  There are two different ways to run a Sketchpad script:  manually by "playing" an open script, and automatically by using a script tools directory. We will consider each of these in turn, and include a detailed example for less experienced users of Geometer's Sketchpad. In either case, however, Sketchpad has extensive documentation on using scripts. (Note:  The examples and instructions described below were documented using version 3.10 of Geometer's Sketchpad  on a Windows 98-based computer.  On other platforms or different versions of the software, the general steps should still be the same, but the specific keystrokes may be slightly different.)

    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 non-Euclidean 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:



(The above figure comes from a Windows 98 version of Geometer's Sketchpad; the desktop may appear slightly different on different platforms.)  In this picture, the script file appears on the upper right-hand of the desktop.  Click on the image for an enlarged view.   


  A closeup of an open script file.  

To construct the desired non-Euclidean 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 "K-Disk center"), and a point on the boundary of the disk (abusively called "K-Disk 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 "K-Disk center," then click on the point "K-Disk 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 left-hand 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 line-drawing or circle-drawing tools.  For example, suppose as above, one wants to draw a non-Euclidean 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 "K-Disk center" and the point on the boundary of the disk must be labeled  "K-Disk radius."  One can see from script definition for kcntrpt.gss (see the picture above) that the "Givens:" include "Auto-K-Disk center" and Auto-K-Disk 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 Klein-circle 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 Klein-circle 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.  


Stephen Szydlik, "The Hyperbolic Toolbox - Filling Your Toolbox," Convergence (January 2005)