Mandelbrot-Menge
Die Mandelbrot-Menge, im allgemeinen Sprachgebrauch meist Apfelmännchen genannt, ist ein Fraktal, das aufgrund seiner leichten graphischen Darstellung und seiner attraktiven Gestalt das wohl bekannteste fraktale Objekt ist. Die Menge ist nach ihrem Entdecker Benoit Mandelbrot benannt.Die Mandelbrot-Menge wird auf der Menge der komplexen Zahlen berechnet, und in der komplexen Zahlenebene dargestellt. Dabei wird für jeden Punkt in der Ebene ein Iterationsprozess benutzt, um die Helligkeit oder Färbung des Punktes zu finden: Je schneller der Iterationsprozess eine gewisse Grenze überschreitet, desto heller wird der Punkt gezeichnet. Startpunkte, bei denen nach einer gewissen Anzahl von Iterationen die Grenze nicht überschritten wird, werden als beschränkt bleibend angenommen und in der Regel schwarz dargestellt.
Der genannte Iterationsprozess ist eine Approximation an die exakte mathematische Definition der Mandelbrot-Menge:
Die Mandelbrot-Menge wurde von Benoit Mandelbrot ursprünglich als Beschreibungsindex für Julia-Mengen konzipiert.
Jedem Punkt der komplexen Zahlenebene entspricht eine Julia-Menge.
Die Punkte der Zahlenebene, für die die Julia-Menge zusammenhängend ist, bilden genau die Mandelbrot-Menge;
die übrigen Punkte korrespondieren zu nicht-zusammenhängenden Julia-Mengen.
Die "interessantesten" Julia-Mengen finden sich für Punkte nahe am Rande der Mandelbrot-Menge.
Julia-Mengen von Punkten im Inneren der Mandelbrot-Menge sind relativ einfach strukturiert; solche außerhalb bestehen aus isolierten Punkten.
Die Mandelbrot-Menge ist ein Fraktal. Seine Grenzlinie ist unendlich lang. Bislang ist die Fläche der Mandelbrot-Menge nicht berechnet worden, eine untere Grenze liegt bei 1,52, eine obere bei 1,72 Flächeneinheiten.
Im allgemeinen Sprachgebrauch wird die oben definierte Menge als die Mandelbrotmenge bzw. das Apfelmännchen bezeichnet.
Genau genommen existiert für jede Abbildung innerhalb der komplexen Zahlen eine Mandelbrotmenge, mittels der die zugeordneten Juliamengen klassifiziert sind.
Sei eine derartige Abbildung.
Jeder komplexen Zahl c entspricht eine Julia-Menge für die Funktion .
Wenn die Julia-Menge zusammenhängend ist, dann ist c in der Mandelbrot-Menge von .
Dieses Verfahren kann auch auf Julia-Mengen, die durch mehr als 2 Parameter (bislang die 2 Komponenten der komplexen Zahl c) beschrieben sind, ausgedehnt werden.
Allerdings ist dann eine graphische Darstellung problematisch.
Streng gesehen ist die Mandelbrot-Menge schwarz-weiß: Ein Punkt ist entweder Teil der Menge (schwarz), oder er ist es nicht (weiß).
Eine attraktive Darstellung entsteht, wenn die Geschwindigkeit der Divergenz bei der Iteration für Punkte außerhalb der Mandelbrot-Menge farblich kodiert wird. Diese Aufzeichnung der Divergenzrate um die Mandelbrot-Menge herum ist das bekannte Bild, das Poster oder Computerbildschirme schmückt.
Der schnellste bekannte Apfelmännchen-Generator ist FFFF (Fast Floating Fractal Fun).Definition
Definition per Iterationsregel
Es ist bekannt, dass die Iterationsfolge divergiert, wenn der Betrag eines Folgengliedes den Wert 2 überschreitet.
Dieses Kriterium wird genutzt, um die Divergenzgeschwindigkeit der Iteration farblich darzustellen.Definition in Verbindung mit Julia-Mengen
Eigenschaften
Verallgemeinerungen
Beispiel
Weitere Verallgemeinerung
Graphische Darstellungen
re min | re max | im min | im max |
-2.25 | 0.75 | -1.5 | 1.5 |
-0.1992 | -0.12954 | 1.01480 | 1.06707 |
-0.75104 | -0.7408 | 0.10511 | 0.11536 |
-0.74758 | -0.74624 | 0.10671 | 0.10779 |
-0.74591 | -0.74448 | 0.11196 | 0.11339 |
-0.745538 | -0.745054 | 0.112881 | 0.113236 |
-0.745468 | -0.745385 | 0.112979 | 0.113039 |
-0.7454356 | -0.7454215 | 0.1130037 | 0.1130139 |
Die Darstellung ist durch die Auflösung des Mediums, beim Computer etwa die des Bildschirms, eingeschränkt. Aus dem ausgewählten Bereich der komplexen Zahlen und der Anzahl der Bildpunkte des Darstellungsmediums ergibt sich die Wahl der komplexen Punkte, für die die Darstellung zu berechnen ist. Gewöhnlich wird verlangt, dass der Darstellungsmaßstab in reeller und imaginärer Richtung gleich ist.
Das folgende Programmbeispiel nimmt an, dass die Punkte des Ausgabemediums von 1 bis jeweils max_x und max_y laufen; die Koordinaten der Punkte sind durch punkt_x und punkt_y gegeben. Die Berechnung des dem Punkt zugeordneten komplexen Zahlenwerts erfolgt mittels geometrischer überlegungen.
Aufgrund der endlichen Rechenleistung eines Computers kann die Frage, ob ein Punkt die Betragsgrenze überschreitet, nicht immer entschieden werden. Daher wird ein Abbruchkriterium gewählt: Wenn die Grenze nach max_iterationen nicht überschritten ist, wird er Punkt so behandelt, als ob er die Grenze nicht überschreiten würde. Mindestens notwendige Werte für max_iterationen sind etwa 100; wenn mehr Details sichtbar gemacht werden sollen, werden höhere Werte notwendig. Der Rechenaufwand und somit die Wartezeit steigt mit wachsenden max_iterationen.
Die Definition der Mandelbrot-Menge bedingt, dass ein Punkt divergiert, sobald sein Betrag den Wert 2 überschreitet. Da die Punktiteration als Zwischenschritt das Quadrat des Betrags berechnet, wird das Quadrat mit dem Quadrat von 2, also 4, verglichen.
Eine Veränderung des Wertes führt manchmal ebenfalls zu interessanten Bildern, die jedoch nicht in mathematischer Beziehung zur Mandelbrot-Menge stehen.
FOR punkt_x = 1 TO max_x
r = min_r + punkt_x * punkt_abstand_r
i = min_i + punkt_y * punkt_abstand_i
iterations_wert = punkt_iteration ( r, i, max_betrags_quadrat, max_iterationen )
farb_wert = waehle_farbe ( iterations_wert, max_iterationen )
plot ix iy farb_wert
NEXT ix
Die Farbwahl in der Darstellung hängt einmal von den Möglichkeiten des Ausgabemediums, zum anderen von der ästhetischen Empfindung des Betrachters ab. Graduelle Abstufungen, alternierende schwarz-weiß Muster, Grautöne oder das Durchlaufen der Regenbogenfarben sind einige Methoden. Oft wird das konvergente Zentrum der Mandelbrot-Menge schwarz dargestellt.
Die Iteration von n nach n+1 für einen durch seinen Realteil r und Imaginärteil i gegebenen Punkt c der komplexen Zahlenebene erfolgt mittels der komplexen Gleichung
Falls das Quadrat des Betrags der n+1-sten Zahl, gegeben durch
Die folgende Funktion führt die beschriebene Iteration durch.
Hier stellen r und i den Real- und Imaginärteil des untersichten Punktes dar.
x und xt sowie y und yt sind die iterativ benutzten Variablen für die Iterationswerte.
betrag_quadrat = 0
iter = 0
x = 0
y = 0
WHILE ( betrag_quadrat <= max_betrag_quadrat ) AND ( iter < max_iter )
xt = x * x - y * y + r
yt = 2 * x * y + i
iter = iter + 1
betrag = xt * xt + yt * yt
x = xt
y = yt
WEND
punkt_iteration = iter
END FUNCTION
Wenn man den Plot nicht von den Koordinaten ix und iy abhängig macht, sondern von den in der Iteration gewonnenen Werte xt und yt, so werden statt eines Apfelmännchen plötzlich Spiralen und Galaxien sichtbar. Dieses Feature wird von einigen professionellen Apfelmännchenprogrammen unterstützt.
Iteration über alle Bildpunkte
FOR punkt_y = 1 TO max_y
NEXT iy
Iterations eines Bildpunkes
die sich mittels der Zerlegung der komplexen Zahl z in ihren Realteil x und Imaginärteil y in zwei reelle Gleichungen
und
umwandeln läßt.
den Wert max_betrag_quadrat (normalerweise 2*2=4) überschreitet, wird die Iteration abgebrochen, und die anzahl der bislang erfolgten Iterationssschritte als Farbwert verwendet.
Falls das Quadrat des Betrags nach einer gegebenen maximalen Anzahl von Iterationsschritten den max_betrag_quadrat nicht überschritten hat, wird angenommen, dass die Iteration konvergiert, und die Iterationsschleife abgebrochen.
FUNCTION punkt_iteration (r, i, max_betrag_quadrat, max_iter)
Modifikation
Literatur
Siehe auch: Fraktale Geometrie - ChaostheorieWeblinks