Komplexe Mengen


Zurück zu den komplexen Zahlen: Mandelbrot erkannte, dass die komplexe Folge  komplexe Mengen hervorbringen kann, die Wachstumsformen der Natur und stochastischen Vorgängen (z.B. Börsenkursen) ähneln, obwohl  jede einzelne Folge aus einem deterministischen Bildungsgesetz  entsteht.

Wie funktioniert nun genau die Folge ? Zunächst ist c ein beliebiger Punkt in der komplexen Zahlenebene, also . Das Glied schreibt man . Die iterative Punktfolge würde für den Anfangswert , also als ersten Iterationsschritt liefern, der zweite Iterationsschritt liefert dann der dritte und so fort.


Hier ist es angebracht, den leider  verstorbenen Prof. Dr. Norbert Treitz, zu zitieren: Er schrieb im „Spektrum DOSSIER 5/10“ in dem Artikel 56 „Heiße Kurven aus Herzen und Nieren“ auf Seite 62:


„ ….je nach dem Wert des dabei festgehaltenen Parameters c kann die so definierte Punktfolge:

‍ 

(a) betragsmäßig über alle Grenzen wachsen,


(b) gegen einen festen Punkt  streben (konvergieren),


(c) gewisse Punkte immer wieder in derselben Reihenfolge  und mit zunehmender Genauigkeit aufsuchen oder


(d) zwar beschränkt bleiben, aber auf die Dauer weder konstant (Fall b) noch periodisch (Fall c) werden.


Der letzte Fall ist das berüchtigte „Chaos“, …. Die Mandelbrotmenge ist die Menge derjenigen Punkte c, für die Fall a nicht  eintritt. Um zu entscheiden, ob das der Fall ist, müsste man die Funktion f unbegrenzt oft anwenden. In der Praxis ist das nicht so dramatisch (was bereits den PC-Benutzern der 1980 Jahre …..). Wenn die Folge einen gewissen Kreis um den Nullpunkt erst einmal verlassen hat, kommt sie mit Sicherheit nicht zurück, und man braucht nicht weiter nachzurechnen.

Der Fall b ist relativ übersichtlich: Damit ein Punkt z überhaupt Grenzwert einer unserer Punktfolgen sein kann, muss er ein Fixpunkt von sein, das heißt die Gleichung erfüllen, und darüber hinaus ein „attraktiver Fixpunkt“. Er muss gewissermaßen die Punkte in seiner Umgebung anziehen, so dass eine Punktfolge, die in seine Nähe gerät, gar nicht anders kann, als in seine Arme zu sinken. Mit Hilfe der Analysis verwandelt man diese poetische Umschreibung in eine schlichte Ungleichung  für z mit dem Ergebnis, dass z im Inneren des Kreises um den Nullpunkt mit Radius 1/2 liegen muss. Das wiederum lässt sich in eine Bedingung an den Parameter c übersetzen: c muss im Inneren einer Kardioide liegen. Das ist der Apfel im Apfelmännchen.

Anstelle der klassischen Iterationsfunktion kann man auch ihre Verallgemeinerung betrachten, wobei der Exponent größer als 2 oder sogar negativ sein darf. Es ergeben sich verallgemeinerte Apfelmännchen, in denen die Punkte, die zu Fall b gehören, für m>2 im Innern einer Epizykloide mit m-1 Spitzen liegen. Für negative m<-1 sind es Hypozykloiden.

Die unendlich vielen „Knospen“, die am Hauptkörper des Apfelmännchens sitzen, enthalten Punkte mit zyklischem Konvergenzverhalten (Fall c). So streben bei einem n-Zyklus die  Werte abwechselnd n verschiedene Punkte j immer genauer an. Für m = 2 sind die Bereiche zyklischer Konvergenz aneinander hängende  Kreisscheiben, die zusammen eine fraktale und annähernd selbstähnliche Struktur bilden. Bei höheren m haben diese Bereiche qualitative Ähnlichkeit zu Epizykloiden, zum Beispiel zu Kardioiden  bei m = 3.“




Soweit, Prof. Dr. Norbert Treitz, den ich sehr schätzte und als Ingenieur mit einer  Web-App praktisch „beim Wort“ nehmen wollte. Zunächst legte ich die „länglichen“ Definitionen in einfachere Begriffe um:


Fall a: Grenzenlos; Iterationen enden nach wenigen Schritten, die in einem „Counter“ mitgezählt werden, bei: arithmeticException("Z-overflow“) und wird blau eingefärbt. 


Fall b: Konvergent; Iterationen konvergieren vor überschreiten des (willkürlich gewählten) Grenzwerts von 10000 Iterationsschritten und  wird in Abhängigkeit vom Counter eingefärbt: < 100 weiß, < 1000 grau, <= 10000 grün und qualifiziert: bei geradem Counter überwiegt grün; bei ungeradem überwiegt violett.


Fälle c bzw. d: Alternierend  bzw. Chaos; nach überschreiten des Grenzwerts, d.h. 10000 +1 Iterationschritten, wird die Iteration beendet und wird rot eingefärbt.


Daraus ergaben sich auf natürliche Weise folgende drei Darstellungsformate:


Positiv: Fall b  wird in der komplexen Ebene in Form von Polarkoordinaten nach geradem oder ungeradem Counter qualifiziert (grün oder violett) und nach Überschreiten des Grenzwertes von 10000 Iterationsschritten zur  Kennzeichnung von Alteritäten bzw. Chaos gemäß der Fälle c bzw. d rot visualisiert.


Negativ: Fall a wird in der komplexen Ebene in Form von Polarkoordinaten blau visualisiert.


Counter: Fall b wird in der komplexen Ebene in Form von Polarkoordinaten  abhängig vom jeweiligen Counter  visualisiert: < 100 weiß, < 1000 grau, <= 10000 grün und nach Überschreiten des Grenzwertes von 10000 Iterationsschritten rot zur  Kennzeichnung von Alteritäten bzw. Chaos gemäß der Fälle c bzw. d und als blauer Hintergrund zeigt sich Fall a.


Zusätzlich programmierte ich noch die komplexe Menge der Konvergenzpunkte in der komplexen Ebene (Fall b) und  Alteritätspunkte (Fälle  c bzw. d) und nannte das Format: KonvX/Y. Mit anderen Worten, diese Darstellungsform stellt  die „Zielpunkte“  anstelle der „Quellpunkte“ der komplexen Folgen dar.


Die Standard-Menge in meiner Web-App ist die Mandelbrot-Menge. Definitionsgemäß ist das: Die Menge aller beschränkten komplexen Folgen. Durch einen Programmierfehler (Verwechseln der Glieder in der Funktion) erhielt ich zu meiner eigenen Verwunderung statt des „Apfelmännchens“ die Julia-Menge zu . Das heißt, die Web-App prüfte wegen der Vertauschung für welche Punkte in der komplexen Ebene beschränkt ist für die konstante komplexe Zahl Das entsprach der Definition der Julia-Menge und wurde somit die zusätzlich wählbare Menge. 

Demgemäß ergibt sich für alle Julia-Mengen nur jeweils ein Konvergenzpunkt für: mit . Bei Alteritäten gilt das nicht so streng, denn sie bilden ja entsprechend ihrer Natur mehrere „Quasi-Konvergenzpunkte“ aus. Das lässt sich leicht überprüfen durch den Aufruf des Darstellungsformats  KonvX/Y.


Ein besonderes „Schmankerl“ meiner Web-App ist der Doubleclick, der für den getroffenen Punkt die Iterationen von visualisiert. Da kann man all das sehen, was Prof. Dr. N. Treitz so hervorragend dargelegt hat.

Der getroffene Punkt wird mit Ø gekennzeichnet und zeigt mit einem langgezogenen Pfeil auf den Konvergenzpunkt . Es sei denn, es handelt sich um eine unbeschränkte (grenzenlose) Iteration, dann zeigt der Pfeil auf den Endpunkt des letzten noch vollständig auf der  schwarzen Zeichenfläche (Canvas) sichtbaren Iterationsschritts; also: . Wenn man sich diese Iterationsfiguren separat ansehen will, dann wählt man die Darstellungsform Single.

Die Standardwerte der Koeffizienten der iterativen komplexen Funktion sind der Exponent  zur zweiten Potenz mit Anfangswert bzw. Das ergibt das „Klassische Apfelmännchen“. Selbstverständlich kann der Nutzer meiner Web-App diese Werte selbst wählen, indem er die grünen Regler im Menü einstellt.

Er sollte sich aber nicht wundern, wenn nichts geschieht, denn nicht für alle Werte ergibt sich „Mandelbrot“ und/oder „Julia“. Das kann man einfach dadurch vermeiden, dass man die Option: Julia-Menge aus Mandelbrot-Menge generieren? wählt und empfehlenswert ist  die Darstellungsform negativ.

Ich nutzte die von Mandelbrot erkannte Gesetzmäßigkeit, dass für alle Punkte c der Mandelbrot-Menge die zugehörigen komplexen Folgen beschränkt sind, also konvergieren oder alternieren.  Damit erhält man alle möglichen Julia-Mengen. Ein Doubleclick auf irgendeinen  Punkt in’s „Schwarze“ erzeugt garantiert eine Julia-Menge. Trifft man in’s „Blaue“ (unbeschränkt bzw. grenzenlos) so bleibt das „Apfelmännchen“ weiterhin unbeschädigt. Ungeduldige benutzen die Darstellungsform Single, weil die Zeit zur Generierung  der Hintergrundgrafik wegfällt, haben aber keine Garantie auf „Julia“, weil sie öfters in’s „Grenzenlose“ klicken.


Noch ein sehr wichtiger Hinweis: Das Auslesen der komplexen Koordinaten x und iy durch den Doubleclick funktioniert nur exakt durch das Zusammenwirken der Bildschirm-Hardware mit dem jeweiligen Browser. Wenn die schwarze Zeichenfläche (Canvas)  nicht sicher in der oberen linken Bildschirmecke fest steht, werden falsche Werte übertragen. (Ich konnte die Canvas nicht fixieren, weil man sonst nicht zum Menü scrollen kann.)


Wem nach dem Drücken des roten START-Button die Bildgenerierung in Polarkoordinaten zu langsam ist, kann durch mehrmaliges einfaches klicken die Visualisierung beschleunigen. Aber Vorsicht: Wenn der Browser Doubleclick erkennt, stopt die Web-App die Polarkoordinaten und nach kurzer oder längerer Pause  erscheint die vollständige Bildgenerierung mit der zusätzlichen Iterationsfigur für den getroffenen Punkt oder, wenn die Option „Julia-Menge …. generieren?“ gedrückt ist, die zugehörige Julia-Menge (s.o.).


Nach soviel Vorrede, jetzt  in medias res:  Auf  der folgenden Seite finden sich Beispielvideos mit meinen Kommentaren. Das sollte man dann einfach mit meiner Web-App selbst probieren.


Hier geht es zur Web-App „Mandelbrot & Julia

‍ 


Implementierung einer speziellen Web-App zur polaren Visualisierung von Mandelbrot- und Julia-Mengen nach Prof. Dr. Norbert Treitz

Erzeugen von Iterationsfiguren durch Doppelklick

Julia-Menge aus Mandelbrot-c-Punkt generiert

Diese Website verwendet nur 

3 technisches Cookies. Bitte lesen Sie meine Datenschutzerklärung

Verweigern

OK