1 Einleitung

Thema dieser Diplomarbeit ist die Entwicklung eines Computerprogramms zum effektiven, intuitiven und interaktiven Zeichnen symmetrischer Ornamente in der euklidischen Ebene (also der ganz gewöhnlichen Zeichenebene, wie man sie aus seiner Schulzeit kennt). Dabei werden zu jeder vom Benutzer gezeichneten Linie eine Menge von Kopien dieser Linie, der sogenannte Orbit, vom Programm ergänzt. Die Symmetriegruppe, die die Struktur des Ornaments festlegt und somit entscheidet, welche Kopien erzeugt werden, ist einstellbar.

Die vorliegende Arbeit soll einige Konzepte der Implementierung genauer erklären. Dabei geht es zum einen um eine effiziente Umsetzung der Grundfunktionalität, also der Berechnung und Darstellung der vom Benutzer gezeichneten Muster, zum anderen um die Realisierung ausgewählter Features.

1.1 Benutzersicht

Bevor näher auf die Geschichte und interne Funktionsweise des im Rahmen dieser Arbeit geschriebenen Programms samt der dazu erforderlichen mathematischen Grundlagen eingegangen wird, soll hier ein kurzer Überblick gegeben werden, wie sich das Programm dem Benutzer darstellt.

Screenshot der Anwendung

Abbildung 1: Screenshot der Anwendung

Das Programm bietet dem Benutzer einen dreigeteilten Anwendungsbereich, wie in Abbildung 1 ersichtlich. Links befindet sich die Zeichenfläche, in der einfach mit der Maus oder einem Grafiktablett gezeichnet werden kann. Rechts unten ist eine einzelne Translationszelle extrahiert, also ein Bereich, dessen verschobene Kopien das gesamte Muster erzeugen. Durch farbige Kontrollpunkte in dieser Ansicht können Position, Größe und Form der Translationszelle eingestellt werden. Ist die Darstellung von Fundamentalzellen (die in Abschnitt 6 eingehend behandelt wird) aktiviert und deren Form veränderbar, so wird in diesem Teil der Ansicht ein Kontrollpunkt zur Beeinflussung dieser Form dargestellt.

Rechts oben findet sich eine Sammlung von Knöpfen mit denen Symmetriegruppe sowie Stiftfarbe und -dicke eingestellt werden können. Die Menüs darüber bieten Zugriff zu weitergehenden Funktionen. Besonders interessant ist das Gitter-Menü, in dem die Anzeige diverser Hilfslinien ein- und ausgeschaltet werden kann.

1.2 Entwicklung

Der Großvater dieses Programms wurde 1986 von Jürgen Richter-Gebert auf einem Atari geschrieben. Anlass war die Ausstellung Symmetrie in Kunst, Natur und Wissenschaft in Darmstadt[12]. Die Portierung dieses Atari-Programms nach DOS durch Rüdiger Krauße war der Vater meines Programms[11]. Beide Programme entstanden unter der Betreuung von Professor Bernhard Ganter. Im Laufe meines Studiums hatte ich in einer Vorlesung dieses DOS-Programm gesehen. Dabei hatte ich erfahren, dass Bedarf an einer Neuimplementierung bestand. Die Anwendung sollte in das Mathematik-Museum ix-quadrat an der TU München integriert werden. Dieses befand sich zum damaligen Zeitpunkt im Aufbau und hat Symmetrie als eines seiner drei Themengebiete. Um in die digitalen Exponate des Museums integriert werden zu können, musste die Neuimplementierung als Java-Applet lauffähig sein. Außerdem sollte die Benutzerschnittstelle zeitgemäßer gestaltet werden, um intuitiver bedienbar zu sein.

Ich begann, einen Prototypen einer solchen Neuimplementierung zu schreiben. Noch beim Nachdenken über dessen Implementierung kamen mir einige Ideen, wie man das Programm verbessern könnte. Die Grundfunktionalität kommt dadurch mit weniger Ressourcen aus, während die auf heutigen Computern verfügbare Rechenleistung genutzt werden kann, um das Programm ansprechender, intuitiver und vielseitiger zu machen. Im Laufe der Entwicklung, später dann auch unter Einbeziehung von Erfahrungen mit frühen Versionen im Museum, wuchs die Liste der Features und damit verbunden die Komplexität des Programms weiter an.

Mittlerweile verfügt das Programm unter anderem über die folgenden Features, die sich in dieser Kombination in keinem anderen mir bekannten Programm dieser Art finden lassen.

All diese Features sind implementiert, ohne die intuitive Benutzbarkeit des Programms zu beeinträchtigen. Der beste Beweis dafür dürften die vielen Kinder sein, die bei Besuchen im ix-quadrat regelmäßig beträchtliche Zeit mit diesem Programm verbringen. Dieses ist mittlerweile eines der meistgenutzten und beliebtesten Exponate im Symmetriebereich von ix-quadrat.

Abbildung 2: Kinder beim Zeichnen von Ornamenten im ix-quadrat

1.3 Vergleiche

Es gibt einige andere Programme, die sich mit dem Zeichnen von ebenen Ornamenten beschäftigen. Im Folgenden werden einige Repräsentanten vorgestellt und mit meinem Programm verglichen.

Ornamente für DOS[11]:

Der Vater meines Programms bietet, wie auch schon die Vorgängerversion auf dem Atari, neben einem Modul zum Zeichnen von Mustern auch die Möglichkeit, bei der Analyse eines Musters behilflich zu sein. Dafür können Fragen nach mögliche Symmetrieeigenschaften wie beispielsweise es gibt eine dreizählge Drehung mit ja oder nein beantwortet werden. Die Reihenfolge der Fragen bleibt dem Benutzer überlassen. Zwingende Schlussfolgerungen aus den aktuell angegebenen Antworten werden automatisch getroffen und der Stand der Analyse an einem Verbandgraphen visualisiert. Diese Funktionalität wurde in mein Programm nicht integriert, sondern für das Museum in ein eigenständiges Programm ausgelagert. In gewissem Sinne ist die automatische Mustererkennung meines Programms jedoch ein Nachfolger dieses Moduls.

Unter dem Gesichtspunkt der intuitiven Bedienbarkeit ist mein Programm jedoch ein gutes Stück weiter als sein Vorgänger. Bei diesem ist die Form der Fundamentalzelle fest, und ein Größenwechsel löscht, genauso wie ein Gruppenwechsel, die aktuelle Zeichnung. Als Gitter für Symmetriegruppen mit dreizähligen Drehungen werden Dreiecke angezeigt, von denen je zwei benachbarte eine Translationszelle bilden.

Escher Web Sketch[22]:

In diesem Programm kann man nicht nur Freihandlinien zeichnen, sondern auch bestimmte Objekte in der Zeichenebene platzieren. Der Orbit dieser Objekte wird bei gedrückter Maustaste bereits dargestellt, so dass man die Position justieren kann, bevor man das Objekt ablegt. Insgesamt ist dies in meinen Augen ein erster Schritt in Richtung Konstruieren in kristallographischen Gruppen, im Unterschied zu Zeichnen in kristallographischen Gruppen. Ich habe mich bewusst entschieden, in meinem Programm nur Freihandzeichnungen zu unterstützen. Ich kann mir jedoch gut vorstellen, dass einige der mit meinem Programm gewonnenen Erfahrungen langfristig in die Integration von Transformationsgruppen in die interaktive Geometrie-Anwendung Cinderella\cite{cindy} mit einfließen, um dort vollwertige Konstruktionsmöglichkeiten in kristallographischen Gruppen zur Verfügung zu stellen.

Insgesamt wirkt Escher Web Sketch wenig intuitiv, insbesondere durch die vielen Drop-Down-Steuerelemente, die jeweils einen zweiten Klick erfordern. Bei der Platzierung von Objekten kommt es mitunter zu gegenseitiger Überdeckung der Bilder und dabei zu Brüchen in der Symmetrie. Die Modifikation der Translationszelle geschieht jeweils von Null ab in mehreren Einzelschritten; die Beeinflussung nur eines einzelnen Parameters ist ebenso unmöglich wie eine Rotation des gesamten Musters. Kantenglättung fehlt.

Kali[24]:

Die Version für Windows ist aktueller als die für Mac. Das Programm beherrscht neben den kristallographischen Gruppen auch Punkt- und Friesgruppen. Die Auswahl der Gruppen über ein Icon, das einen kleinen Ausschnitt eines einfachen Motivs in der jeweiligen Gruppe darstellt, ist besonders intuitiv und hübsch. Eine weitere Besonderheit ist die Möglichkeit, neben geraden Linien auch Splines zum Zeichnen verwenden zu können.

Eine Möglichkeit zum Freihandzeichnen fehlt hingegen. Das Zeichnen der Linien mit zwei Maustasten ist eher gewöhnungsbedürftig. Die Darstellung der Gruppenstruktur, topologischer als Singularitäten bezeichnet, ist eher dezent gehalten. Gleitspiegelachsen sind nicht eingezeichnet. Die Translationszelle ist festgelegt, noch nicht einmal die Größe des Musters kann verändert werden.