AA_Dance_SvenGeier_www-sgeier-net.jpg

© Sven Geier,

Fragile Schönheit

Außergewöhnliche Fraktale erzeugen mit Fr0st und Flam3

15.04.2013
Sphärisch schöne Fraktale erzeugen Sie mit dem Algorithmus Flam3. Die GUI Fr0st hilft, die komplexe Software zu meistern.

In den frühen 1990er Jahren entwickelte der Computerkünstler Scott Draves [1] einen fraktalen Algorithmus, den er Flame taufte. Die aktuelle Version ist unter dem Namen Flam3 bekannt. Auf das Aussehen der damit produzierten Grafiken nehmen Sie über Hunderten von Parametern Einfluss – selbst für mathematisch interessierte Laien ist das kaum zu durchschauen [2].

Die grafische Oberfläche Fractal Fr0st [3] versteckt die Komplexität von Flam3 etwas, zaubert aber trotzdem faszinierende Ergebnisse. Bei dem kurz Fr0st genannten Tool handelt es sich um eine Kombination aus Python-Skript und binären Programmen (siehe Kasten "Installation").

Installation

Da die Software nicht in den Repositories der gängigen Distributionen liegt, gilt es sie von Hand einzurichten. Unter Ubuntu 12.04 und 12.10 klappt das Setup besonders einfach. Laden Sie dazu zunächst die Quelltext-Archive aus dem Netz [4] oder von der Heft-DVD und entpacken Sie sie mit dem Befehl tar xf fr0st-1.4-src.tgz in ein beliebiges Verzeichnis. Dabei entsteht der Ordner fr0st-1.4-src/, in den Sie anschließend wechseln.

Hier führen Sie mit Root-Rechten das Skript install-dependencies.sh aus, das im Idealfall beim Ablaufen nur Informationen beziehungsweise einfache Warnungen des Compilers ausgibt. Es entstehen unter anderem die vier Programmdateien flam3-animate, flam3-genode, flam3-render und flam3-convert, die Sie bei Bedarf direkt aufrufen. Beispiele dazu liefert die Textdatei flam3-2.8-src/README.txt. Die Installation der Dateien im System erfordert die Eingabe des Passworts.

Bei anderen Distributionen können Sie nicht auf das Skript zurückzugreifen, sondern müssen die Installation komplett selbst erledigen. Sofern Sie die Entwicklungspakete für Libz, Libpng, Libjpeg und Libxml2 installiert haben, genügt dazu der typische Dreisatz (Listing 1, Zeile 5). Treten dabei Probleme auf, erzeugen die Konfigurationsdateien neu (Zeile 1 bis 4). Anschließend wiederholen Sie den Dreisatz.

Nun testen Sie die Installation kurz mithilfe eines Aufrufs von flam3-render (Zeile 6). Klappt alles, starten Sie Fr0st als normaler Anwender im Terminal mit dem Befehl aus Zeile 7.

Listing 1

$ libtoolize
$ aclocal
$ automake
$ autoconf
$ ./configure && make && sudo make install
$ flam3-render < test.flam3
$ python /usr/local/src/fr0st-1.4-src/fr0st.py

Fractal Fr0st

Die Oberfläche erlaubt zum einen den einfachen Zugriff auf alle Funktionen von Flam3 und bietet zum anderen eine Vorschau sowie viele Möglichkeiten, das Ergebnis zu optimieren.

Als Dreh- und Angelpunkt für die Arbeit fungiert das Fractal Fr0st benannte Fenster (Abbildung 3). Es fasst im Wesentlichen neben der Vorschau (oben rechts) vier Dialoge zusammen: den Transform Editor für grobe Voreinstellungen, den Gradient Editor für Farbeinstellungen, den Adjust-Editor für feine Anpassungen und Voreinstellungen und Anim zum Erstellen von Animationen.

Abbildung 1: Das Steuerfenster von Fr0st mit dem als Transform Editor bezeichneten Dialog für die wesentlichen Einstellungen. Die interaktive Vorschau erlaubt das Verschieben des fraktalen Gebildes mit der Maus.

Zum Erstellen von Flammen stellen Sie zunächst ganz links unter samples.flames den gewünschten Typ der Flammen ein. Über linear erzeugen Sie die klassischen Flammen, mit Julia die von Mandelbrot-Generatoren bekannten auf Julia-Mengen basierenden Varianten. Mit heard steht noch eine spezielle Spielart bereit, die sich durch weit geschwungene, oft herzförmig verschlungene Formen auszeichnet.

Von dem in der Vorschau angezeigten Bild aus beginnen Sie mit dem Entwurf Ihres Werks. Verschieben Sie dazu die im Transform Editor angezeigten Dreiecke und beobachten Sie dabei die Vorschau. Sie können dabei auch nur einzelne Ecken oder Kanten eines Dreiecks bewegen. Jede diese Aktionen hat normalerweise deutlich sichtbare Auswirkungen auf das Ergebnis. Lassen Sie sich überraschen, was schon ganz geringe Veränderungen alles bewirken.

Das Ganze funktioniert folgendermaßen: Fr0st fasst mehrere Flame-Parameter zu Dreiecken zusammen, die wiederum eine Ebene repräsentieren. Die kleinen, in der Farbe des Dreiecks angedeuteten Punkte im Hauptfenster symbolisieren diese Ebene. Eine Ecke des Dreiecks fungiert dabei als Ursprung ("0"), eine als X-Koordinate und die dritte als Y-Koordinate.

Am Ursprung verschieben Sie das gesamte Dreieck, an den anderen Punkten nur jeweils eine Komponente. Das fraktale Gebilde entsteht durch virtuelle Schnitte zwischen Ebenen, andere Faktoren spielen aber eine ebenso wichtige Rolle. So hat die Lage des Ursprungs der Dreiecke einen ebenso großen Einfluss auf das Ergebnis, wie die Seitenlängen der Dreiecke.

Punktwolken

Normalerweise zeigt Fr0st drei Dreiecke, die das Gebilde definieren. Die Form der Dreiecke spielt genauso eine Rolle wie ihre absolute und relative Lage (zueinander). Große Dreiecke erzeugen weite, offene Formen; kleine Dreiecke führen zu eher kompakten Ergebnissen. Eng benachbarte sowie sich überlagernde oder einander einschließende Dreiecke generieren dichte Punktwolken. Weit voneinander entfernte Elemente beeinflussen einander nur wenig. Da die Lage der Dreiecke für die Lage einer Ebene steht, wirken flache Dreiecke wie schräg angeschnittene Ebenen, was zum Strecken der Strukturen führt.

Weniger offensichtlich sind weitere Möglichkeiten: Mit einem Klick auf die XY-Kante der Dreiecke ändern Sie deren Größe, ohne die Lage zu beeinflussen. Sofern Sie nicht den Nullpunkt anklicken möchten, verschieben die Form über einen Klick ins Dreieck. Indem Sie auf die kleinen, L-förmigen Anfasser der Ebenen (außerhalb des Dreiecks) oder die X- beziehungsweise Y0-Kante klicken, drehen Sie das Gebilde.

Für einfache Spielereien genügt diese Methode vollkommen. Anders sieht die Sache aus, wenn Sie mithilfe gezielter Manipulationen ein bestimmtes Bild generieren möchten. Die Algorithmen – egal, ob linear, julia oder heard – lassen sich intuitiv nur schwer erfassen. Daher erfordert es viel Übung, präzise und vorhersagbare Ergebnisse zu produzieren.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

title_2014_10

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...