# Interactive model of the hyperbolic plane for a general public lecture

The following is not quite a research level question, but I still find this site appropriate for asking it. I hope I get it right here.

I am preparing a talk for a general public and I want to discuss some hyperbolic geometry. I wish I had a good illustration device. I imagine a dynamical version of one of Escher's tessellations of the Poincare model (e.g the one in How might M.C. Escher have designed his patterns?) which changes isometrically when I slide the computer mouse.

Question: Could you please make any recommendation regarding any device of a nature similar to the one I describe above? In fact, I will be happy to have whatever interactive model of whatever geometry, not necessarily hyperbolic.

Subquestion: if you're kind enough to make a recommendation, could you also advice regarding copyright issues (if applicable)?

Sidequestion: Any other recommendation regarding presentation of geometry will be appreciated. Please note that my concern is more about the quality of the presentation than the actual mathematical content...

UPDATE: Thank you! I am thrilled to get in less than 24 hours so many excellent answers and comments. Fortunately, Arnaud Chéritat provided EXACTLY what I asked for, and I happily accept his answer. Indeed, I am going to use his tool for my presentation. However, there are other excellent tools here which could be useful elsewhere. It seems to me a good idea to keep collecting those and MOF is an excellent platform for that.

I suppose one should post one of these big-list questions which has a broader scope than this one (but not too broad), something like "Visualizing tools for lectures on geometry". I am not sure how this is done, so you can pick up the glove!

• This could be done in javascript with HTML5's canvas element if you're willing to put time in. I would also google for gifs and demonstrations, if you haven't already (e.g. this Wolfram demo, this demo of an isometry of the complement of a Julia set). You may also be interested in the game hyperrogue.
– Neal
Sep 14 '16 at 13:01
• Thanks Lee, thanks @Neal - the hyperrogue is awesome and quite close to what I had in mind. Sep 14 '16 at 13:46
• @Neal, Like this, which I wrote not long ago ? math.univ-toulouse.fr/~cheritat/AppletsDivers/Escher Sep 14 '16 at 20:02
• The author of HyperRogue here. I was thinking about doing a similar talk myself someday -- first some history and basic theory, then show how everything works in HyperRogue. My blog post hyperbolic geometry in HyperRogue explains what can be seen. Since there is no time during the talk to reach everything playing according to the rules, the cheat mode would be probably useful. Sep 15 '16 at 7:26
• @ZenoRogue As I said a few comments above: HyperRogue is awesome! I am sure I will use it in the future for presentations, however I imagine that by developing this game your contribution to popularizing hyperbolic geometry goes much farther than any popular lecture... Sep 15 '16 at 8:07

By chance I wrote, not long ago, the following applet (HTML5+JS+WebGL) that works at least on Firefox and Chrome.

https://www.math.univ-toulouse.fr/~cheritat/AppletsDivers/Escher/

This work is CC-BY-SA, including the code, but NOT the image by Escher, for which I have not asked permission: you can probably use it a few times in conferences (fair use) but not in a permanent publication (and I will eventually have to remove this image or to create a variant of my own, like Valdimir Bulatov).

• Thanks. I take your answer also as a permission to use it in my presentation. Please let me know if I get it wrong. Sep 15 '16 at 7:59
• @Arnaud Would changing the image be as simple as replacing euler-2.png with another (open-source) hyperbolic tessellation of the disk, as might be found by Wikipedia or created by oneself?
– Neal
Sep 15 '16 at 14:04
• @Neal: Yes it is! As a matter of fact the program only uses part of the image, some fundamental domain which I do not recall. Sep 15 '16 at 15:06
• @Neal I guess the ornament has to have the same symmetry group, at least as far as rotations are concerned (lack of reflections likely won't matter), and it has to be positioned alike so the centers of rotation match.
– MvG
Sep 16 '16 at 19:22
• The fundamental domain is a bit wierd because it is a union of two hyperbolic triangles touching at one vertex, in the center of the image. I wrote a slight modification in math.univ-toulouse.fr/~cheritat/AppletsDivers/Escher/var You'll find a file page.html that you must download and rename index.html. You will also find an image fund_dom.png explaining the fundamental domain for the modification. Hope that helps. Sep 17 '16 at 7:45

## Live isometries of a hyperbolic ornament

As part of my dissertation Creating Hyperbolic Ornaments I wrote some Java software which might serve your needs. It's called morenaments conform (as of now). In particular, I can input any Euclidean ornament, hyperbolize that and then perform isometric transformations of the resulting hyperbolic ornament using OpenGL.

If the original ornament is by Escher, then you even get Escher-like artistic content in additon to the hyperbolic symmetry group. Which is something we did for our article Hyperbolization of Euclidean Ornaments. But you have to explicitely ask the Escher Foundation for permission to create derived work of this kind, so it may be easier to start with some other ornament instead. Personally I tend to base a lot of presentations on The Grammar of Ornament.

My software is GPL, so you are free to use it. While I've been using that software for quite some time, it was your question here which made me publish it on GitHub. So it is well-tested on my computer with me using it, but not with other computers or other users. The project README should provide instructions on how to run and use the application for the use case described above. Please report any issues you might have running the code.

## Other alternatives

Cinderella does ship support for hyperbolic geometry, in the Beltrami-Klein model or the Poincaré disk model. That way you can create a construction e.g. based on a regular polygon, and then move that around interactively by dragging the center of the polygon. You'd enable hyperbolic geometry using the “Hyp” button at the bottom. Then you see the fundamental circle of the Beltrami-Klein model in the main “Euclidean View” (slight misnomer in this case) and you can open a “Hyperbolic View” from the “Views” menu. It's free but closed source software. I'm currently involved with its development.

iOrnament by Jürgen Richter-Gebert does allow viewing a drawn ornament in hyperbolic geometry. I don't recall whether it was possible to move that ornament. Internally this is built on precompiled lookup images which were in fact created using the software I mentioned up front. This is commercial software for iOS devices only, since I haven't gotten round to writing its Android counterpart yet.

## Interactive visualizations in general

Andreas' answer made me aware of the fact that much of the content my former supervisor Jürgen Richter-Gebert created would fit that description of high-quality interactive geometry (and other things) in education. While historically most of that is based on Java Applets exported from Cinderella, the future for math on the web lies with JavaScript, which motivated the project at the center of my current day job: CindyJS. We are still working on a nice gallery for its website, mostly based on this collection of nice interactive widgets. I don't think we have anything particularly hyperbolic at this time, though. The framework is Apache-2-licensed, most content CC-BY-SA.

• @UriBader: I published my sources and wrote a bit of documentation. I invite you to give it a try.
– MvG
Sep 14 '16 at 22:45
• MvG, I ended up accepting another answer which provided me the exact tool I needed for my lecture, but I wish I could accept yours too. I am sure your software will be useful for others, as well as for me in the future. Thanks for posting it here. This is highly appreciated! Sep 15 '16 at 8:03
• @UriBader: Don't worry about that tick mark. I even agree with you: that easy-to-use in-browser thing seems to do exactly what you need, with far less hassle. I'd accept it myself if I were you. The upvotes I got are compensation enough for me, and I'm glad this post made me finally publish my sources.
– MvG
Sep 15 '16 at 8:08

Not exactly what you ask, but there is a computer game HyperRogue taking place on hyperbolic plane. Having an actual protagonist moving around the plane is an excellent way to introduce hyperbolic geometry to popular audience. Here is an introduction for mathematicians.

The game is free (and open source). Here is an online version that does not require a download.

EDIT: It also supports numerous tilings and quotient spaces now.

• Thank you, Boris. Note that @ZenoRogue, the developer of that game made a comment to the original post. Sep 15 '16 at 8:18
• @UriBader Sorry, I had not read the comments, only the answers. Sep 15 '16 at 11:50
• @UriBader It also has "demonstration" modes now, so that you don't have to worry about the game aspects. Jan 25 '18 at 3:48

I wrote this simple little JavaScript game some time ago, whose purpose is to illustrate how easily one gets lost in hyperbolic geometry, and how mazelike it is even without any walls blocking the way. The game takes place in the hyperbolic plane, or, more accurately, in a compact quotient of the hyperbolic plane (a Riemann surface of area $35\,244\,\pi$), and the point is to try to find a number of objects (orbs). Both the Poincaré disk projection and the Beltrami-Klein projection are available. The game also allows you to drop bread crumbs or homing beacons to make navigation easier.

Since the game is in pure JavaScript, the code is easy to read (just use "view source" in a browser, it's all inside the HTML), and I tried to make it as readable as possible. Also, I put in in the Public Domain, so you can reuse it as you like.

• Ah, as soon as I saw that question I thought of your game, but I can't remember how to find it. Great that you added the answer. Sep 16 '16 at 13:30

I realize this is not what you're asking for, but I recall that John Hempel had a model of the pseudosphere with a patch of rubber (molded from it) that one could move around and tactilely demonstrate that it has constant curvature.

I cannot omit mentionning the work of Jeff Weeks, which is way more complete than mine:

http://geometrygames.org/

Click on Kaleidotile, this program can do tilings on the sphere, the Euclidean plane and the hyperbolic plane. There is a binary for MacOS and Windows and a source code.

• Some answers (this one included) come with a nontrivial mutiplicity (see the answer by @მამუკა ჯიბლაძე). It is a good sign! Sep 15 '16 at 16:06

Perhaps some of Jürgen Richter-Gebert's interactive models will be interesting for you (unfortunately to my knowledge only in German language). There is really amazing content with high quality presentation and interaction, e.g regarding Indra's Pearls:1. If I'm not mistaken some of his interactive presentations are shown in the "Deutsche Museum" in Munich.

• I was working under him, and actually I did translate large parts of these Indra's Pearsl demos he created. Aparently the translation plugin broke during some CMS update… If there is a link “en” in the upper right corner, then adding “En” to the URL should give you an english version. So the overview would be here. And yes, the setup at the Deutsches Museum is still there afaik.
– MvG
Sep 14 '16 at 20:36

On a page by Don Hatch there is in particular a collection of hyperbolic tesselations created with his interactive java applet. Some browsers (notably chrome) block Java, but you may, if you have Java installed, just run the source code offline, it has simple controls, you can switch between Poincaré and Klein models, and move in a hyperbolic way just dragging your pointing device.

Another very nice interactive activity is Jeff Weeks' hyperbolic games. I found particularly hyperbolic-intuition-developing the hyperbolic snooker there.

There is a nice model of the hyperbolic plane using Polydron tiles. The idea is that you hook up a whole lot of triangles in such a way that more than 6 triangles meet at every vertex. Edmund Harriss has some pictures of this here, for example.

A very versatile tool to display hyperbolic geometry is the software package Cinderella by Jürgen Richter-Gebert and Ulrich Kortenkamp: See this link. . And you can also check out the program iOrnament.

I have some old MATLAB code that displays geodesics on a surface of constant negative curvature and genus $g$ in the disk model. Sample output is shown. Though the display is static, you can vary the arc length parameter to see the evolution. It would not be hard to make movies from this if you are at all familiar with MATLAB.

If you'd like the M-files, contact me in a comment or through the address on my profile.

• This reminds me of shine, which is a package for the visualization of geodesics on surfaces (as I understand, computes geodesics in a hyperbolic structure, then projects via an embedding into $\mathbb{R}^3$).
– Neal
Sep 14 '16 at 19:04

There is a similar question on Math.SE and I recently answered it. Please allow me to reproduce it here.

During college, a friend and I developped what we called an Hyperbolic Browser which task was to let its users explore the hyperbolic space via multiple models such as :

• Poincaré Disk
• Poincaré Half-Plane
• Beltrami-Klein Disk

The goal was for us to better understand what was this unorthodox geometry and provide tools to explore for neophytes.

Don't be too harsh on us. The core of the project was designed when we were students. Going back from the start would have been time-consuming, fastidious and not really interesting for the end-user so the project stands as it is.

Since April 2016, I worked on this maths project on my spare-time with the aim to release the project under a Free and Open Source licence. After a bit of refactoring and some new features, I'm happy to release what will be version 1.0.

There still are some bugs, the architecture is not perfect (for sure), but at least some features do work.

Feedbacks are wanted and welcomed !

Hyperbolic Browser

A new release is available.

25 years ago, Adrien Douady had made a lecture at École normale supérieure in Paris. On the blackboard stood : “Que nul n'entre ici s'il n'est géomètre hyperbolique.” (Let no one ignorant of hyperbolic geometry enter.)

The lecture began with an interactive construction of the hyperbolic plane in paper. He had brought rubber and scissors and we were asked to cut “hyperbolic” triangles that were drawn on paper (and Xerox-copied) and to glue them together.

I've used my program MagicTile during a few presentations, and it has many capabilities that make it a nice choice.

• Supports all regular 2-dimensional tilings across the 3 geometries (spherical, Euclidean, and hyperbolic).
• Many models: Poincare, Klein, Upper Half Plane, Orthographic, and their analogues in spherical geometry (Stereographic, Gnomonic, etc.), and some less common models...
• All these models are dynamically pannable. I've found this a nice way to demonstrate classes of conformal Möbius transformations.
• Spherical/Euclidean geometries also include quotient surface views, including the non-orientable Klein bottle and Boy's surface.
• It is a very colorful program (as it is centered around analogues of Rubik's cube), which could heighten public interest.
• It is completely free, in active development since 2009, and the opensource code has the most permissive GitHub license.

One downside is that it is a Windows program, though some have it running on Macs as well.

This would also be a good place to recommend Henry Segerman and Saul Schleimer's physical models, which they have proved work well for public lectures. For an example presentation, see their YouTube video Illuminating hyperbolic geometry, which has links to purchase the models.