Wednesday, October 29, 2008

Hyperbolic Tiling in Motion

I've seen a number of pretty images of hyperbolic tessellations (tilings) on the web. A nice gallery from one of the producers of the Dimensions videos turns many flat Escher tilings into hyperbolic ones. What I hadn't seen until I went looking the other day was a way to animate motions of the hyperbolic plane (using the Poincare Disk model).

I thought this would be a cool project, and decided to do a quick search to see what applets out there might already be doing it. I was pleased to find this one right at the top of the search results (and even more pleased because I know the author Don Hatch through the Rubik hypercube group and was able to meet him some time ago...wow actually that was almost a decade ago...scary).










Drag your mouse around on his applet above to see this tiling of the hyperbolic plane translate (update: Sarah let me know this doesn't work in Google Reader btw). This can give a much better feel than a static picture that each tile in the image is actually the same shape (a regular polygon). I know this post is lacking in background, but hyperbolic geometry can't be represented through normal plane geometry without distortion, hence there are alternate representations with tradeoffs in characteristics. One thing to notice is that the white tiles have 7 sides and the dual blue tiling has 7 triangles meeting around a point, but you can't have such a tiling in normal space with a set of regular triangles (7*60>360). There just isn't enough space, kinda like our closet storage for Sarah's shoes :)

This applet is highly configurable and fun to play with, e.g. click on it and start pressing p. You can find all the info on Don's applet page. There are some extensions I would still like to see in addition to translations. A rotation of the plane about any selected point would be cool. Hyperbolic geometry is more interesting than flat (Euclidean) geometry, leading to more possibilities as well. Specifically there is a special kind of rotation called a limit rotation, and this would also be neat to see. Finally, it would be sweet to allow animated motions of other models of hyperbolic geometry like the half plane model. So there is still fun potential hobby coding to be done (of course).