Ein Parkett heißt regulär, wenn die Bausteine reguläre Polygone sind (d. h. alle Seiten und Winkel sind gleich groß), und alle lokalen Umgebungen von Ecken des Parketts kongruent sind. (Die Liste der erlaubten Eckentypen ist endlich.)
Es gibt zwei hinreichende Tests dafür, ob ein gegebenes Polygon (d. h. für uns: eine Menge von bereits zusammengebauten Parkettsteinen) eine periodische Parkettierung der Ebene gestattet:
Man mache sich klar, daß die Inzidenz-Axiome erfüllt sind. Im Gegensatz zum euklidischen Fall gibt es hier zu einer Geraden viele andere, die diese nicht schneiden, also "parallel" zu ihr sind.
Die Kongruenz--Abbildungen sind gebrochen lineare Transformationen f : z -> (az + b)/(cz + d) mit ganzen a,b,c,d mit ad - bc = 1. Das heißt bei Mathematikern eine Aktion von SL(2,R). Man rechne nach, daß
Hyperbolische Polygone haben immer eine Innenwinkelsumme, die unter der entsprechenden euklidischen liegt. Im Extremfall ist die Summe 0!
Was sind hyperbolische reguläre Polygone? Gleichwinkligkeit läßt sich leicht testen. Für die Gleichseitigkeit müßten wir etwas länger rechnen, oder wir sagen: solche Polygone haben einen Mittelpunkt, und jede Seite bildet mit diesem ein gleichschenkliges Dreieck. Damit müssen wir wieder nur Winkel vergleichen.
Welche regulären hyperbolischen Parkette gibt es? Viel mehr als euklidische! Wir können mit einem beliebigen regulären Dreieck beginnen, zum Beispiel einem mit drei Winkeln von 45 Grad. In jedem Eckpunkt passen dann acht solcher Dreiecke aneinander.
Programmieraufgabe (wird aber ein längeres Projekt): Berechne und zeichne reguläre hyperbolische Parkette aus wenigstens zwei verschiedenen Bausteinen.
Untersuche und ggf. benutze Periodizität.
(Hier ist ein bißchen Quelltext.)
Wiederum überzeuge man sich von der Gültigkeit der Inzidenzaxiome. Gibt es hier überhaupt parallele Geraden? Nein, beliebige zwei Geraden schneiden sich.
Wir betreiben hier tatsächlich sphärische Trigonometrie, die Kongruenzabbildungen sind Drehungen der Kugeloberfläche, also SO(3,R). Wiederum ist klar, daß das eine ordentliche Bewegungsgruppe ist, und wie wir Winkel messen. Sogar die Längenmessung ist jetzt einfach.
Reguläre Polygone definieren wir wie gehabt. Welche regulären Parkettierungen gibt es? Sicher einige, zum Beispiel aus Vierecken mit Eckenwinkeln von 120 Grad, davon brauchen wir sechs Stück - das ist tatsächlich das Bild eines Würfels, von innen auf die Kugeloberfläche projiziert. Wir erhalten also die regulären Polyeder (falls das Parkett nur einen Baustein hat) und die sogenannten halbregulären (bei mehreren Bausteinen), beispielsweise abgeschnittene Oktader (Eckentyp 3,6,6) oder snub cubes (Eckentyp 4,3,3,3,3).
Zu Polyedern siehe auch hier: http://www.cs.utk.edu/~plank/plank/pics/origami/origami.html.
Die Winkelsumme in Polygonen ist nun immer größer als im Euklidischen Fall, deswegen gibt es auch nur endlich viele reguläre Parkettierungen. Wir beachten weiterhin, daß auch jede Parkettierung endlich ist (nur endlich viele Steine enthält): bei der gegebenen (positiven) Raumkrümmung ist eben der Flächeninhalt des gesamten Raumes endlich. Die Frage nach der Raumkrümmung, und damit der Endlichkeit, kann man auch (eine Dimension höher) für das Universum stellen, in dem wir leben.
Programmieraufgabe: zeichen die regulären elliptischen Parkette (d. h. halbreguläre Polyeder). Was ist mit Periodizität?
Die Eingabe für den Parkettierer ist lediglich die Liste der erlaubten Bausteine, gegeben durch ihre Innenwinkelfolgen. Über die Summe der Innenwinkel dürfen wir also nichts voraussetzen. (Beispiele für verschiedene Bausteine: reguläre Polygone, zwei Rhomben, ein L.) In jeder Ecke des Parketts muß aber die Summe der dort erscheinenden Ecken gleich einem Vollwinkel sein.
Nur das Zeichnen des Parketts hängt von der Geometrie ab. Hier sind einfach drei Module (Euklidisch, Hyperbolisch, Elliptisch) zu schreiben, die die passenden Begriffen von Geraden implementieren. (Beispiel: Euklidischer Quelltext.)