====== Theoretischer Hintergrund von Mandelbrotfiguren ====== ===== Einführung ===== Die Mandelbrotfiguren benutzen die Komplexen Zahlen. Durch eine Analyse ob eine Zahlenfolge (zi) von Komplexen Zahlen divergiert oder konvergiert, wird entschieden, ob ein Punkt entweder die Farbe Schwarz, im Fall der Konvergenz, d.h. die Zahlenfolge (zi) strebt gegen einen Wert ≠∞, oder eine beliebige andere Farbe zugewiesen bekommt, im Fall der Divergenz, d.h. die Zahlenfolge (zi) strebt gegen ∞. ((**[Sto99]** Horst Stöcker. Taschenbuch mathematische Formeln und moderner Verfahren. Harri Deutsch Verlag, Frankfurt am Main, Thun, 4. korrigierte Ausgabe, 1999)) {{ :mandelbrot:mandelbrot_1.png?direct&400 }} ===== Grundlagen ===== Jetzt kommt eine kurze Betrachtung der Eigenschaften von Komplexen Zahlen, soweit es nötig ist für das Verständnis zur Erzeugung von Mandelbrot-Figuren. (Für eine ausführliche Diskussion der mathematischen Grundlagen ist die einschlägige Mathematik Literatur zu konsultieren). Eine Komplexe Zahl z ist eine Summe aus einer reellen Zahl x und einer imaginären Zahl iy ((**[Sto99]** Horst Stöcker. Taschenbuch mathematische Formeln und moderner Verfahren. Harri Deutsch Verlag, Frankfurt am Main, Thun, 4. korrigierte Ausgabe, 1999)) {{ :mandelbrot:Mandelbrot1x.png?200 }} Die grafische Darstellung der komplexen Zahl in der Gaußschen Zahlenebene ist in der folgenden Grafik dargestellt: {{ :mandelbrot:mandelbrot2x.png?400 }} ===== Beispiel ===== Eine Komplexe Zahl wird als Punkt im Kartesischen (x,y)-Koordinatensystem dargestellt. In der Praxis kommen imaginäre Zahlen bei der Lösung von quadratischen Gleichungen in der folgenden Weise vor (Für folgende Gleichung ist das x zu bestimmen): ((**[Sto99]** Horst Stöcker. Taschenbuch mathematische Formeln und moderner Verfahren. Harri Deutsch Verlag, Frankfurt am Main, Thun, 4. korrigierte Ausgabe, 1999)) (1) {{ :mandelbrot:mandelbrot3x.png?400 }} Diese Gleichung ist nicht im reellen Zahlenbereich lösbar, weil sie eine negative Wurzel {{:mandelbrot:mandelbrot4x.png?35}} besitzt! Aus diesem Grunde ist eine imaginäre Zahlendarstellung zur Beschreibung der negativen Wurzel eingeführt worden: (2) {{ :mandelbrot:mandelbrot5x.png?80 }} Durch die Einführung der imaginären Darstellung läßt sich die obige Lösung der Gleichung wie folgt umformen: (3) {{ :mandelbrot:mandelbrot6x.png?200 }} Und die Lösung der quadratischen Gleichung wird zu: (4) {{ :mandelbrot:mandelbrot7x.png?130 }} (Der Beweis, daß die obige Lösung funktioniert, sei dem Leser durch Einsetzen überlassen.) Die Lösung der quadratische Gleichung kann natürlich, wie in den Grundlagen beschrieben, auch grafisch als (x,y)-Punkte im Kartesischen Koordinatensystem dargestellt werden: {{ :mandelbrot:mandelbrot8x.png?400 }} In der obigen Grafik lassen sich die Längen der Strecken zwischen dem Ursprung und den Punkten ''z1'' und ''z2'' berechnen. Die Länge wird auch der Betrag einer Komplexen Zahl z genannt: (5) {{ :mandelbrot:mandelbrot9x.png?210 }} Anwendung auf das obige Beispiel: (6) {{ :mandelbrot:mandelbrot10x.png?330 }} ===== Anwendung der Grundlagen auf Mandelbrot Figuren ===== Die Mandelbrotmenge für die Funktion ((**[Fel92]** W.D. Fellner. Computergrafik. BI Wissenschaftsverlag, Mannheim / Leibzig / Wien / Zürich, 2. erweiterte Ausgabe, 1992)) (7) {{ :mandelbrot:mandelbrot11x.png?120 }} ist die Menge aller Punkte von c, für die gilt, daß die Folge ''zn'' nicht divergiert für n→∞ (8) {{ :mandelbrot:mandelbrot12x.png?120 }} Mit der Rekursion für ''n≥1'' und ''z0=0'' gilt: (9) {{ :mandelbrot:mandelbrot13x.png?120 }} {{ :mandelbrot:mandelbrot14x.png?450 }} Um die Mandelbrot Menge zu berechnen, wird die Zahlenfolge ''z1,z2,...,zn'' von Komplexen Zahlen und deren rekursive Erzeugung betrachtet. Die rekursive Operation hat folgende Form: ((**[HOP86]** P.H. Richter H.-O. Peitgen. The Beauty of Fractals, Images of Complex Dynamical Systems. Springer-Verlag Berlin Heidelberg, 1. Ausgabe, 1986)) (10) {{ :mandelbrot:mandelbrot15x.png?120 }} wo gilt ''z0 = 0'' und ''z1 = c'' und ''z = x + iy'' und ''c = p + iq''. Daraus folgt dann für ''zn+1'', aufgeteilt in imaginären und reellen Anteil: {{ :mandelbrot:mandelbrot16x.png?370 }} Um die Mandelbrot Figuren zu erzeugen, wird nicht nur ein Punkt betrachtet, sondern ein Fläche: {{ :mandelbrot:mandelbrot17x.png?500 }} Der Wert von c ist bei der rekursiven Analyse ein einzelner Punkt auf der Fläche des Kartesischen (x,y)-Koordinatensystems. Um diese Fläche auf dem Computerbildschirm zu bringen, muß dessen Auflösung in die Fensterauflösung des Anzeigefensters ’übersetzt’ oder ’diskretisiert’ werden. Unsere Fensterauflösung sei 1024x768 und die Variablen a und b sollen die folgenden Werte besitzen: a = 1024 und b = 768 ( Dies sei nun unsere ’Anzeigefläche’) Die vorgegebenen Werte der Randpunkte der obigen Fläche der Mandelbrot Figur werden in die Anzeigefläche wie folgt abgebildet: Die △-Werte sind die Abstände der Messpunkte für die Analyse, ob ein Punkt c in der Mandelbrot-Menge, schwarzer Bereich, liegt oder nicht: {{ :mandelbrot:mandelbrot18x.png?370 }} ===== Algorithmus zur Berechnung der Mandelbrot Menge ===== ==== Theorie ==== Um die Mandelbrot Menge automatisch berechnen zu können, muß die Rekursion aus der Gleichung (10) auf jedem Bildpunkt in der Anzeigefläche angewendet werden. Es gelten weiter die dir folgenden Randbedingungen: ''z1 = c'' und ''z = x + iy'' und ''c = p + iq''. Für die Anzeigefläche werden die Laufvariablen ''np'' und ''nq'' eingeführt und sind wie folgt definiert: {{ :mandelbrot:mandelbrot19x.png?370 }} Daraus können wir nun die Komponenten für die Konstante c bilden: {{ :mandelbrot:mandelbrot20x.png?370 }} mit den Randbedingungen ''z0 = 0 ⇒ x0 = 0'' und ''y0 = 0'' ergeben sich folgende Ergebnisse: {{ :mandelbrot:mandelbrot21x.png?370 }} usw ... ==== Struktogramm ==== Das folgende Struktogramm zeigt die mögliche Automatisierung einer Berechnung durch ein Programm: {{ :mandelbrot:mandelbrot22x.png?600 }} ==== QuellCode ==== {{ :mandelbrot:quellcode.png?600 }} ==== Beispiele ==== {{ :mandelbrot:Mandelbrot23x.png?400 }} {{ :mandelbrot:Mandelbrot_2007_07_03_01.jpg?400 }} {{ :mandelbrot:Mandelbrot_2007_07_03_02.jpg?400 }} {{ :mandelbrot:Mandelbrot_2007_07_03_03.jpg?400 }} {{ :mandelbrot:Mandelbrot_2007_07_03_04.jpg?400 }} {{ :mandelbrot:Mandelbrot_2007_07_03_05.jpg?400 }} {{ :mandelbrot:Mandelbrot_2007_07_03_06.jpg?400 }} {{ :mandelbrot:Mandelbrot_2007_07_03_07.jpg?400 }} {{ :mandelbrot:Mandelbrot_2007_07_03_08.jpg?400 }}