Chaos Game: IFS mit Color Stealing



Wer ansprechende Bilder erzeugen will, benötigt eine (nicht-chaotische) Farbgebung. Wir haben das in vielen Kapiteln bereits umfassend erklärt. Ein Measure-Attraktor erlaubt dies auf einfache Weise: wenn wir beispielsweise die Trefferdichte bei der Iteration kennen, können wir diese farblich codieren. Leider ist die Erzeugung eines passenden Farbverlaufs nicht ganz einfach. Wie groß soll er werden? Bei welchen Farbzuordnungen bekommt man den größten Kontrast?

Eine ganz andere Idee hatte Michael Barnsley. Farbgeber ist ein Bild mit der gleichen Dimension, wie das zu erstellende Attraktorbild. Angenommen, der Attraktor entsteht durch Anwendung eines IFS, das aus n affinen Funktionen besteht, wobei jede mit einer bestimmten Wahrscheinlichkeit gewählt wird. Wir nennen dieses IFS IFSGeo. Nun wählt man ein zweites IFS, genannt IFSColor, mit der gleichen Anzahl n affiner Funktionen. Eine eigene Wahrscheinlichkeit für die Verwendung einer affinen Funktion benötigt man hier nicht, da die Wahl der Funktion in IFSColor durch die Wahl in IFSGeo bestimmt wird.
Wie genau wird dann die Farbe für ein Pixel ausgewählt? Nehmen wir an, dass in IFSGeo das Ergebnis der aktuellen Iteration der Punk P(x,y) sei. IFSColor landet gleichzeitig auf Punkt Q(X,Y). Die Farbe für das Pixel (x,y) bekommt dann die Farbe des Bildes bei (X,Y).
Es gibt also zwei Dinge zu bestimmen: das Vorlagebild und IFSColor. Letzteres bestimmt den Ausschnitt des Vorlagebildes.
Es werden folgende Vorlagebilder für Color Stealing verwendet:

Die meisten Bilder sind hier auf der Homepage zu finden. Sie sind hauptsächlich aus den Kapiteln
Fraktale und Attraktore entnommen. Weiter wurden sechs eigene Fotografien verwendet. Die Van Gogh Bilder sind Fotografien von Postern.
Man erstellt also keinen Farbverlauf. Stattdessen sucht man ein Vorlagebild, das vielversprechende Farben enthält. Dennoch wird der Sketch so gestaltet werden, dass man per Tastendruck das zu verwendete Bild wechseln kann. Das ist sinnvoll, denn man kann nicht zuvor abschätzen, welche Wirkung Color Stealing (CS) auf die Farbgebung des Attraktors hat. Um mit der Dichtemethode vergleichen zu können, verwenden wir hier vier IFS aus den letzten beiden Kapiteln.

Color Stealing beim Blatt IFS


Das folgende Bild wurde mit dem Sketch CS_IFS_Blatt und der Bildvorlage bild11.jpg erstellt.


Wichtige Klarstellung: hier, wie in den folgenden Fällen geht es eher darum, ästhetische als naturalistische Bilder zu erzeugen.
Wir nennen die nach dem Zufallsprinzip erzeugte Versionen IFSGeoZ und IFSColorZ.
Um nicht durch Divergenz zu viele unbrauchbare Beipiele zu bekommen, sollen sich die neuen Parameter betragsmäßig nicht um mehr als 0.5 von den alten Parametern unterscheiden.
Es gibt also vier Kombinationen, die wir durch je einen Tastendruck auswählen können. Erkennen Sie, welche Vorlagebilder jeweils benutzt wurden?



Auch das folgende Bild ist eine Variation von CS_IFS_Blatt, wir nennen es IFS CS_IFS_Pflanze. Da wir uns im nächsten Abschnitt genau mit diesem IFS beschäftigen werden, hier die zugehörigen Parameter:


a[1]=0.19600444 b[1]=0.135540651 c[1]=0.05194523 d[1]=0.38700208
a[2]=0.22800389 b[2]0.35767037 c[2]=−0.28066716 d[2]=0.5522661
a[3]=0.2556479 b[3]=−0.6835396 c[3]=0.5610076 d[3]=0.4757266
a[4]=0.33935666 b[4]=−0.0028287172 c[4]=−0.07042682 d[4]=0.63825965

e[1]=−0.113843545 f[1]=−1.5125301 wkt[1]=0.25
e[2]=1.4091645 f[2]=−0.6143913 wkt[2]=0.25
e[3]=−1.5166401 f[3]=−0.6511596 wkt[3]=0.25
e[4]=0.26550332 f[4]=1.4701304 wkt[4]=0.25



IFSColor


Die Farben des Fraktals orientieren sich am Vorlagebild. Aber nicht an allen Farben des Bildes. Die Folgeelemente von IFSColor sind Bildpunkte des Vorlagebildes, die zur Farbgebung eingesetzt werden. Nicht getroffene Punkte tragen nichts zu Farbgebung bei. Welche Punkte des Vorlagebildes werden genutzt, welche nicht? Um das beantworten zu können, muss man den Ausschnitt, den IFSColor bestimmt, genauer ansehen. Denn es ist unmöglich, die Wirkung des Vorlagebildes abzuschätzen, solange wir nicht wissen, welche Pixel dort getroffen werden. Ein neuer Sketch namens IFSColor4 soll uns eine bessere Einschätzung ermöglichen.

IFSColor4 wird uns den Ausschnitt des Vorlagebildes bei diesen Parametern anzeigen. (Die Ziffer 4 im Namen soll darauf hinweisen, dass vier affine Funktionen beteiligt sind. Will man den Sketch auch für andere IFS mit vier Funktionen verwenden, so müssen die Wahrscheinlichkeiten eventuell angepasst werden.) Startet man das Programm, dann wird grob die Hälfte es Bildes bedeckt. Stellen Sie sich die farbigen Punkte allesamt durchsichtig vor (weißer Bereich Bild unten links). Legt man diese "Maske" auf das Vorlagebild (unten Mitte), so sieht man nur noch einen Teil davon (unten rechts). Und nur dieser Ausschnitt wird für die Farbgebung des Blatt-Fraktals herangezogen.


Danach ändern wir die Parameter von IFSColor zufällig, wobei sich die neuen Parameter betragsmäß um nicht mehr als 0.5 von den alten Parametern unterscheiden sollen. So kann man Diverenz meistens vermeiden. Varianten davon erhalten wir mit Hilfe von Taste b im zugehörigen Sketch. Und so kann das Ergebnis aussehen:


Was für ein Unterschied! Bleibt die Frage: Wie ändern sich die Blatt-Fraktale, wenn man die beiden verschiedenen IFSColor verwendet? Die Antwort als Bild:


Gleiches Vorlagebild aber zwei farblich völlig verschiedene Blatt-Frakale.

Color Stealing beim Farn IFS


Falls Sie IFSColor hier ebenfalls anwenden wollen, müssen Sie dort die Wahrscheinlichkeiten anpassen. Das folgende Bild wurde mit dem Sketch CS_IFS_Farn und der Bildvorlage bild05 erstellt.
Die nachfolgend abgebildeten Chaos-Farn Abbildungen wurden mit immer neuen Vorlagebildern und zufällig veränderten Parametern berechnet. Meist benötigt man etwa 100 Millionen Iterationen, was auf einem nicht zu altem Computer aber nur einige Sekunden dauert.



Eine gewisse Ähnlichkeit zum Farn-Fraktal kommt immer mal wieder vor. Das sind die Fälle, in denen sich die Parameter nicht so stark von den Farn-Parametern unterscheiden. Und dann wieder bekommt man Ergebnisse, wie im Bild unten, bei denen man auch bei bestem Willen keine Farn-Strukturen erkennen kann.



Color Stealing bei der Spiral IFS


Wenn man hier IFSGeoZ erzeugen will und dabei zulässt, dass die Abweichung von den ursprünglichen Parametern betragsmäßig 0.5 sein darf, dann bekommt man durch Divergenz viele Fehlschläge. Dennoch lohnt es sich hier geduldig zu sein, weil die besonderen "Fundstücke" nur so zu finden sind. Das erste Bild zeigt die Spirale mit den unveränderten Parametern.


Im Folgenden einige Ergebnisse (in vierer Gruppen zusammengefasst) mit zufällig veränderten Parametern:





Hier ein Beispiel, mit wenig veränderten Geo-Parametern der Spirale:



Color Stealing beim Drachen IFS


Im Vergleich zum Drachen mit Farbverlauf und Dichtefärbung, hat man hier zusammenhängende Bereiche mit gleicher oder ähnlicher Färbung. Zwar ändern sich, abhängig vom gewählten Vorlagebild, die Farben und die Farbvielfalt, die zusammenhängenden Bereiche bleiben jedoch erhalten.

Bei diesem letzten Beispiel untersuchen wir die Änderung der Farbgebung zunächst durch verschiedene Vorlagebilder, um dann die Änderung durch verschiedene IFSColorZ (Taste c) zu vergleichen. IFSGeoZ, also der zufälligen Anderung der Parameter für den Drachen, ist im Folgenden immer gleich, und zwar:

a[1]=0.47828478 b[1]=0.33862093 c[1]=−0.27940762 d[1]=0.86121565
a[2]=0.2820719 b[2]=0.8041424 c[2]=−0.27940762 d[2]=−0.038093686

e[1]=−1.854855 f[1]=0.3747614 wkt[1]=0.8
e[2]=1.0686244 f[2]=7.9480286 wkt[2]=0.2



Bei immer genau diesen Parametern für die Geometrie suchen wir uns 8 verschiedene Vorlagebilder aus. Auch IFSColor lassen wir in allen Fällen unverändert. Die Parameter entnehmen Sie dem Sketch.
Dies sind die Ergebnisse:





Können Sie erkennen, welche Vorlagebilder verwendet wurden? Von links nach rechts und von oben nach unten:
bild1, bild2, bild3, bild4, bild5, bild26, bild27, bild28.

Die zweite Möglichkeit, auf die Farbgebung Einfluss zu nehmen, ist die zufällige Änderung der IFSColor bei gleichem Vorlagebild mihilfe von Taste c. Vier Beispiele:



Der Vergleich zeigt, dass die Ergebnisse sich hier weniger unterscheiden, als bei der Verwendung sehr verschiedener Vorlagebilder.





Sketch CS_IFS_Blatt                 Sketch CS_IFS_Pflanze

Sketch IFSColor4                      Sketch CS_IFS_Farn

Sketch CS_IFS_Spirale            Sketch CS_IFS_Drache




Menu