Hyperbolic Tesselations Applet

The following keys and mouse actions do interesting things:
(NOTE: you may have to click on the applet once before it will accept keyboard input. On some browsers (mozilla) you may have to leave and re-enter the browser window.)
    What:
        'p' - increment p (number of sides of each polygon)
        'P' - decrement p
        'q' - increment q (number of polygons surrounding each vertex)
        'Q' - decrement q
        'o' - cycle operation through the following list:
                Truncate=0 (primal)
                Truncate=.5
                Truncate=1
                Truncate=1.5
                Truncate=2
                Truncate=2.5
                Truncate=3
                Truncate=3.5
                Truncate=4 (dual)
                halfway between dual and runcinated
                Runcinated
                halfway between runcinated and primal
                Omnitruncated
        'O' - cycle operation backwards through above list
        Right mouse - change to Omnitruncated and drag vertex around

        Ctrl-'p' : toggle drawing of primal (initially on)
        Ctrl-'d' : toggle drawing of dual (initially on)
        Ctrl-'s' : toggle drawing of snub (initially off) (only interesting when omnitruncated)
            Ctrl-Shift-'S' : switch handedness of snub
            Ctrl-'o' : move vertex so that snub is uniform

    Where:
        Left mouse drag - change orientation
        'r' - reset orientation

    How:
        'm' - toggle model between Poincare disk and Klein disk
        'i' - increment max isometries (how much to draw) by 10
                (Ctrl-'i' to increment by 1)
        'I' - decrement max isometries (how much to draw) by 10
                (Ctrl-Shift-'I' to decrement by 1)
        'u' - cycle quality/speed tradeoff:
                0: fast (straight segment approximations)
                1: fast when moving, good when stopped (default)
                2: good (properly curved segments)

    Debugging (stuff you don't care about):
        'V' - cycle event debug level (output to java console window).
        'B' - toggle double buffering
        'J' - toggle random jitter of each edge (to see what's getting drawn multiple times)
        'L' - cycle isometry labels style (off, label isometries, label arms)
        ' ' - just repaint

    New bleeding edge:
        Ctrl-'x': encapsulated postscript dump with black&white swapped
                  to file "PSDUMP.eps"
                  (only works when run locally, not as an applet in a browser)
        
Soon to come:

For experts:

You can also specify a general uniform tiling, using a simplified version of the Burgiel/Conway/Goodman-Strauss (BCGS) orbifold symbol, which will be explained below. For example, here are three different tilings that all have the same list of faces around each vertex (a triangle and three hexagons):
  1. (3,6,6,6)^1 [0][1][2][3]
  2. (3,6,6,6)^1 [0][1](2)(3)
  3. (3,6,6,6)^1 (0 1)[2](3)
Explanation of the notation:
Okay, ready? Enter your symbol below, and hit Enter:


Download source code for this applet (compressed jar file contains class files and source)
?!
Last Modified: Mon Sep 20 04:26:54 PDT 2004
Don Hatch
hatch@plunk.org
Valid HTML 4.0!
Back to Don Hatch's home page.