6. Die Mandelbrotmenge

6.1 Die Julia-Mengen

Eine ganz neue Art von Fraktalen begegnet uns in den Julia-Mengen, benannt nach dem französischen Mathematiker Gaston Julia (1893-1978), der sich mit Iterationen im Bereich der komplexen Zahlen beschäftigte.

Eine Julia-Menge kann als eine Punktemenge (also eine Figur) auf der komplexen Zahlenebene betrachtet werden. Um eine Julia-Menge zu zeichnen, muß zuerst unabhängig von dieser Zahlenebene eine komplexe Zahl C gewählt werden, auf der die Julia-Menge basieren soll. Diese Zahl C ist dabei ausschlaggebend für die Gestalt der Julia-Menge und wird uns bei der Mandelbrotmenge noch näher beschäftigen. Mit Hilfe dieser Zahl C wird dann für jeden Punkt Z der komplexen Zahlenebene festgestellt, ob er in der Julia-Menge liegt. Dazu wird untersucht, ob die Folge Zn+1=Zn^2+C im endlichen Bereich bleibt (Z liegt in der Julia-Menge) oder nach Unendlich strebt (Z außerhalb der Julia-Menge). (vgl. IDZ Berlin 1990, S. 67-71; Schlöglhofer 1995, S. 21-23)

Im (Computer-)Programm "RK-Mandelbrot", das im Zuge dieser Arbeit erstellt wurde, ist auch die Darstellung von Julia-Mengen berücksichtigt. Wird im Dialogfeld "Neues Bild zeichnen" der Punkt "Julia-Menge" angewählt, kann man, nach Eingabe des Parameters C, auch diese zeichnen lassen.3 Die Untersuchung, ob ein Punkt Z in der Julia-Menge liegt, wurde dabei wie folgt verwirklicht:


Aus der Function "InJulia"4:

Dim Z <span class= "blue">AsComplex, Za2 As Double, radius As Double, x As Integer
Dim Ende As Integer 'für Boolsche Ausdrücke!

isC Z, ZJ.a, ZJ.b
x = 1: Ende = False

Do
 Za2 = Z.a<span class= "blue">: Z.a = Z.a <span class= "blue">^ 2 - Z.b <span class= "blue">^ 2 + CJ.a
 Z.b = 2 <span class= "blue">* Za2 * Z.b <span class= "blue">+ CJ.b 'Z=Z^2+C

 radius = Sqr(Z.a <span class= "blue">^ 2 + Z.b <span class= "blue">^ 2)
 If radius <span class= "blue">> 1000 Then Ende = True 'Z gegen Unendlich

 x = x + 1 'Iterationen-Zählung
Loop Until (x <span class= "blue">>= itmax) Or Ende 'itmax=Iterationsmaximum

If x >= itmax Then InJulia = True Else InJulia = False

Wird der Wert "True" für InJulia zurückgegeben, so liegt der Punkt Z (als ZJ übergeben, weil in der Function verändert) in der Julia-Menge für CJ (im Programmcode statt C verwendet, um Konflikte mit der Berechnung der Mandelbrotmenge zu verhindern).

Für C=(0/0) ergibt sich dabei ein Kreis als Julia-Menge, die Formel wird ja zu Zn+1=Zn^2 reduziert, und außerhalb eines Kreises werden die Quadrate der Zahlen bekanntlich immer größer als die Zahlen selbst - sie streben gegen Unendlich. Umso erstaunlicher, daß sich die Formen der Julia-Mengen immer mehr von dieser Kreisform entfernen, je größer der Abstand zum Nullpunkt wird, und daß dies aber scheinbar ohne Regeln erfolgt - die Formen sind völlig unterschiedlich, je nachdem, in welche Richtung man vom Nullpunkt aus geht. Folgend einige Beispiele5 unter Angabe der dazugehörigen Parameter C:

C=(0/0)=0+0i C=(-0,5/0,2)=-0,5+0,2i C=(-0,2/-0,75)=-0,2-0,75i
Julia-Menge (0/0) Julia-Menge (-0,5/0,2) Julia-Menge (-0,2/-0,75)

Entfernt man sich weiter, so werden die Formen immer bizarrer. Durch eine Eigenschaft kann man aber die verschiedensten Julia-Mengen klassifizieren: Ob sie zusammenhängende Mengen sind oder sich in Einzelteile auflösen. Dazu auch ein Beispiel: Das folgende zeigt vier Julia-Mengen aus dem Bereich zwischen C=(0/0,64) - noch zusammenhängend - und C=(0/0,642) - nicht mehr zusammenhängend. Bei C=(0/0,6419) ist es aufgrund der Genauigkeit nicht möglich, eindeutig festzustellen, ob diese Julia-Menge als Einheit zusammenhängt oder nicht, doch würde es reichen, hier nur die Genauigkeit zu erhöhen oder liegt sie im chaotischen Bereich zwischen den zwei "Ordnungsbereichen"? Ein Fall, der uns bei der Mandelbrot-Menge noch beschäftigen wird.

C=(0/0,64) C=(0/0,6418) C=(0/0,6419) C=(0/0,642)
Julia-Menge (0/0,64) Julia-Menge (0/0,6418) Julia-Menge (0/0,6419) Julia-Menge (0/0,642)

Bei der ersten der beiden letzten Julia-Mengen, die ich hier vorstellen will - C=(-0,65/-0,45) - kann man nur mehr eine Ansammlung von Einzelpunkten feststellen, aber noch immer erahnen daß sie zusammengehören. Es scheint, als würden sie eine unscharfe Figur darstellen und finden gerade noch keine Verbindung. Wie auch immer, sie bewegen sich jedenfalls auch in der Nähe des chaotischen Bereichs.

Die letzte Julia-Menge - C=(-1,325/0) - zeigt sich wieder als zusammenhängend, wirkt aber wieder ganz anders als ihre "Vorgänger" in dieser Arbeit: Sie ist symmetrisch gegenüber beiden Koordinatenachsen der komplexen Ebene und wirkt wie ein Klatschbild, das auf einem Blatt Papier entstanden ist, nachdem man Farbe daraufgespritzt und das Papier gefaltet hat - ist vielleicht hier in der Praxis auch eine fraktale Art des Chaos am Werk?

C=(-0,65/-0,45) C=(-1,325/0)
Julia-Menge (-0,65/-0,45) Julia-Menge (-1,325/0)

6.2 Die Mandelbrotmenge6

"Mandelbrot berichtet, daß er 1980 einen besonderen Anstoß [...] erhielt, als er in einem alten Nachruf auf Poincaré Anspielungen auf ein besonderes Problem fand, mit dem dieser Begründer der nichtlinearen Dynamik einst gerungen hatte. Mandelbrot rätselte über dem gleichen Problem und probierte dabei seine neue fraktale Geometrie aus. Das Ergebnis war, als hätte er beim Umgraben einen Diamanten gefunden - er fand einen seltsamen Attraktor von überwältigender Schönheit." (Briggs/Peat 1990, S. 139)

Mandelbrot wird im gleichen Werk, aus dem obiges Zitat stammt, selbst so zitiert: "Diese Menge ist eine erstaunliche Kombination aus äußerster Einfachheit und schwindelerregender Kompliziertheit."

Die angesprochene Menge, nach ihrem Entdecker Mandelbrot-Menge genannt, ist - wie die Julia-Mengen - eine Punktemenge auf der komplexen Ebene. Der Zusammenhang mit den Julia-Mengen ist aber nicht nur diese Darstellung auf der komplexen Ebene: Die Mandelbrotmenge ist eine "Zusammenfassung" aller Julia-Mengen und entsteht bei der Untersuchung, welche dieser Julia-Mengen zusammenhängend sind und welche nicht. Schon Julia selbst erkannte, daß man diese Untersuchung auf einen Punkt beschränken kann: Ist der Punkt Z=(0/0) ein Teil der Julia-Menge, so präsentiert sich die gesamte Menge als zusammenhängend, ist er kein Teil der Menge, so ist sie unzusammenhängend und zerfällt in einzelne Stücke. Mandelbrot untersuchte jetzt für alle Punkte C auf einer komplexen Zahlenebene, ob ihre Julia-Menge zusammenhängend sei und färbte sie dementsprechend ein. So entstand das bekannteste und wahrscheinlich schönste Fraktal, das wir heute kennen: die Mandelbrotmenge.

Für diese Untersuchung wird wieder die bekannte Folge Zn+1=Zn^2+C verwendet. Allerdings wird jetzt für Z immer der Startwert (0/0) und für C der zu untersuchende Punkt auf der komplexen Zahlenebene eingesetzt. Wieder wird der Punkt zur Menge gerechnet, wenn Z im endlichen Bereich bleibt. Geht Z gegen Unendlich, so wird der Punkt eingefärbt, je nachdem, nach wievielen Iterationen ein gewisser Grenzwert überschritten wird. (vgl. Mandelbrot 1987, S. 195-196; IDZ Berlin 1990, S. 71-81; Briggs/Peat 1990, S. 139-148)

Im Programm "RK-Mandelbrot" wurde dies ursprünglich als Basic-Routine folgendermaßen realisiert (später durch eine kompilierte C++-Routine einer selbsterstellten DLL (Dynamic Link Library) ersetzt):

Ausschnitt aus der Function "mandelcol":

Dim Z As Complex, Za2 As Double
Dim x As Integer, y <span class= "blue">As Integer, Grenze As Integer
ReDim Diff(itmax) As Double
Dim Ende As Integer, Ctrl As Integer 'für Boolsche Ausdrücke!

isC Z, 0, 0: x = 1: Ctrl <span class= "blue">= False: Ende = False
Grenze = itmax <span class= "blue">* .03

Do
 Za2 = Z.a<span class= "blue">: Z.a = Z.a <span class= "blue">^ 2 - Z.b <span class= "blue">^ 2 + C.a
 Z.b = 2 <span class= "blue">* Za2 * Z.b <span class= "blue">+ C.b 'Z=Z^2+C

 Diff(x) = Sqr(Z.a <span class= "blue">^ 2 + Z.b <span class= "blue">^ 2)

 ... 'Beschleunigungsprozess, für Verständnis unwichtig! (--> Ctrl)

 If Diff(x) <span class= "blue">> 1000 Then Ende = True 'Z gegen Unendlich
 x = x + 1 'Iterationen-Zähler
Loop Until (x <span class= "blue">>= itmax) Or Ctrl Or Ende

If Ctrl Then 'Rückgabewert: Farbe
 mandelcol = 0
Else
 If x <span class= "blue"><= Grenze Then mandelcol = ... 'Berechnung abhängig von x,
 If x <span class= "blue">> Grenze Then mandelcol = ... 'für Verständnis unwichtig!
 If x = itmax Then mandelcol <span class= "blue">= 0
End If

Jetzt können auch die vorher besprochenen "chaotischen Grenzbereiche" zwischen den Julia-Mengen genauer definiert werden: Diese sind nämlich die Randbereiche der Mandelbrotmenge, die sehr interessante Bilder hervorbringen. Um diese zu entdecken, möchte ich auf den folgenden Seiten zu einer "Reise durch die Mandelbrotmenge"7 einladen.

6.2.1 Bilderreise durch die Mandelbrotmenge

Unsere Reise beginnt - fast selbstverständlich - mit einer Gesamtansicht der Mandelbrotmenge. Der schwarze Bereich stellt die Menge selbst dar, die ihre typische Form schon in diesem Bild offenbart, der bunte Rand stellt den "chaotischen" Bereich dar, den wir in den nächsten Bildern genauer betrachten wollen. Auffallend wirkt schon bei diesem Bild, daß sich die Kugeln (im folgenden auch "Knospen" genannt), die auf der herzförmigen Hauptmenge "sitzen", in immer kleinerem Maßstab rund um die Menge wiederholen.

Das zweite Bild ist bereits eine Vergrößerung einer solchen Knospe, die sich seitlich an der Hauptmenge befindet. Im linken oberen Viertel dieses Bildes sind deutlich weitere schwarze Teile erkennbar, die sich bei weiterer Vergrößerung als quasi "Kopien" (Mandelbrot nannte sie "Sprößlinge") der ganzen Mandelbrotmenge erweisen (siehe nächstes Bild). Auch in den anderen "Armen", die weiter unten schon aus der Knospe herauswachsen, sind schwarze Punkte erkennbar. Auch aus diesen, so wie theoretisch aus jedem Punkt, der direkt auf einem dieser "Arme" liegt, wird bei Vergrößerung eine solche "Kopie" der Gesamtmenge - ein deutlicher Beweis für die Selbstähnlichkeit der Menge.

Mandelbrot-Menge Knospe seitlich
Real: -2 bis 1 Real: -0,63 bis -0,43
Imaginär: -1,5 bis 1,5 Imaginär: -0,7 bis -0,5
Mandelbrot-Menge Knospe seitlich

Der nächste Ausschnitt ist einer der oben schon angesprochenen schwarzen Punkte auf einem der Arme. Er stammt zwar aus einem anderen Teil der Mandelbrotmenge als der Ausschnitt "Knospe seitlich", die dortigen schwarzen Punkte würden aber das gleiche Ergebnis liefern. Dieses Bild fungiert auch als Symbol für das Programm "RK-Mandelbrot" und taucht in dessen Initialisierungsfenster auf. Hier sind zwar keine weiteren schwarzen Punkte zu entdecken, doch in jedem der hier gelb gezeichneten "Arme" würde bei entsprechender Vergrößerung an jeder beliebigen Stelle wieder diese Figur, beziehungsweise ein schwarzer Punkt auftreten, wie Wissenschafter feststellten. Durch diese Bereiche ist die gesamte Mandelbrotmenge ein zusammenhängendes Objekt, obwohl es oft auf den ersten Blick anders aussieht.

Der Ausschnitt "Corona-Strahl" stammt vom gleichen Bereich der Mandelbrotmenge wie der vorherige. Er ist die Vergrößerung eines "Armes", der bei einer "Knospe" entspringt. Man sieht darin wieder schwarze Punkte und eine der kleinen "Kopien" der Gesamtmenge sehr deutlich. Interessant sehen auch die immer feiner werdenden Verzweigungen des "Armes" beziehungsweise "Strahls" aus.

Mikro-Mandelbrot Corona-Strahl
Real: 0,435 bis 0,438 Real: 0,39 bis 0,4
Imaginär: -0,3265 bis -0,3235 Imaginär: -0,28 bis -0,27
Mikro-Mandelbrot Corona-Strahl

Werfen wir einen letzten Blick bei noch stärkerer Vergrößerung noch auf die bizarren Gestalten aus dem Rand der Mandelbrotmenge: Das nächste Bild zeigt einen fast willkürlich gewählten Ausschnitt aus diesem Rand. Hier zeigen sich wieder ein paar "Kopien" der Gesamtmenge, aber auch eine Unzahl kleiner, schwarzer Punkte und größerer schwarzer Flecken. Man merkt hier sehr deutlich, daß dieser Rand chaotisch aufgebaut ist (obwohl er durch eine deterministische Gleichung entsteht, wie wir wissen!) und kann durch die Formenvielfalt nur mehr ins Staunen versetzen.

Als Abschluß unserer Reise betrachten wir die Spirale, man könnte sie auch als "Rüssel" bezeichnen (alle derartigen Bezeichnungen wurden von mir frei gewählt), die im Bild "Rand" ganz rechts unten auftaucht, noch ein Wenig näher - weiterer Kommentar zum faszinierenden Detail- und Formenreichtum ist meiner Meinung nach nicht notwendig.

Rand Spirale
Real: -0,75 bis -0,74 Real: -0,7415 bis -0,741
Imaginär: 0,11 bis 0,12 Imaginär: 0,119 bis 0,1195
Rand Spirale

Mit dieser kleinen "Reise" ist der Formenreichtum der Mandelbrotmenge natürlich noch bei weitem nicht ausführlich dargestellt - er würde aber auch den Platz von einigen Büchern beanspruchen.

Übrigens: Die Mandelbrot-Ausschnitte werden auch gerne als "Dekoration" verwendet. So wurde auch das Cover der "Opus"-CD "Love God & Radio" mit einem solchen gestaltet.

6.2.2 Die Mandelbrotmenge als Bifurkationsdiagramm

Wie im Kapitel "Bifurkation" schon angesprochen, kann die Mandelbrotmenge auch als zweidimensionales Bifurkationsdiagramm interpretiert werden. Während sich nämlich im herzförmigen Hauptbereich ("Hauptatom" nach Mandelbrot) der Menge die Werte der Folge auf einen einzelnen Wert stabilisieren, pendeln sie in den am Hauptbereich anliegenden Kugeln ("Atomen") zwischen zwei stabilen Werten, in den dort anliegendenen zwischen drei und so weiter. Im chaotischen Rand (Mandelbrot bezeichnete ihn als "Separator") erhöht sich diese Zahl schließlich auf Unendlich, bis es keine stabilen Werte mehr gibt und die Folge gegen Unendlich strebt, wie wir es vom Bifurkationsdiagramm kennen. Außerdem teilen sich die äußeren "Arme" in weitere, was diese Theorie zu bestätigen scheint.


3 In diesem Fall empfehle ich aber dringend, vorher das Testbild anzusehen, denn in einigen Fällen kann wegen großer Werte keine Julia-Menge dargestellt werden. Die Zoomfunktion bleibt ebenfalls deaktiviert, die Julia-Menge wird immer im Bereich (-2/-2) bis (2/2) dargestellt.

4 Anmerkungen zu den Visual-Basic-Programmbeispielen:
Der Typ Complex ist ein benutzerdefinierter Typ mit den Elementen a für den Real- und b für den Imaginärteil (jeweils vom Typ Double).
Das Sub "isC Var, a, b" weist der Variablen Var vom Typ Complex die Werte a und b zu (Var.a=a: Var.b=b).

5 Alle Julia-Mengen wurden bei itmax=50 400x400 Pixel groß gezeichnet.

6 Anmerkung: Die Selbstähnlichkeit tritt auch in dieser Arbeit auf: Fachbereichsarbeit "Die Mandelbrotmenge", Kapitel "Die Mandelbrotmenge", Abschnitt "Die Mandelbrotmenge"! Die fraktale Dimension dieser Arbeit bleibt aber unklar...

7 Alle Ausschnitte aus der Mandelbrotmenge wurden mit itmax=500 und der Palette "RK-spezial" 400x400 Pixel groß gezeichnet.

[5. Fraktale und fraktale Dimension] [Inhalt] [7. Das Programm "RK-Mandelbrot"]


© www.KaiRo.at / Robert Kaiser 1996-1997, 2001