Fraktale erstellen mit Apophysis

Veröffentlicht am 28. April 2010

Fraktale

In diesem Artikel soll es um das Fraktal-Entwurfsprogramm Apophysis gehen.

Unter einem Fraktal versteht man eine Grafik, die (fast) ausschließlich über einen mathematischen Algorithmus definiert und erzeugt wird. Üblicherweise sind solche Fraktale in hohem Maß regelmäßig und weisen auch typischerweise viele “selbstähnliche” Elemente auf.

Eines der bekannteste Beispiele für fraktale Grafiken ist das sog. Sierpinski-Dreieck, eine Grafik die durch die Vorschrift entsteht, dass man aus einem Dreieck die Mitte entfernt, dann aus den neu entstehenden Dreiecken wiederum die Mitte, usw.
(Interessant ist vielleicht, dass das Sierpinski-Dreieck im Grenzwert für unendlich viele Schritte den Flächeninhalt 0 hat)

Sierpinski-Dreieck Sierpinski-Dreieck

Da solche Berechnungsvorschriften aus unendlich vielen Schritten bestehen, lassen sich Fraktale im Allgemeinen beliebig detailgenau rendern (durch höhere Detailstufen erhöht sich natürlich auch die benötigte Rechenleistung).

An dieser Stelle kommt überhaupt das Programm Apophysis in’s Spiel.

Wie lässt sich ein Fraktal konstruieren?

Im Jahr 1992 wurde der “Grundstein” der Fraktalkonstruktion mit Programmen wie Apophysis gelegt: es entstand der Algorithmus “Fractal Flame” für das heutige Programm flam3, welches in der Lage ist, aus Textdateien in einem bestimmten Format (sog. “Flames”) ein fraktales Bild zu rendern.

Diese “Flames” enthalten grob gesagt alle Informationen, die für das zu berechnende Fraktal von Bedeutung sind:

  • Größe, Position und Art der Transformationen (entscheidend für die mathematische Berechnungsvorschrift)
  • verwendete Farben (Palette)
  • Position und Einstellung der Kamera
  • Format, Größe und Qualität des Ausgabebildes

Das Ausschlaggebende für das Aussehen des Fraktals sind - wie oben beschrieben - die “Transformationen”: sie bestimmen das mathematische Modell hinter den Einzelteilen des Fraktals.

Apophysis, der Fraktaleditor

Das Programm Apophysis setzt gewissermaßen dort an, wo der Renderer flam3 endet:

Apophysis ist ein WYSIWYG-Editor für “Flames”.

Apophysis Hauptfenster Apophysis Hauptfenster

Eine durchaus interessante Funktion von Apophysis dürfte zusätzlich die “Random Batch”-Funktion des Programmes sein: hier erstellt Apophysis automatisch eine ganze Reihe an zufälligen Flames, die zur Auswahl angezeigt werden.
In obigem Screenshot des Hauptfensters ist die Funktion in der linken Seitenleiste zu sehen: die angezeigten Vorschaubildern gehören zu zufälligen Flames.
Es kommen zwar sehr viele häßliche Flames bei dieser Funktion heraus, aber ab und zu ist auch mal etwas sehr schönes dabei - vor allem als Anfänger hat man dann zumindest einen Anhaltspunkt, was möglich ist.

Arbeiten mit Transformationen

Für fortgeschrittene (oder neugierige) Benutzer ist der Transformationseditor der wichtigste Teil des Fraktalentwurfs.

Apophysis Transformationseditor Apophysis Transformationseditor

Die Transformationen steuern die Art und das Aussehen des Fraktals.
Eine Transformation in Apophysis ist dargestellt als Dreieck (siehe Screenshot) und beschreibt - grob gesagt - den Übergang von einem Schritt der Berechnung zum Nächsten.
Pro Schritt wird das Referenzdreieck (grau) auf alle farbigen Dreiecke abgebildet. Im nächsten Schritt wird wiederum jedes der entstandene Dreiecke als Referenzdreieck genommen und auf alle Dreiecke abgebildet usw.

Leichte Formen (wie das Sierpinski-Dreieck) lassen sich also sehr leicht konstruieren, in dem hier das Referenzdreieck auf 3 kleine Dreieck in dessen Ecken abgebildet wird.
Man erreicht alleine mit dieser Methode eine wahre Vielfalt an Mustern. Indem man den Transformationen noch eine Farbverschiebung zuweist, erhält man sehr schnell ein buntes Fraktal (siehe mein Beispiel vom Sierpinski-Dreieck).
Solche “einfachen” Muster erhält man auch recht gut per Random-Funktion.

Variationen

Und als wären die bisher gegebenen Möglichkeiten noch nicht genug, lassen sich für die Transformationen auch verschiedene “Variationen” einstellen.
Die Art der Variation beschreibt, wie ein Pixel des Referenzdreiecks auf die Transformationsdreiecke abgebildet wird.
Es gibt ca. 40 Variationstypen, die sich per Plugins auch noch ergänzen lassen.
Jede Transformation kann beliebig viele Variationen zu beliebigen Graden enthalten - die Effekte werden kombiniert.

Standardmäßig haben Transformationen nur die “Linear”-Variation mit dem Grad 1.0 eingestellt. Dadurch lassen sich Verschiebungen, Drehungen und Streckungen realisieren.
Andere Variationen haben wiederum andere Effekte: “blur” lässt die Form verschwimmen, “spherical” transformiert die Ebene auf eine kugelähnliche Form, “swirl” erzeugt kreisförmige Welleneffekte, usw.

Hier sieht man ein Beispiel für ein Fraktal, das hauptsächlich mit der Variation “julia” (kommt von “Julia-Menge”) erzeugt wurde:

Ausblick

Dies sollte nur eine kurze Vorstellung von Fraktalen bzw. des Entwurfsprogrammes Apophysis sein - die Komposition der verschiedene Variationen und Transformationen ist durchaus eine schwierige und umständliche Disziplin.

Es gibt aber im Netz viele Künstler, die erstaunliches mit der Software zustandebringen - es gibt beispielsweise auf DeviantArt eine Gruppe, die sich ausschließlich mit Apophysis beschäftigt: http://apophysis.deviantart.com

Zum Schluss möchte ich noch ein paar weiterführende Informationsquellen nennen und ein paar meiner eigenen Fraktale vorstellen.

Kategorie: Grafik