Mandelbrotbaum
Der Mandelbrotbaum zählt zu den Fraktalen. Dieses sind geometrische Gebilde, die aufgrund einer mehr oder weniger komplexen mathematischen Berechnung entstehen. Beispiele für den Mandelbrotbaum zeigen die beiden untenstehenden Bilder, die sich nur in in ihren Anfangsbedingungen unterscheiden. Beiden liegt der selbe Algorithmus zu Grunde
![]() |
![]() |
| "Apfelmännchen" typische Figur des Mandelbrotbaums |
"Zoom ins Apfelmännchen" Vergrösserung des Mandelbrotbaumes |
"mandel.exe" stellt nun ein Programm dar, welches diese Gebilde berechnet und als Bitmap auf der Platte ablegt. Da dieses Projekt einer Studienarbeit entsprang und die wesentliches Aspekte in der Programmierung paralleler Prozesse lagen, fehlt dieser Software (noch) eine grafische Oberfläche. Das wirklich einzigartige und einmalige ist hierbei die Berechnung von Bilderfolgen, die aneinandergehängt eine virtuellen Fahrt in bzw. aus dem Fraktal wiedergeben. Einen kleinen Vorgeschmack zeigt das zum Download verfügbare Video.
Eigenschaften der Fraktale:
Zusammenfassend lässt sich ein Fraktal wie folgt beschreiben. Es stellt
die graphische Summe aller Glieder eines Algorithmus dar, die auf einen Attraktor
zugehen. Je nach Anzahl der Iterationsschritte, die notwendig sind, bis die
Gleichung konvergiert oder divergiert, erhalten die einzelnen Punkte eine andere
Farbe. Dadurch kann das zeitliche und räumliche Verhalten der Konvergenz
grafisch sichtbar gemacht werden.
Die Mandelbrotmenge kann als Untermenge der Juliamenge gesehen werden. Beide
basieren auf der komplexen Zahlenebene und liegen der gleichen relativ einfachen
nichtlinearen Iterationsformel zu Grunde:
![]()
Durch eine kleine mathematische Umformung lässt sich diese einfache Iterationsgleichung auch wie folgt ausdrücken:

Bei den Julia-Mengen ist die Größe c eine konstante Anfangsbedingung,
d.h., für verschiedene c gibt es auch verschiedene Mengen, sogenannte Anfangsbedingungskarten
(Julia-Mengen). Die Eingangsgröße x hingegen ist ein beliebiges Element
der komplexen Zahlenebene. Nun wird eben dieser beliebige Wert von c in die
obige Gleichung eingesetzt und iteriert. Es können jetzt zwei Fälle
auftreten:
Im Gegensatz zu den Julia-Mengen ist bei der Mandelbrotmenge die komplexe
Zahl c nicht fest. Der komplexen Zahl c werden bei der Iteration die Koordinaten
des Pixels innerhalb eines darzustellenden Bereiches zugeordnet. D.h. auf den
Achsen der komplexen Ebene sind Parametergrößen aufgetragen.
Mit einer bestimmten Anfangsbedingung, z.B. z=0, und den Koordinaten c wird
die oben erwähnte Gleichung solange iteriert, bis die Anzahl der Iterationen
ein Maximum erreicht oder der Betrag der komplexen Zahl z den vorher definierten
Wert 2 überschreitet, also mit ihm konvergiert.
Für alle Pixelkoordinaten werden nun die Iterationen durchgeführt.
Die Anzahl der benötigten Durchläufe beschreibt das Verhalten der
Funktion an dieser Koordinate. Entweder wird der Punkt begrenzt, oder er divergieren
mit einer bestimmten Geschwindigkeit ins Unendliche. Und diese Geschwindigkeit
wird durch eine bestimmte Farbe dargestellt. So entstehen die eher komisch wirkenden
Gebilde der Mandelbrotmenge, die aufgrund ihres Aussehens auch gerne als Apfelmännchen
bezeichnet werden.
Das nebenstehendeFlussdiagramm soll den Ablauf noch einmal verdeutlichen. Die
komplexe Zahl z besteht aus einem Realteil A und einem Imaginärteil B,
gekennzeichnet durch die komplexe Zahl i.
Im ersten Schritt wird Z ein Anfangswert zugewiesen. In unserem Fall Z=0. Mit
der Formel
![]()
wird der neue Wert basierend auf dem vorherigen Z und den Bildkoordinaten berechnet.
Die Koordinaten sind hier ebenfalls als komplexe Zahl in C eingebettet.
Jede Berechnung von Z erhöht zwangsläufig die Variable Iteration,
die die gesamte Anzahl der Durchläufe zählt. Im anschließenden
Vergleich wird kontrolliert, ob der Betrag von Z kleiner als 2 und die Anzahl
der Iterationsschritte kleiner einem maximalen Wert geblieben ist. Wenn ja,
verzweigt die Routine nach "oben" und berechnet ein neues Z. Dies
wird solange durchgeführt, bis der Vergleich falsch ist. Dann wird der
Wert in Iteration der Koordinate als Farbwert übergeben.
Software
Wie schon anfangs erwähnt, stand in der Programmierung nicht der Algorithmus
und dessen Visualisierung im Vordergrund. Primäres Ziel war es, ein parallel
ablaufendes Programm auf einem PC-Cluster zu implementieren. Näheres ist
zu diesen Techniken ist auf der Seite MPI zu finden.
Um nun jeden in den Genuss der Mandelbrotbäume zu bringen, existiert neben
der Cluster-Variante auch noch eine normale unter Windows 9x/2000/XP lauffähige
Version des Programms. In absehbarer Zeit wird es sicherlich zu Neuerungen kommen
bis hin zur grafischen und damit benutzerfreundlichen Oberfläche.