Benutzer-Werkzeuge

Webseiten-Werkzeuge


ifs_-_iterierte_funktionensysteme

IFS - Iterierte Funktionensysteme

Iterierte Funktionssysteme sind in der Lage, mit wenigen Regeln komplexe, natürlich aussehende Geometrien zu erzeugen.

Typen von Transformationen

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:

  • Translation (Verschiebung)
  • Rotation (Drehung)
  • Scherung
  • Spiegelung

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.

Iterierte Funktionensysteme - das Prinzip

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.

IFS-Code

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.

FunktionabcdefWahrscheinlichkeit
$f_1(x,y)$000 0.16000.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.260.2400.440.07
IFS-Code: 1

Beispiel

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.

  1. Anfangspunkt: $P_0(1 | 1)$ (zufällig gewählt)
  2. zufällig gewählte Funktion $f_2$ (ist mit 85% auch die am häufigsten benutzte)
  3. mit $f_2 (1,1)$ ergibt sich dann für $P_1 ( 0.89 | 2.41 )$
  4. gewählte Funktion wieder $f_2$
  5. mit $f_2( 0.89, 2.41 )$ ergibt sich dann für $P_2 ( -0.85 | 3.61 )$
  6. zufällig gewählte Funktion diesmal $f_3$
  7. mit $f_3 ( -0.85 , 3.61 )$ erhält man nun $P_3 ( -0.77 | 2.19 )$
  8. ….

Die Punkte $P_1$, $P_2$,$P_3$ werden gezeichnet.

Weitere IFS-Codes

IFS-Code: 2

FunktionabcdefWahrscheinlichkeit
$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

IFS-Code: 3

FunktionabcdefWahrscheinlichkeit
$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

IFS-Code: 4

FunktionabcdefWahrscheinlichkeit
$f_1(x,y)$0.05 0 0 0.6 0 0 0.028
$f_2(x,y)$0.050 0 -0.5 0 1 0.023256
$f_3(x,y)$0.459627 -0.321394 0.385673 0.38302200.6 0.279070
$f_4(x,y)$0.469846 -0.153909 0.1710100.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

IFS-Code: 5

FunktionabcdefWahrscheinlichkeit
$f_1(x,y)$0.05000.600 1/6
$f_2(x,y)$0.0500 -0.50 1 1/6
$f_3(x,y)$0.459677 -0.321343 0.3856120.3830650 0.6 1/6
$f_4(x,y)$0.469858-0.153966 0.170979 0.422841 0 1.11/6
$f_5(x,y)$0.432912 0.275191 -0.250174 0.476204 0 0.11/6
$f_6(x,y)$0.421371 0.257075 -0.353478 0.306452 0 0.71/6
IFS-Code: 5

IFS-Code: 6

FunktionabcdefWahrscheinlichkeit
$f_1(x,y)$0.0500 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
ifs_-_iterierte_funktionensysteme.txt · Zuletzt geändert: 2024/01/20 18:41 von torsten.roehl