Iterierte Funktionssysteme sind in der Lage, mit wenigen Regeln komplexe, natürlich aussehende Geometrien zu erzeugen.
Ein Punkt \(P(x|y) \) der Ebene wird durch eine Gleichung auf einen anderen Punkt \(P'(x|y) \) abgebildet (transformiert). Wenn der Punkt lediglich verschoben wird, dann spricht man von einer Translation. Aber es gibt noch andere wichtige Transformationen. Besonders häufig auftretende Transformationen sind:
Am elegantesten lassen sich solche Transformation in Matrixschreibweise darstellen bzw. berechnen. Multipliziert man diese Matrizen aus, gelangt man zu den weiter unten stehenden Gleichungen. Dieser Abschnitt geht nicht weiter auf die Matrizenrechnung ein, da sie für unser Vorhaben nicht notwendig ist. Es sei noch angemerkt, dass diese Art der Darstellungen aber z.B. in der Computergrafik wichtig ist. In der Ebene lassen sich alle genannten Transformationen durch die folgenden beiden Gleichungen vollständig beschreiben:
\[ \begin{align} x_{n+1} & = a x_n + b y_n + e \\ y_{n+1} & = c x_n + d y_n + f \\ \end{align} \]
Die Koeffizienten \(a,b,c,d,e,f\) sind (reelle) Zahlen. Der Punkt vor der Transformation \( P(x_n | y_n ) \) wird dabei auf dem Punkt \( P(x_{x+1} | y_{n+1}) \) abgebildet.
Das Prinzip der iterierten Funktionensysteme ist in der obenstehenden Abbildung erläutert. Im Allgemeinen ist ein Satz von Transformationen (f1(x,y), f2(x,y), …, fn (x,y)) gegeben. Ausgehend von einem Punkt P(x | y) in der Ebene, wählt man durch Zufall eine der Transformationen aus und erhält somit wieder einen Punkt in der Ebene. Diesen so erhaltenen neuen Punkt „steckt“ man erneut in die Transformation hinein. Alle Punkte die man auf diese Weise erhält, werden gezeichnet. Die so entstehenden Grafiken besitzten eine außerordentliche Komplexität und Schönheit. Mithilfe des IFS-Codes, der alle Informationen enthält, lassen sich diese Grafiken erzeugen.
Ein IFS-Code ist eine Tabelle, in der die Koeffizienten (a,b,c,d,e,f) für jede Funktion stehen. Dadurch ist die Transformation vollständig beschrieben. Außerdem stehen noch die Wahrscheinlichkeiten, mit der jeder dieser Funktionen aufgerufen wird, dabei.
Funktion | a | b | c | d | e | f | Wahrscheinlichkeit |
---|---|---|---|---|---|---|---|
$f_1(x,y)$ | 0 | 0 | 0 | 0.16 | 0 | 0 | 0.01 |
$f_2(x,y)$ | 0.85 | 0.04 | -0.04 | 0.85 | 0 | 1.6 | 0.85 |
$f_3(x,y)$ | 0.2 | -0.26 | 0.23 | 0.11 | 0 | 1.6 | 0.07 |
$f_4(x,y)$ | -0.15 | 0.28 | 0.26 | 0.24 | 0 | 0.44 | 0.07 |
IFS-Code: 1 |
In der Praxis benötigt man viele 10.000 Punkte. Wir hören hier nach drei Iterationen auf.
Das Beispiel bezieht sich auf die Tabelle: IFS-Code 1.
Die Punkte $P_1$, $P_2$,$P_3$ werden gezeichnet.
Funktion | a | b | c | d | e | f | Wahrscheinlichkeit |
---|---|---|---|---|---|---|---|
$f_1(x,y)$ | 0.14 | 0.01 | 0 | 0.51 | -0.08 | -1.31 | 0.1 |
$f_2(x,y)$ | 0.43 | 0.52 | -0.45 | 0.5 | 1.49 | -0.75 | 0.35 |
$f_3(x,y)$ | 0.45 | -0.49 | 0.47 | 0.47 | -1.62 | -0.74 | 0.35 |
$f_4(x,y)$ | 0.49 | 0 | 0 | 0.51 | 0.02 | 1.62 | 0.2 |
IFS-Code: 2 |
Funktion | a | b | c | d | e | f | Wahrscheinlichkeit |
---|---|---|---|---|---|---|---|
$f_1(x,y)$ | -0.04 | 0 | -0.23 | -0.65 | -0.08 | 0.26 | 0.15 |
$f_2(x,y)$ | 0.61 | 0 | 0 | 0.31 | 0.07 | 3.5 | 0.22 |
$f_3(x,y)$ | 0.65 | 0.18 | -0.3 | 0.48 | 0.74 | 0.39 | 0.15 |
$f_4(x,y)$ | 0.64 | -0.2 | 0.32 | 0.56 | -0.66 | 0.9 | 0.48 |
IFS-Code: 3 |
Funktion | a | b | c | d | e | f | Wahrscheinlichkeit |
---|---|---|---|---|---|---|---|
$f_1(x,y)$ | 0.05 | 0 | 0 | 0.6 | 0 | 0 | 0.028 |
$f_2(x,y)$ | 0.05 | 0 | 0 | -0.5 | 0 | 1 | 0.023256 |
$f_3(x,y)$ | 0.459627 | -0.321394 | 0.385673 | 0.383022 | 0 | 0.6 | 0.279070 |
$f_4(x,y)$ | 0.469846 | -0.153909 | 0.171010 | 0.422862 | 0 | 1.1 | 0.209302 |
$f_5(x,y)$ | 0.433013 | 0.275000 | -0.250000 | 0.476314 | 0 | 1.0 | 0.255814 |
$f_6(x,y)$ | 0.421325 | 0.257115 | -0.353533 | 0.306418 | 0 | 0.7 | 0.204651 |
IFS-Code: 4 |
Funktion | a | b | c | d | e | f | Wahrscheinlichkeit |
---|---|---|---|---|---|---|---|
$f_1(x,y)$ | 0.05 | 0 | 0 | 0.6 | 0 | 0 | 1/6 |
$f_2(x,y)$ | 0.05 | 0 | 0 | -0.5 | 0 | 1 | 1/6 |
$f_3(x,y)$ | 0.459677 | -0.321343 | 0.385612 | 0.383065 | 0 | 0.6 | 1/6 |
$f_4(x,y)$ | 0.469858 | -0.153966 | 0.170979 | 0.422841 | 0 | 1.1 | 1/6 |
$f_5(x,y)$ | 0.432912 | 0.275191 | -0.250174 | 0.476204 | 0 | 0.1 | 1/6 |
$f_6(x,y)$ | 0.421371 | 0.257075 | -0.353478 | 0.306452 | 0 | 0.7 | 1/6 |
IFS-Code: 5 |
Funktion | a | b | c | d | e | f | Wahrscheinlichkeit |
---|---|---|---|---|---|---|---|
$f_1(x,y)$ | 0.05 | 0 | 0 | 0.4 | -0.06 | -0.47 | 0.026000 |
$f_2(x,y)$ | -0.05 | 0 | 0 | -0.4 | -0.06 | -0.47 | 0.026399 |
$f_3(x,y)$ | 0.03 | -0.14 | 0 | 0.26 | -0.16 | -0.01 | 0.010296 |
$f_4(x,y)$ | -0.03 | 0.14 | 0 | -0.26 | -0.16 | -0.01 | 0.010296 |
$f_5(x,y)$ | 0.56 | 0.44 | -0.37 | 0.51 | 0.3 | 0.15 | 0.591869 |
$f_6(x,y)$ | 0.19 | 0.07 | -0.01 | 0.15 | -0.2 | 0.28 | 0.038543 |
$f_7(x,y)$ | -0.33 | -0.34 | -0.33 | 0.34 | -0.54 | 0.39 | 0.296597 |
IFS-Code: 6 |