model name
tool description

copy

download
Construction list  

 

About this page

This page aspires to be the hyperbolic geometry version of GeoGebra, but I have no illusions that this will ever be as polished, or as widely-used. Another similar resource is NonEuclid, which allows constructions on the Poincaré disc. Also noteworthy: Two GeoGebra apps implementing constructions on the Poincaré disc—this one (Tibor Marcinek), and this one (Malin Christersson).

Mostly, I just wanted a tool for my own use (in teaching and personal exploration).

More general information about hyperbolic geometry can be found on Wikipedia. Note that the models presented here have Gaussian curvature K = -1, so that the area of a triangle is equal to its defect (π - α - β - γ).

Technical notes

Release history

December 12, 2022 - added a tool to produce regular polygons (with an eventual goal of producing tessellations), although I rushed this out with a few construction dependency issues. (E.g.: If you inscribe a regular polygon inside another regular polygon, they won't always update properly.) This update also includes a (very incomplete) implementation of the conformal square model, which I hope to fill out soon.

November, 2022 - interface cleaned up; plane now fills available space in the window. Added jQuery UI Touch Punch to make page behave better on mobile devices (but there's still some work to be done there ...)

April to September, 2022 - numerous changes in preparation for a presentation at Miami University. Added tools for measuring distances and angles (the values of which can be used for, e.g., radii of circles or rotations). Image can be copied to the clipboard.

April 16, 2022 - (1) Polygon tool added—but still have some revisions to make: want to be able to treat polygons as a group (e.g., to rotate or translate as a whole), but if so, may have to think about what happens in cases where points in the polygon have external dependencies. (2) can display point labels on the construction. (3) Finally implemented "settings" for objects (show/hide label, change point size, line styles). (4) Added algorithms to find intersection points and feet of perpendiculars using algebra (instead of using Newton's method, which sometimes missed some points).

January 19, 2022 - (1) More code cleanup, and a few bug corrections. (2) Added tools for creating ideal points, horocycles, and radical axes.

January 10, 2022 - (1) Lots of code cleanup, especially in merging some overlapping code (functions that were nearly identical, e.g.). Still some work to be done, but this should make it easier to maintain. (2) Corrected the angle bisector construction, which sometimes resulted in the ray pointing the wrong direction. (3) Added tools for translation and "conic through five points." (Note that hyperbolas constructed using that latter tool are sometimes drawn with missing or incomplete branches in planes other than Cayley-Klein.)

December 21, 2021 - Added a new model (the full-plane Gans Model), and "special loci" constructions: points at a fixed distance from a line, and the "h-conics" (the standard locus definitions of parabola, ellipse, hyperbola). Note that in the Beltrami/Cayley/Klein model, all of these constructions look like (parts of) "regular" conic sections, although the construction of an h-parabola produces a set of points that can be any kind of conic (parabola, ellipse, hyperbola). The h-conics have the same reflective properties as regular conics, although "reflection" can look odd to our Euclidean-biased eyes.

December 25, 2020 - segments and rays are now drawn [mostly] correctly; I initially just drew all segments/rays/lines (SRL) as a line, because I was focused on other things. NB: intersections of SRL with other objects finds the intersection(s) of the full line, so even if (say) a segment does not intersect a circle, the intersect tool might still produce two points.

December 24, 2020 - first semi-official release. Still a little buggy, and only tested on Chrome/Mac (and a little on Safari/Mac).

TODO (goals)

Acknowledgements

As noted above, I drew inspiration from GeoGebra and NonEuclid. I also used SVG Viewer to create the icons for the GUI, and this tool for encoding some of those icons.

References and further information


The contents of this page are © 2022 Darryl Nester. It is available to anyone who wishes to use it (like most things on the Internet). Please send me an email if you have found it to be useful, or if you have suggestions.