@HYPATIA Hab Deine Antwort übersehen.
z' = z² + c
Ist richtig, ergibt die Mandelbrotebene. Aber Du hast Komplexe Zahlen:
z
k = z
r + z
i und
c
k = c
r + c
idaraus folgt:
z
r' + z
i' = (z
r + z
i)² + c
r + c
i (z
r + z
i)² ist ein Binom:
(a+b)² = 2ab + a² + b² => (z
r + z
i)² = 2z
rz
i + z
r² + z
i²
was zu:
z
r' + z
i' = 2z
rz
i + z
r² + z
i² + c
r + c
iführt. Sortieren wir mal mal die real und imaginären Teile:
z
r' = z
r² + z
i² + c
r und
z
i' = 2z
rz
i + c
i Diese Werte werden immer wieder in die Gleichung eingesetzt. z
r' ist ein Wert auf der x-Achse und z
i' der auf der y-Achse. Nach jeder Iteration wird diese Bedingung geprüft:
Limit > √(z
r'² + z
i'²)
Es wird also geschaut, ob der Punkt einen bestimmten Abstand zum Nullpunkt überschreitet. Es ist bekannt, das ein Punkt der weiter als 2 von dem Nullpunkt entfernt ist gegen unendlich strebt. Es macht aber Sinn den Punkt ein wenig weiter zu beobachten, gibt „weichere“ Bilder.
Ich vermute mal stark, Dir ist dass alles bekannt, aber den anderen Lesern vermutlich nicht.
Der Algorithmus arbeitet nun so:
1. Es wird eine Fläche von Punkten definiert, zum Beispiel für x = -2 bis 2 und für y = -1.25 bis 1.25
2. Es wird eine Schleife für y laufen gelassen: (for y = -1.25 to 1.25 step [Anzahl der Pixel für y oder Bildhöhe])
3. In dieser y-Schleife läuft für x eine weitere: (for x = -2 to 2 step [Anzahl der Pixel für x oder Bildbreite])
4. Der x-Wert wird für Cr und der y-Wert für Ci genommen und in die Gleichung z' = z² + c eingesetzt.
5. Wird z' nun größer als das Limit wurde ein Punkt der Ebene gefunden der gegen unendlich strebt.
6. Die Schleifen (Iteration) wird dann abgebrochen und die Anzahl der Wiederholungen ergibt einen Farbwert.
7. Ist z' < Limit wird z' = z gesetzt und wieder z' = z² + c gerechnet.
8. Bleibt z' auch nach einer maximal vorgegebenen Anzahl an Wiederholungen < Limit wird auch abgebrochen und der Punkt wird schwarz eingefärbt.
9. Der nächste Punkt der Ebene wird ebenso berechnet.
Die „normale“ Mandelbrotmenge oder der Apfelmann beginnt eben mit z = 0 und das ist dieses Bild:
Konkret ist z aber
r + z
i' wir haben also zwei Parameter die wir auf 0 setzen wenn die Berechnung startet. Und da sind die beiden anderen Achsen um auf einen vierdimensionalen Raum zu kommen. Zr ist nun die z-Achse und Zi die w-Achse.
Nun kann man über die y-Schleife noch eine z-Schleife legen, die dann für Zr auch einen bestimmten Bereich abläuft und so einzelne Schnitte liefert. Achte mal im Bild auf das pink hervorgehobene Eingabefeld (Parameter) const. Zr = 0,5:
Man sieht hier also einen Schnitt der „höher“ liegt also auf der z-Achse höher geschnitten. Iteriert man nun für Zr über den Bereich 4 bis -4 bekommt man alle Punkte eines dreidimensionalen Raumes und den Körper darin. Aber wir haben ja auch noch Zi übrig und können auch für diesen Werte vorgeben und somit die w-Schleife laufen lassen, was dann viele dreidimensionale Schnitte oder Körper des vierdimensionalen Raums ergibt, das Bild sieht dem davor nur ähnlich, hier wurde aber nicht Zr sondern Zi auf 0,5 gesetzt:
Dir sollte nun klar sein, wie man alle Punkte der vierdimensionalen Struktur im Raum finden und berechnen kann, ob der Punkt gegen unendlich strebt und einen Farbwert bekommt oder schwarz bleibt.
Der Trick ist es nun, die Punkte richtig zu greifen. So kann dann auch nur die ZrZi Ebene visualisiert werden, wobei da dann CrCi die beiden anderen „Konstanten“ sind, die sich für einen einzelnen zweidimensionalen Schnitt natürlich nicht ändern.
Bis hier hat man nur einen Mandelbrotgenerator der neben der Mandelbrotmenge auch die Juliamenge darstellen kann. Die Juliaebene ZrZi hat einen Schnittpunkt in der Mandelbrotebene CrCi. In vier Dimensionen können sich zwei Ebenen in einen einzigen Punkt schneiden in drei Dimensionen können sie das nur in einer Geraden.
Darüber hinaus ist aber der Algorithmus nun so aufgebaut, das er in der Lage ist nicht nur Punkte von zwei Achsen zu finden, sondern auch beliebig schräge Schnitte. Bis das funktioniert hat ist viel Kaffee aus der Maschine gelaufen. Somit ist es vom Algorithmus möglich nicht nur Schnitte über eine Achse zu generieren, wie bei einer CT Aufnahme wo man alle Schnitte durch den Körper rauf und runter „scrollen“ kann, sondern man kann die Schnittebene rotieren. Also von einem vertikalen zu einem horizontalen Schnitt. Somit kann vom Apfelmann zur Juliamenge gedreht werden.
Hoffe es hat mehr Klarheit als Verwirrung gebracht.