Sie sind auf Seite 1von 17

Slide 651

Bifurkationsdiagramm 2 Fixpunkte des Generators x n+1 =k*x n −k*x n 1 0.9 0.8 0.7
Bifurkationsdiagramm
2
Fixpunkte des Generators x n+1 =k*x n −k*x n
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.5
1
1.5
2
2.5
3
3.5
4
k
x

Der Lorenz-Attraktor:

Attraktoren k¨onnen komplizierte Formen haben und Fl¨achen formen, auf denen der Wert zum Fixpunkt gelenkt wird. Sie sinjd unproblematisch, solange nur ein Fixpunkt existiert. Systeme von nichtlinearen Diffenrentialgleichungen k¨onnen aber unter bestimmtem Be-

¨

dingungen Attraktoren haben, bei denen geringe Anderungen der Startwerte dazu f¨uhren, daß sehr unterschiedliche Endwerte erreicht werden. Solche Attraktoren heißen chaotisch

oder seltsam (strange). Ein ber¨uhmter chaotischer Attraktor wur- de 1963 von Edward Lorenz am MIT ent- deckt, der Lorenz-Attraktor. Er entsteht in einem einfachen System von Diffe-

Er entsteht in einem einfachen System von Diffe- rentialgleichungen, das die Luftstr¨omung in der

rentialgleichungen, das die Luftstr¨omung in der Atmosph¨are beschreibt. Die Ge- stalt des Attraktors beschr¨ankt zwar den L¨osungsraum, aber es praktisch unvorher- sagbar, wo auf der Oberfl¨ache des Attrak- tors die L¨osung liegen wird. Im folgenden werden wir nicht-lineare Funktionen als Generatoren benutzen, um Mengen von Punkten zu definieren. Die- se Punktmengen sind fraktale Linien, Fl¨achen oder Volumina und dienen zur

Modellierung von Texturen und Objekt-

formen

428

Slide 652

Slide 653

Folgen komplexer Zahlen

Die Folge ist divergent f¨ur , invariant gegen den Generator f¨ur , konvergent f¨ur .

Folgen komplexer Zahlen I |z| > 1 1 |z| < 1 R 1 |z| =
Folgen komplexer Zahlen
I
|z| > 1
1
|z| < 1
R
1
|z| = 1

429

Definition 30.1 (Julia-Menge) Julia-Menge: Die Menge aller , die bez¨uglich des Generators invariant
Definition 30.1 (Julia-Menge)
Julia-Menge: Die Menge aller , die bez¨uglich des
Generators
invariant ist.
Gaston Julia, am Anfang dieses Jahrhunderts.
Slide 654
Julia-Kurven, auch Drachenkurven genannt, sind
zusammenhangende¨
Julia-Mengen.
Cantor-Mengen, auch Cantor-Staub genannt, sind nicht
zusammenhangende¨
Julia-Mengen.
Slide 655

430

Slide 656

Slide 657

Slide 656 Slide 657 ☞ Julia-Mengen sind Fraktale. ☞ Wie l¨aßt sich f¨ur einen gegebenen Wert
☞ Julia-Mengen sind Fraktale. ☞ Wie l¨aßt sich f¨ur einen gegebenen Wert von c vorhersagen,
☞ Julia-Mengen sind Fraktale.
☞ Wie l¨aßt sich f¨ur einen gegebenen Wert von c vorhersagen,
wie die Julia-Menge aussieht?
☞ Antwort: Die Mandelbrot-Menge:

431

Slide 658

Definition 30.2 (Mandelbrot-Menge)

Die Mandelbrot-Menge f¨ur die Funktion ist die Menge aller Punkte f¨ur die gilt:

Die Julia-Menge mit der Generatorfunktion zusammenhangend.¨

Oder anders gesagt:

F¨ur Julia-Mengen mit der Generatorfunktion gilt, daß sie zusammenh¨angend sind, gdw. in der Mandelbrot-Menge f¨ur liegt.

ist

Ausschnitte aus der Mandelbrot-Menge:

Die folgenden Folien zeigen Ausschnitte aus der Mandelbrot-Menge f¨ur den Prozeß:

Die Ausschnitte sind:

255 Iterationen,

266 Iterationen,

264 Iterationen,

296 Iterationen,

Alle Abbildungen stammen aus (Fellner, 1992).

432

Slide 659

Slide 660

Die Mandelbrot-Menge: Das Apfelmannchen¨
Die Mandelbrot-Menge: Das Apfelmannchen¨
Die Mandelbrot-Menge: Ausschnitt
Die Mandelbrot-Menge: Ausschnitt

433

Slide 661

Slide 662

Die Mandelbrot-Menge: Nachbarschaft
Die Mandelbrot-Menge: Nachbarschaft
Die Mandelbrot-Menge: Ausschnitt
Die Mandelbrot-Menge: Ausschnitt

434

Anmerkungen:

Genau wie die Drachenkurven der Julia-Mengen sind auch die Konturen der Mandelbrot-

Menge selbst¨ahnliche wir die Konturen vergr¨oßern, tauchen rekursiv immer wieder modi-

fizierte verkleinerte Kopien des Apfelm¨annchens auf.

Slide 663

Wie kann die Mandelbrot-Menge berechnet werden? F¨ur jeden Wert ist zu pr¨ufen, ob die entsprechende Julia-Menge zusammenh¨angend ist.

Satz: Die Julia-Menge mit der Generatorfunktion ist zusammenh¨angend gdw. die Folge der f¨ur den den Startwert beschr¨ankt bleibt. (John Hubbard und Adrien Douady)

Um festzustellen, ob ein Wert in der Mandelbrot-Menge liegt, ist es also hinreichend zu pr¨ufen, ob die Folge f¨ur den Wert 0 beschr¨ankt ist.

435

Slide 664

F¨ur jeden Punkt der komplexen Zahlenebene ist es m¨oglich zu pr¨ufen, ob er ein Element der Mandelbrot-Menge ist oder nicht, indem die Folge iteriert wird und gepr¨uft wird, ob sie begrenzt bleibt.

Zwei Probleme:

Wie lange muß iteriert werden?

Die Mandelbrot-Menge ist ein Fraktal. Sie ist nicht bandbeschr¨ankt und kann daher nicht mit einer endlichen Zahl von Stichproben abgetastet werden.

Konsequenz: Alle Darstellungen der Mandelbrot-Menge sind approximativ!

Ein Wegweiser zu interessanten Julia-Mengen:

Eine interessante Eigenschaft der Mandelbrot-Menge ist, daß die fraktalen Strukturen in der N¨ahe eines Punktes denjenigen Julia-Mengen ahnlich¨ sehen, die sie erzeugen. Wenn

wir die Koeffizienten f¨ur eine bestimmte Form suchen, hilft ein Blick auf die Mandelbrot-

¨

Menge. Die folgende Folie zeigt eine Ubersicht: F¨ur einige Pukte der Mandelbrot-Menge

sind die entsprechenden Julia-Mengen angegeben.

436

Slide 665

Slide 666

Slide 665 Slide 666 Fraktale Texturen in POV-Ray lors #declare Test1 = texture pigment /*Mandelbrot-Menge */

Fraktale Texturen in POV-Ray

lors

#declare Test1 = texture pigment /*Mandelbrot-Menge */ mandel 100 color_map fourcolors #declare Test2 = texture /* statistisch erzeugt */ pigment granite color_map fourco-

437

Slide 667

Slide 668

Slide 667 Slide 668 Julia-Mengen als fraktale Oberflachen¨ ☞ In der komplexen Zahlenebene konnten wir mittels

Julia-Mengen als fraktale Oberflachen¨

In der komplexen Zahlenebene konnten wir mittels Julia-Mengen fraktale Linien beschreiben.

Eine Erweiterung der Algebra der komplexen Zahlen auf vier Dimensionen macht es m¨oglich, fraktale Volumen zu modellieren. In der Computergrafik werden die beiden folgenden Erweiterungen verwendet;

Quaternionen,

hyperkomplexe Zahlen.

Beiden Erweiterungen ist gemeinsam, daß eine Zahl aus einem Realteil und drei Imagin¨arteilen besteht:

438

Anmerkungen:

Weder die Quaternionen noch die hyperkomplexen Zahlen sind perfekte Erweiterungen der komplexen Zahlen.

Die Quaternionengruppe ist nicht kommutativ bez¨uglich der Multiplikation.

Die Quaternionen bilden also einen Schiefkorper¨

.

Die hyperkomplexen Zahlen sind zwar kommutativ, es existiert aber nicht f¨ur alle Zahlen ein inverses Element bez¨uglich der Multiplikation.

Beide Systeme enthalten die komplexen Zahlen als echte Untermenge. Die Bezeichnung f¨ur die vier Basisvektoren des Vektorraums der Quaternionen wird in

der Literatur nicht einheitlich gehandhabt. Fellner, 1992) bezeichnet die drei imagin¨aren

Komponenten mit ; in einigen Mathematikb¨uchern werden sie mit bezeichnet.

Slide 669

Definition 30.3 (Quaternionen) Ein Quaternion q ist eine Linearkombination aus einem reellwertigen Basisvektor 1 und
Definition 30.3 (Quaternionen)
Ein Quaternion q ist eine Linearkombination aus einem
reellwertigen Basisvektor 1 und drei imagin¨aren Basisvektoren
.
mit
und
und
und

439

Slide 670

Slide 671

Definition 30.4 (Hyperkomplexe Zahlen)

Eine hyperkomplexe Zahl ist ebenfalls eine Linearkombination aus einem reellwertigen Basisvektor 1 und drei imagin¨aren Basisvektoren mit den folgenden Rechenregeln:

mit

und

und

und

Sei eine Funktion auf den Quaternionen oder den hyperkomplexen Zahlen und sei eine Konstante.

Die Julia-Mengen (Fixpunkte) des Generators

definieren die Oberfl¨ache fraktaler Objekte im vierdimensionalen Vektorraum.

Fraktale Objekte im dreidimensionalen Raum erhalten wir, indem wir den Durchschnitt der Objekte mit einer Hyperebene bilden.

Die Objekte k¨onnen zusammenh¨angend sein oder nicht.

440

Julia-Fraktale in POV-Ray:

In POV-Ray k¨onnen wir Julia-Fraktale sowohl mit Quaternionen als auch mit hyperkom- plexen Zahlen berechnen. Es sind 18 verschiedene Transformationsfunktionen m¨oglich. Zur Berechnung der Fraktale sind die folgenden Angaben n¨otig:

Julia-Parameter: Die additive Konstante in der Iterationsformel

Die Funktion: Die Transformationsfunktion, z.B. sqr, sin, exp

Zahl der Iteration: Wie oft soll maximal iteraiert werden?

Genauigkeit: Die Genauigkeit, mit der gepr¨uft werden soll, ob ein Punkt innerhalb oder außerhalb des Objektes liegt.

Hyperebene: Die Hyperebene, mit der das Objekt zum Schnitt gebracht wird. Sie wird durch einen Normalenvektor und den Abstand vom Ursprung angegeben.

POV-Ray berechnet die Julia-Fraktale, indem iterativ f¨ur jeden Punkt gepr¨uft wird, ob er innerhalb oder außerhalb des Objektes liegt. Ein Punkt wird als innerhalb des Objekts betrachtet, wenn w¨ahrend der Iteration keiner der weiter als ein vorgegebener Abstand vom Ursprung entfernt ist. Bei einer geringen

Anzahl von Iterationen werden also mehr Punkte als zum Objekt geh¨orig betrachtet als

bei einer hohen Iterationszahl.

Anmerkungen:

Das folgende POV-Ray-Skript erzeugt ein fraktales Objekt mit der Generatorfunkti- on sqr, dem Startpunkt , mit maximal 20 Iterationen, einer Geanuigkeit von 20 und der Schnittebene mit dem Normalenvektor . Der Ani- mationsmechanismus von POV-Ray wird genutzt, um eine Folge von Schnitten zu be- rechnen. Die Schnittebene wird abh¨angig von der simulierten Zeit parallel zur Normale verschoben. Nur so zum Spaß wird auch der Farbton des Objektes in Abh¨angigkeit von der Uhrzeit ver¨andert. Beginnend bei Rot rotiert der Farbton einmal durch den ganzen Farbenkreis. Alle erzeugten Volumen sind sehr lockere, l¨ocherige Objekte, die etwas an Wollkn¨aule

oder lockeres Geb¨ack erinnen. Von der Lage der Hyperebene h¨angt es ab, ob die erzeugte

Julia-Menge zusammenh¨angend ist oder nicht.

441

Slide 672

Slide 673

Slide 672 Slide 673 #declare color_now = vnormalize(vaxis_rotate(x,x+y+z,clock*360)) julia_fractal <-0.083, 0.0,

#declare color_now = vnormalize(vaxis_rotate(x,x+y+z,clock*360)) julia_fractal <-0.083, 0.0, -.83, -0.025> quaternion sqr max_iteration 20 precision 20 slice <0,0,0,1>, 2*clock-1 texture pigment color rgb color_now finish Metal

20 precision 20 slice <0,0,0,1>, 2*clock-1 texture pigment color rgb color_now finish Metal 442

442

Slide 674

Slide 675

#declare color_now=

vnormalize(vaxis_rotate(x,x+y+z,clock*360))

julia_fractal <-0.39054, -0.58679, 0.025, -0.025> quaternion sqr max_iteration 30 precision 30 slice <0,0,0,1>, 2*clock-1 texture pigment color rgb color_now finish Metal

30 precision 30 slice <0,0,0,1>, 2*clock-1 texture pigment color rgb color_now finish Metal 443

443

Slide 676

Slide 676 444

444