14 Fraktale *
14.1 Cantor Menge
Betrachten wir folgende Vorschrift: Wir nehmen das Intervall \([0,1]\) und schneiden im ersten Schritt das mittlere Drittel also das Intervall \([\frac{1}{3},\frac{2}{3}[\) heraus. Übrig bleiben die Intervalle \([0,\frac{1}{3}[\) und \([\frac{3}{3},1]\). Mit diesen Intervallen Verfahren wir genauso. Aus jedem der beiden Intervalle wird jeweils wieder das mittlere Drittel herausgeschnitten usw. (siehe Abbildung 14.1).
Die Frage ist, was übrig bleibt, wenn man dieses Verfahren unendlich oft anwendet. Das Bild, das dabei entsteht nennt man auch Limesbild (von Limes: Grenzwert). Obwohl jedes einzelne Objekt eine Strecke ist, besteht das Limesbild aus isolierten Punkten. Limesbilder können also ganz andere Eigenschaften haben als die Objekte, die zu ihrer Entstehung führen: Betrachten wir hierzu ein Quadrat der Kantenlänge 1. Wir schneiden nun sukzessive Quadrate heraus, so dass eine Treppe entsteht (Abbildung 14.2): Bestimmt man die Treppenlänge (von der oberen linken zur unteren rechten Ecke) so beträgt die Länge in jedem Schritt 2. Je öfter man das Verfahren wiederholt, umso mehr nähert sich die Treppe der Diagonalen (Limesbild). Die Diagonale hat aber die Länge \(\sqrt{2}\).
Betrachten wir noch einmal die Cantor-Menge. Jedes Intervall, dass entsteht, sieht, bis auf einen Skalierungsfaktor, aus wie das Original. Die Cantor-Menge ist selbstähnlich. Eine Figur wird selbstähnlich genannt, wenn Teile der Figur kleine Kopien der ganzen Figur sind. Ein Matlab-Code zur Erzeugung der Cantor-Menge ist in Listing 14.1 angegeben.
14.2 Kochsche Schneeflockenkurve
Ein weiteres Beispiel für eine selbstähnliche Figur ist die Kochsche Kurve, auch Schneeflockenkurve genannt. Sie entsteht aus einem gleichseitigen Dreieck, bei dem man auf das mittlere Drittel jeder Seite ein weiteres Dreieck aufsetzt und die überschüssigen Linien wegstreicht (siehe 14.3).
Betrachtet man eine Seite des Dreiecks und setzt die erste Seitenlänge gleich eins, so verlängert sich die Seitenlänge in jedem Schritt um ein Drittel. Letztlich wird die Seite und damit die gesamte Kurve unendlich lang.
14.3 Sierpinski-Dreieck
Ein weiteres bekanntes Fraktal ist das Sierpinski-Dreieck1. Es entsteht aus einem gleichseitigen Dreieck, aus dem man sukzessive Dreiecke entfernt (Abbildung 14.4).
Eine weitere Möglichkeit, das Sierpinski-Dreieck zu erzeugen ist in Abschnitt 14.5.2 angegeben.
14.4 Fraktale Dimension
Um dieses etwas besser zu verstehen betrachten wir zunächst die für uns vertrauten Objekte Strecke, Quadrat und Würfel. Bei einer Strecke, die in drei gleiche Teile eingeteilt wird, beträgt die Länge jeder einzelnen Strecke ein Drittel der Ursprungslänge, logisch. Teilt man die Seiten eines Quadrats in drei gleiche Teile, so entstehen insgesamt 9 Quadrate, von denen jedes eine Fläche hat, die einem Neuntel der Ursprungsfläche entspricht. Teilt man die Kanten eines Würfels in drei gleiche Teile, so entstehen insgesamt 27 Würfel, von denen jeder ein Volumen hat, das einem Siebenundzwanzigstel des Ursprungsvolumen entspricht. Wir erhalten folgende Tabelle:
Man erhält die Beziehung \[s^D=N \;, \mbox{ oder } D=\frac{\log N}{\log s}\] wobei \(D\) die Dimension des Objektes ist.
Führt man dasselbe Verfahren für die Cantor-Menge und die Schneeflockenkurve durch, so erhält man:
Bestimmt man jeweils den unbekannten Exponenten \(x\), so erhält man für die Cantormenge den Wert \(x=\frac{\log 2}{\log 3} = 0,631\), für die Schneeflockenkurve \(x=\frac{\log 4}{\log 3} = 1.262\). Nach obigen Überlegungen handelt es sich bei diesen Werten um die Dimension der Objekte. Man erhält einen Dimensionsbegriff, bei dem auch nicht-ganzzahlige Werte zugelassen sind, die fraktale Dimension:
Fraktale Dimension der Cantor-Menge: \(D_{Cantor}\approx 0.631\)
Fraktale Dimension der Kochschen Schneeflockenkurve: \(\displaystyle_{Koch} \approx 1.262\)
Die bisherigen Überlegungen passen damit gut zusammen. Die Cantormenge, deren Limesbild aus isolierten Punkten und nicht mehr aus Strecken besteht, hat eine Dimension zwischen Punkt (D=0) und Strecke (D=1), die Schneeflockenkurve, deren Länge unendlich ist, hat eine Dimension zwischen Strecke (D=1) und Fläche (D=2).
Beim Sierpinski-Dreieck wird bei einer Verdopplung der linearen Ausdehnung (der Seitenlänge), also einem Skalierungsfaktor von s=2, eine Verdreifachung des Ausgangsbildes erreicht, also N=3. damit hat das Sierpinski-Dreieck die faktale Dimension \(D=\frac{\log3}{\log 2}\approx 1.585\). Die Dimension liegt also zwischen der einer Strecke und der einer Fläche.
14.4.1 Kästchenzählmethode
Man erhält einen Wert für die fraktale Dimension auch, indem man die sogenannte Kästchenzählmethode anwendet. Hierzu überdeckt man das Fraktal mit einem Gitter der Maschenweite \(\varepsilon\) überdeckt, und die Anzahl \(N\) der Gitterzellen bestimmt, die das Objekt überdeckt. Diese Anzahl wird natürlich von der Maschenweite abhängen. Trägt man das Ergebnis für verschiedene Maschenweiten doppelt logarithmisch auf, so sieht man, dass ein linearer Zusammenhang zwischen \(\log N\) und \(\log \frac{1}{\varepsilon}\) besteht . Man kann also eine Gerade bestimmen, so dass
bzw.
gilt. Die Steigung \(D\) wird als fraktale Dimension definiert2.
14.5 Das Chaos-Spiel
14.5.1 Cantor-Menge
Man kann selbstähnliche Fraktale auch über ein Chaos-Spiel erreichen. Es sei die Strecke \(\overline{AB}\) gegeben. Ein Floh hüpft auf dieser Strecke nach folgenden Regeln umher: Er startet bei \(\frac{2}{3}\) und wirft eine Münze. Bei Kopf springt er in Richtung A und zwar genau \(\frac{2}{3}\) der Entfernung bis A, Bei Zahl springt er in Richtung B und zwar genau \(\frac{2}{3}\) der Entfernung bis B. Diese Regel wird beliebig oft wiederholt. Wählt man A=0, B=1 und \(x_{alt} =\frac{2}{3}\), erhält man folgendes Schema:
Kopf: \(x_{neu}= x_{alt} - \frac{2}{3} \cdot x_{alt} = \frac{1}{3} \cdot x_{alt}\)
Zahl: \(x_{neu}= x_{alt} + \frac{2}{3} \cdot (1-x_{alt}) = \frac{2}{3} + \frac{1}{3} \cdot x_{alt}\)
Man erhält so die Zahlenfolge
\(x_0=\frac{2}{3}\)
\(x_1=\frac{1}{3} \cdot x_0=\frac{1}{3} \cdot \frac{2}{3}=\frac{2}{9}\)
\(x_2=\frac{2}{3} + \frac{1}{3} \cdot x_{1}=\frac{2}{3} + \frac{1}{3} \cdot \frac{2}{9} =\frac{20}{27}\)
\(x_3=\frac{1}{3} \cdot \frac{20}{27} = \frac{20}{81}\)
\(\ldots\)
Stellt man diese Folge graphisch dar, so entsteht nach und nach die Cantor-Menge. In Listing 14.1 ist ein pProgramm angegeben, das die Cantor-Menge über diesen Algorithmus erzeugt.
N=100; % Anzahl Punkte
% Startpunkt
x =2/3; % Startpunkt
for j = 1:N
p=randi(2)-1; % Zufallszahl (1 oder 2)
if p==1
x=x/3;
else
x=2/3+x/3;
end
% Punkt zeichnen
plot(x,1,'k.')
hold all
endAuch interessant: Betrachtet man diese Zahlen im Ternärsystem (Zahldarstellung zur Basis 3), so stellt man fest, dass die Ziffer 1 nicht vorkommt und dass sich von Schritt zu Schritt eine Null (bei Kopf) oder eine Zwei (bei Zahl) hinter dem Komma dazwischenschiebt:
\(x_0=\frac{2}{3} = 2 \cdot 3^{-1} = 0.2_{TER}\)
\(x_1=\frac{2}{9} = 0 \cdot 3^{-1} + 2 \cdot 3^{-2} = 0.02_{TER}\)
\(x_2=\frac{20}{27} = 2 \cdot 3^{-1} + 0 \cdot 3^{-2}+ 2 \cdot 3^{-3}= 0.202_{TER}\)
\(x_2= \frac{20}{81} = 0 \cdot 3^{-1} + 2 \cdot 3^{-2}+ 0 \cdot 3^{-3}+2 \cdot 3^{-4}= 0.0202_{TER}\)
14.5.2 Sierpinski-Dreieck
Ein Archäologe hat ein dreieckiges Gebiet abgesteckt, in dem er Dino-Knochen vermutet. Da er keine Ahnung hat wo, fängt er an einem beliebigen Ort im Dreieck an zu graben. Den nächsten Ort wählt er aus, indem er zuerst eine Ecke auswählt und dann den Mittelpunkt zwischen dieser Ecke und seiner aktuellen Position als neuen Grabungsort bestimmt. Trägt man die Grabungsorte auf, so entsteht nach und nach das Dreieck nach Sierpinski (1882-1969). Ein Matlab-Code zur Erzeugung des Sierpinski-Dreiecks ist in Listing 14.2 angegeben.
N=10000; %Anzahl der Schritte
vx=zeros(1,N);% Vektoren fuer die Punkte initialisieren
vy=zeros(1,N);
px(1)=0;% Eckpunkte
py(1)=0;
px(2)=100;
py(2)=0;
px(3)=50;
py(3)=87;
x =50; % Startpunkt
y =50;
for j = 1:N
p=randi(3); % Zufallszahl erzeugen (1,2 oder 3)
x=(x+px(p))/2;
y=(y+py(p))/2;
vx=[vx x]; % Punkt in Vektoren merken
vy=[vy y];
end
plot(vx,vy,'k.') % alle Punkte schwarz zeichnen14.5.3 Der Barnsley-Farn
Zur Erzeugung des Farns nach Barnsley (*1946) wird ausgehend von einem Startpunkt \((x_0,y_0)\) eine von vier affinen Abbildung ausgewählt, die auf den Punkt losgelassen wird(Barnsley und Rising 1993). In jedem Schritt wird zufällig eine der vier Abbildungen ausgewählt. Um ein gleichmäßiges Bild zu erhalten, wird eine Abbildung umso häufiger ausgewählt, je größer ihr Bild (ihre Determinante) ist, das sie erzeugt.
Dieses Verfahren zur Erzeugung selbstähnlicher Abbildungen nennt man iteriertes Funktionensystem (IFS). Ein Matlab-Programm zur Erzeugung des Farns mittels des IFS ist in Listing 14.3 angegeben.
xalt = 1;% Startpunkt
yalt = 0;
N=10000; % Anzahl Punkte
vx=zeros(1,N);% Vektoren fuer die Punkte initialisieren
vy=zeros(1,N);
w1=0.79; % Wahrscheinlichkeiten (Summe=1)
w2=0.1;
w3=0.1;
w4=0.01;
for i = 1 : N
q = rand; % Zufallszahl zwischen 0 und 1
if q<w1
x = .85*xalt + .04*yalt;
y = -.04*xalt + .85*yalt + 1.6;
else
if q<w1+w2
x = .2*xalt - .26*yalt;
y = .23*xalt +.22*yalt + 1.6;
else
if q<w1+w2+w3
x = -.15*xalt + .28*yalt;
y = .26*xalt +.24*yalt + .44;
else
x=0;
y=0.16*yalt;
end
end
end
vx=[vx x]; % Punkt in Vektoren merken
vy=[vy y];
xalt=x; % neuer Punkt ist naechster Startwert
yalt=y;
end
plot(vx,vy,'k.') % alle Punkte schwarz zeichnen14.6 Mandelbrot-Menge
Die Mandelbrot-Menge (Mandelbrot 1987) ist nach Benoit B. Mandelbrot (\(^*\)1924) benannt und wird manchmal auch als Apfelmännchen bezeichnet. Sie ist eine Teilmenge der komplexen Ebene \(\mathbb{C}\). Die komplexe Ebene besteht aus komplexen Zahlen \(z\), die sich aus einem Realteil \(a\) und einem Imaginärteil \(b\) zusammensetzen:
Der Betrag einer komplexen Zahl beträgt \(\vert z\vert =\sqrt{a^2+b^2}\)
Die Mandelbrot-Menge ist wie folgt definiert:
Praktisch kann man die Beschränktheit bestimmen, indem man für jeden Punkt der Ebene nachschaut, ob die Werte der Iteration den Kreis um Null mit dem Radius 2 nach einer bestimmten Zeit verlassen. Hierzu bestimmt man den Abstand der komplexen Zahl vom Ursprung und überprüft, ob dieser kleiner als zwei ist: \(\vert z_n -0\vert <2\). Nach einer bestimmten Zeit bedeutet hierbei, dass man eine Anzahl an Iterationsschritten vorgibt. Bleiben alle Werte der Iteration innerhalb des Kreises, so zählt man den Ausgangspunkt zur Menge. Je größer man die Anzahl wählt, desto genauer kann man die Menge bestimmen. Ein Bild der Mandelbrot-Menge ist in Abbildung 14.6 gegeben, ein einfaches Matlab-Programm zur Erzeugung der Mandelbrotmenge in Listing 14.4.
minr=-2; % Grenzen festlegen
maxr=0.5;
mini=-1.2;
maxi=1.2;
delt=0.005; % Aufloesung
vr=[];% Vektoren fuer die Punkte initialisieren
vi=[];
for ci=mini:delt:maxi % Imaginaerteile
for cr=minr:delt:maxr %Realteile
zr=cr; % Realteil Iterationsstartwert
zi=ci; % Imaginaerteil Iterationsstartwert
count=0;
while zr*zr+zi*zi<4 & count<50 % schauen ob es konvergiert
temp=zr*zr-zi*zi+cr; % neuen Realteil zunaechst merken
zi=2*zr*zi+ci; % Imaginaerteilteil des Iterationsschritts
zr=temp; % Realteil des Iterationsschritts
count=count+1;
end
if count>=50 % Punkt der Mandelbrotmenge
vr=[vr cr];
vi=[vi ci];
end
end
end
plot(vr,vi,'k.') % alle Punkte der Mandelbrotmenge zeichenen
axis equalDie Farben in Abbildung 14.6, ergeben sich, wenn man die Punkte, für die die Iteration nicht beschränkt ist, je nach Divergenzgeschwindigkeit unterschiedlich einfärbt. Die Menge der Punkte, für die die Iteration konvergiert (schwarz), heißt Mandelbrot-Menge.
Die gesamte Grafik stellt den Bereich [-2,1] x [-1.5i,1.5i] dar.
14.6.1 Julia-Mengen
Eng verwandt mit der Mandelbrot-Menge sind die Julia-Mengen (Abbildung 14.7). Die Julia-Mengen sind nach Gaston M. Julia (1893-1978) benannt. Die Julia-Menge zu einem Punkt \(c\) ist eine Teilmenge der komplexen Ebene, die durch
definiert ist. Der Unterschied zur Mandelbrot-Menge besteht darin, dass ein Punkt \(c\) vorgegeben wird und für jeden Punkt \(z\) der Ebene nachgeschaut wird, ob die Iterationsfolge beschränkt bleibt. Man erhält also für jedes \(c\) eine Julia-Menge. Interessanterweise sind die Julia-Mengen, deren c-Werte der Mandelbrot-Menge angehören, zusammenhängende Mengen. Die Julia-Mengen, deren c-Werte außerhalb der Mandelbrot-Menge liegen, bestehen aus isolierten Punkten. Unter diesem Aspekt kann man die Mandelbrot-Menge als Inhaltsverzeichnis der Julia-Mengen auffassen.
14.7 Anwendungen
Auf den ersten Blick erscheinen Fraktale als ganz hübsch, aber nicht sonderlich nützlich. In den letzten Jahren hat es aber eine ganze Reihe von praktischen Anwendungen gegeben:
Die Küstenlänge von England hat die Dimension \(D\approx1.23\).
Misst man den Stoffwechsel (metabolische Rate) S von Lebewesen und trägt diesen doppelt-logarithmisch über der Körpermasse M auf , so ergibt sich der lineare Zusammenhang \(\log S = a \cdot \log M +b\) mit einer Steigung von \(a \approx0.75\). Daraus kann man die Dimension schließen, wenn man annimmt, dass die Masse proportional zum Volumen ist und das Volumen proportional zur dritten Potenz der linearen Ausdehnung r. Es gilt \(S \sim M^a\), also \(S \sim r^{3a}\). Man erhält die Dimension \(D\approx 3 \cdot 0.75=2.25\).
Die Dimension der Hirnhaut, d.h. der Hirnoberfläche ist \(D\approx 2.79\) (Mandelbrot 1987).
Die Verästelungen der Bronchien sind nahezu selbstähnlich. Es ergibt sich eine Dimension von \(D\approx2.8\). Bei der Dosierung von Medikamenten muss dies berücksichtigt werden (Stypa 1997).
Waclaw Sierpinski (1882-1969)↩︎
Dies ist nur eine Möglichkeit, eine fraktale Dimension zu definieren. Sie wird Kästchenzähldimension (box counting dimension) genannt. Eine weitere Dimension ist die nach Felix Hausdorff (1868 bis 1942) benannte Hausdorff-Dimension, die für die hier betrachteten Fraktale aber dieselben Werte liefert.↩︎

















