Home / LinuxUser / 2013 / 05 / Außergewöhnliche Fraktale erzeugen mit Fr0st und Flam3

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

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

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.

Tip a friend    Druckansicht Bookmark and Share
Kommentare

1527 Hits
Wertung: 92 Punkte (3 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...