Interaktive Erzeugung fraktaler Landschaften auf Parallelrechnern

Zusammenfassung und Ausblickk

Mit dem Programm fractals wurde eine komfortable Applikation zur interaktiven Erstellung von fraktalen 3D-Szenen auf Parallelrechnern geschaffen. Zur Beschleunigung der Laufzeit wurden sowohl die Implementation des sequentiellen Algorithmus möglichst effektiv gestaltet als auch eine effiziente Parallelisierung des Programms durchgeführt, die auf einem Transputernetz oder einem PowerXplorer bzw. einem GC/PP mit bis zu 64 Prozessoren lauffähig ist. Die Implementierung des parallelen Programms geschah unter der von Parsytec entwickelten Laufzeitumgebung Parix.

Als elementare Objekte der dreidimensionalen Landschaftsszenen werden fraktale Berge und Pflanzen benutzt. Die Erzeugung der Objektdaten geschieht mit Hilfe von Beschreibungsdateien, in denen Parameter zur Manipulation der Objekte abgelegt sind. Die fraktalen Pflanzen werden dabei anhand von Lindenmayer-Systemen, die durch eine Turtle-Graphik interpretiert werden, generiert.

Zur Projektion der dreidimensionalen Szene auf den zweidimensionalen Bildschirm wird das Modell einer synthetischen Kamera benutzt. Der Anwender kann den betrachteten Punkt, den Betrachterstandpunkt, die Lage der Kamera und den darzustellenden Ausschnitt der Szene festlegen. Anhand dieser Werte wird eine Viewing-Pipeline erstellt, welche von allen Objekten vor ihrer Darstellung durchlaufen wird und die Projektion dieser Objekte auf Bildschirmkoordinaten durchführt. Als besonders effizient für die Minimierung des Rechenaufwandes erweist sich hierbei das Clipping und das Back-Face-Culling. Bei der Darstellung der Szene kann der Anwender zwischen einem Drahtmodell und gouraud-geshadeten Objekten wählen. Außerdem ist es möglich, die Position der Lichtquelle und die Oberflächeneigenschaften der Szenenobjekte festzulegen.

Durch die Parallelisierung des sequentiellen Algorithmus wird die Laufzeit des Programms erheblich beschleunigt. Insbesondere extrem rechenaufwendige Szenen werden erst durch die parallele Berechnung in einer annehmbar kurzen Zeit fertiggestellt. Durch die Implementation des Programms für verschiedene Topologiegrößen kann der Anwender die jeweils passende Alternative für ein Problem auswählen. Als vorteilhaft erweist sich außerdem die Aufteilung der sequentiellen Programme --- Erzeugung der Bergdaten, Generieren der Pflanzendaten und Rendern dieser Daten --- auf drei Prozessorgruppen. Dabei wird sowohl eine Objektraumaufteilung durch die Bergprozessoren als auch eine Bildraumaufteilung durch die Renderingprozessoren vorgenommen.

Für die Applikation fractals wird eine Oberfläche zur interaktiven Bedienung des Programms zur Verfügung gestellt. Sie enthält ein Fenster, in dem die berechneten Bilder dargestellt werden, und verschiedene Menüs zur Manipulation der Parameter für die Erzeugung der Berg-, Pflanzen- und Darstellungsdaten. Außerdem wird das Programm zur Berechnung eines Bildes, ob parallel oder sequentiell, aus der Oberfläche heraus gestartet. Jedes erzeugte Bild kann abgespeichert und später erneut geladen werden.

Durch die Implementation des Programms in ANSI-C ist es auf verschiedene Architekturen portierbar. Ebenso ist durch die Verwendung des X Window Systems eine hardwareunabhängige und damit portable Oberfläche erstellt worden. Die Entwicklungszeit dieser Oberfläche wurde durch den Einsatz des OSF/Motif-Widget-Sets zusammen mit Wcl erheblich verkürzt.

Mit dem vorgestellten Programm fractals wurde eine interaktive Applikation zur Erzeugung fraktaler Landschaften geschaffen. Doch es bietet in den diversen Bereichen noch vielfältige Möglichkeiten zur Erweiterung.

So werden die vom Programm erzeugten Pixmaps bislang unter dem XWD-Format abgespeichert. Es wäre jedoch wünschenswert, sie auch in anderen Formaten sichern zu können.

Ebenso bietet die Oberfläche zur Bedienung des Programms Erweiterungsmöglichkeiten. Zur Zeit werden die Parameter der Fraktale und der synthetischen Kamera direkt vom Anwender manipuliert. Für Laien ist der Sinn vieler Parameter aber nicht unbedingt von Beginn an verständlich. Es wäre daher eventuell von Vorteil, die Parameter nicht namentlich aufzuführen, sondern sie bildlich zu umschreiben, und auch ihre Bewertung statt mit Zahlen mit Begriffen oder sogar Graphiken durchzuführen.

Das Hinzufügen neuer Algorithmen zur Erzeugung von Fraktalen stellt eine weitere Alternative dar, das vorgestellte Programm noch interessanter und vielfältiger zu gestalten. In ..... werden zum Beispiel Algorithmen zur Erzeugung von Sternfraktalen, fraktalen Wolken und fraktalen Farnen vorgestellt. Diese Objekte wären eine passende Ergänzung zu einer Landschaft aus Bergen und Pflanzen.

Außerdem besteht die Möglichkeit, weitere Algorithmen zur Erzeugung eines fraktalen Berges zu verwenden. So werden in ... faszinierende 3D-Bilder einer Mandelbrotmenge und einer Cantormenge gezeigt, welche die Struktur fraktaler Berge widerspiegeln.

Durch die Darstellung fraktaler Objekte können mit Hilfe der Computergraphik schöne und sehr natürliche Landschaftsbilder erzeugt werden. Die Berechnung dieser Graphiken wird durch den Einsatz von Parallelrechnern spürbar beschleunigt. Mit dieser Arbeit wurde gezeigt, wie vielfältig und interessant der Einsatz von Fraktalen in der Computergraphik ist und wie effizient parallele Computergraphikprogramme arbeiten.