Klicken Sie auf den "Zeichnen"-Knopf, und eine Mandelbrot-Menge wird
gezeichnet. Das Bild erscheint außerdem verkleinert in der Bilderliste
auf der rechten Seite:

Abb. A3: Bild in der Bilderliste
|
6. Zoomen in die
Mandelbrot-Menge
Drücken Sie den "Zoomen"-Knopf in der Werkzeugleiste. Ein Zoom-Rechteck
erscheint, das man mit der Maus oder den Cursor-Tasten verschieben
kann. Seine Größe ist mit dem Mausrad oder der "+"- und "-"-Taste
veränderbar. Stellen Sie die Größe so ein, daß das Rechteck etwas
kleiner ist als das Grafik-Fenster, plazieren Sie es ungefähr in der
Mitte des Fensters und drücken Sie die linke Maustaste oder die
Return-Taste.
Abb. A4: Zoom in die Mandelbrot-Menge
Die Mandelbrot-Menge wird neu berechnet. Wiederholen Sie diesen Vorgang
mehrmals; jedes neue Bild erscheint in der Bilderliste. Achten Sie
darauf,
daß der "Neu"-Knopf aktiviert bleibt (andernfalls würde das aktuelle
Bild durch das neue ersetzt werden, statt ein neues erzeugt). Den
Zoom-Modus kann man verlassen, indem man den "Zoomen"-Knopf erneut
betätigt oder die rechte Maustaste drückt.
7. Abspielen des Clips

Abb. A5:
Abspielen eines Clips
|
Sobald ein paar Bilder in der Liste sind, drücken Sie den "Start"-Knopf
in der Bilderleiste. Alle Bilder, die Sie bisher gezeichnet haben,
werden im aktuellen Fenster abgespielt.
Aktivieren sie die "endlos"-Checkbox und spielen Sie den Clip erneut
ab. Jetzt wird er endlos vor und zurück abgespielt.
Aktivieren Sie zusätzlich die "zyklisch"-Checkbox, und der Clip wird
zyklisch abgespielt, nach dem letzten Bild folgt also wieder das erste
oder umgekehrt. Die Wiedergabe kann man jederzeit unterbrechen, indem
man auf den "Stopp"-Knopf drückt.
Geben Sie "1000" in das "Wartezeit"-Feld ein und spielen Sie den Clip
erneut ab. Jetzt wird zwischen jedem Bild eine Pause von einer Sekunde
eingelegt.
|
8. Zeichnen von Julia-Mengen durch Picken von
c-Werten
Wählen Sie den Menüpunkt "Datei/Neues Julia-Bild" und drücken Sie
erneut den "Zeichnen"-Knopf (vgl.
Abb. A1).
Plazieren Sie die beiden Fenster nebeneinander und aktivieren Sie das
Mandelbrot-Fenster, indem Sie seine Titelzeile anklicken. Drücken Sie
auf
den "Picken"-Knopf in der Werkzeugleiste, bewegen Sie die Maus ins
Mandelbrot-Fenster und drücken Sie irgendwo die linke Maustaste.
Dadurch wählt man den komplexen Wert unter dem Mauszeiger aus, und eine
neue Julia-Menge auf Basis dieses Wertes wird berechnet. Wiederholen
Sie das mehrmals.

Abb. A6: Zeichnen von Julia-Mengen durch Picken von c-Werten
Man sieht, daß die Gestalt einer Julia-Menge vom gewählten c-Wert
abhängt. Siehe
Kapitel C für Details.
9.
Entfernen aller Bilder und laden eines Clips

Abb. A7: Löschen der Bilderliste
|
Drücken Sie auf den "x-x"-Knopf
in der Bilderleiste. Dadurch werden alle Bilder aus der Bilderliste
und dem Speicher gelöscht.
Wählen Sie den Menüpunkt "Datei/Öffne Clip ..." aus. Ein
Datei-Auswahldialog erscheint. Navigieren Sie zu dem Ordner mit den
Beispielen (".../fcm/examples") und laden Sie den Clip "mandel1.clp".
Das Laden wird etwas dauern, da jedes Bild neu berechnet werden muß.
Drücken Sie dann den "Start"-Knopf, um den Clip abzuspielen, und den
"Stopp"-Knopf, um die Wiedergabe abzubrechen.
|
Abb. A8: Laden eines Clips
|
B. FCM im Detail
1. Das Hauptfenster
Abb. B1 zeigt FCMs Hauptfenster:
Man sieht eine übliche MDI-Applikation (Multi-Document-Interface,
Mehrfensteranwendung) mit einem Desktop und mehreren Fenstern darin,
einer Menüzeile, einer Werkzeugleiste, einer Statusleiste und auf der
rechten Seite eine Liste mit Bilder-Schaltflächen und einigen
Kontrollknöpfen. Diese Elemente und alle Dialogboxen werden in den
folgenden Abschnitten beschrieben.
2. Die Menüzeile
Die Menüzeile enthält alle in FCM verfügbaren Menüs.

Abb. B2: Die Menüzeile
a) Das Datei-Menü
Das Datei-Menü enthält alle Menüpunkte, die Dateien, Drucken und
Einstellungen betreffen, und erlaubt das Beenden des Programms, wobei
die Einstellungen gespeichert werden (im Unterschied zum Schließknopf
oben rechts in der Ecke des Hauptfensters).
Datei-Menü
|
Menüpunkt
|
Beschreibung
|

|
Neues
Mandelbrot-Bild
|
Öffnet
ein neues, leeres Fenster
zum Erzeugen einer Mandelbrot-Menge. |
Neues
Julia-Bild
|
Öffnet
ein neues, leeres Fenster
zum Erzeugen einer Julia-Menge. |
Öffne
Bild ...
|
Öffnet
einen Dateidialog zur
Auswahl eines fraktalen Bildes auf einem Massenspeicher.
In der Datei ist u. a. die Pixelgröße des Bildes abgelegt, die beim
Laden wiederhergestellt wird, wenn noch kein Fenster offen ist. Falls
ein leeres Fenster offen ist, kann man die Bildgröße aber auch an die
Fenstergröße anpassen lassen. (Dies funktioniert jedoch nur, wenn das
Bild nicht mit aktiviertem Menüpunkt "Speichern mit Farben-Array"
gespeichert wurde.)
|
Speichere
Bild |
Speichert
das Bild im aktuellen
Fenster auf einen Massenspeicher. Der Menüpunkt ist nur aktivierbar,
wenn das Bild bereits gespeichert wurde und daher einen Namen hat.
|
Speichere
Bild als ...
|
Speichert
das Bild im aktuellen
Fenster auf einen Massenspeicher. Ein Dateidialog wird zur Eingabe
eines Namens geöffnet.
|
Exportiere
Bild als ...
|
Speichert
das aktuelle Bild im
PNG-
(Portable Network Graphics), BMP- (Windows OS/2 Bitmap) oder JPG-
(Joint Photographic Experts Group) Format. Ein
Dateidialog wird zur Eingabe eines Namens geöffnet. Das Format hängt
von der gewählten Dateinamenserweiterung (".png", ".bmp" oder ".jpg")
ab.
|
Exportiere
ausgewählte Bilder
als ...
|
Macht
dasselbe wie Menüpunkt
"Exportiere Bild als ...", aber alle selektierten
Bilder in der Liste werden
gespeichert. Die Dateinamen werden automatisch mit einer Nummer
zwischen "0000" und "9999" verlängert. Wenn ihr Dateiname z. B.
"test0234.png" lautet, starten die Nummern mit "0234".
|
Exportiere
alle Bilder als ... |
Macht
dasselbe wie Menüpunkt
"Exportiere ausgewählte Bilder als ...", aber alle Bilder in der Liste werden
gespeichert.
|
Kodiere
exportierte Bilder als
Video ...
|
Öffnet
einen Dialog, um
exportierte Bilder in eine MPEG- oder AVI-Datei zu verwandeln. Siehe
Abschnitt B.11 für Einzelheiten.
|
Öffne
Clip ...
|
Öffnet
einen Dateidialog zur
Auswahl eines Clips auf einem Massenspeicher. Die Bilder werden in die
Bilderliste oberhalb des aktuellen Bildes eingefügt.
Für die Pixelgröße des Clips gilt dasselbe wie beim Öffnen eines
Bildes: Man kann die Größe an ein bereits offenes Fenster anpassen
lassen.
|
Öffne
Clip, aber exportiere jedes Bild als ...
|
Öffnet
einen ersten Dateidialog zur Auswahl eines Clips und dann einen
zweiten zur Eingabe des ersten Dateinamens zum Exportieren der Bilder.
Nach der Berechnung jedes Bildes wird es sofort exportiert und aus der
Bilderliste gleich wieder entfernt, um den Speicher freizubekommen. Der
Menüpunkt ist also eine Kombination aus "Öffne Clip ..." und
"Exportiere
alle Bilder als ...", aber ohne die Bilder in der Bilderliste zu
halten.
Zur Erläuterung siehe Abschnitt B.11.e).
|
Speichere
ausgewählte Bilder als
Clip ... |
Speichert
alle selektierten Bilder der
Bilderliste auf einen Massenspeicher. Ein Dateidialog wird zur Eingabe
eines Namens geöffnet. |
Speichere
alle Bilder als Clip ...
|
Macht
dasselbe wie Menüpunkt
"Speichere ausgewählte Bilder als Clip ...", aber alle Bilder in der Liste werden
gespeichert. |
Mit
Farben-Array speichern
|
Dies
ist ein "Toggle"-Menüpunkt
(Zustände ein und aus), der die Art beeinflußt, wie ein Bild
gespeichert
wird: Wenn er aktiviert ist, wird ein Bild mit seinem Farben-Array
gespeichert, wenn nicht, werden nur seine Parameter (Ränder,
Farbeinstellungen usw.) gesichert (s. auch Abschnitt B.12). Im zweiten Fall sind die
Dateien
viel kleiner, aber die Farben müssen neu berechnet werden, wenn man das
Bild wieder lädt. Wenn Ihr Computer langsam oder ein Bild sehr groß
ist, können Sie den Menüpunkt aktivieren.
Der Menüpunkt kontrolliert ebenfalls die Art der Speicherung bei Clips.
Beachten Sie, daß Clip-Dateien wirklich sehr groß werden, wenn er
aktiviert ist!
|
Seite
einrichten ...
|
Öffnet
den Konfigurationsdialog
Ihres Druckers.
|
Drucken ...
|
Öffnet
den Drucken-Dialog Ihres
Druckers.
|
Einstellungen ...
|
Öffnet
den
"Einstellungen"-Dialog. Er ist in Abschnitt B.7 beschrieben.
|
Starte
FCM neu
|
Startet
FCM neu. Dies ist nötig,
wenn Sie eine neue Sprach- oder Speichereinstellung gewählt haben.
|
Beenden
|
Beendet
das Programm und
speichert neben den "Einstellungen" u. a. auch Größe und Position des
Hauptfensters. Die Daten werden
nicht gespeichert, wenn man FCM mit dem Schließknopf rechts oben im
Fenster verläßt.
|
Tabelle B1: Datei-Menü
b)
Das Editieren-Menü
Das Editieren-Menü dient zur Manipulation der Bilderliste.
Einzelne oder mehrere Bilder aus der Liste kann man zusammen mit der
Strg- bzw. Umschalt-Taste auswählen wie Dateien im Windows-Explorer,
siehe den Abschnitt über die
Bilderliste.
Achtung: FCM kann derzeit noch nicht mit der System-Zwischenablage
umgehen, es ist also nicht möglich, mit Copy und Paste Bilder in andere
Programme zu übertragen.
Editieren-Menü
|
Menüpunkt
|
Beschreibung
|

|
Auswahl
ausschneiden
|
Entfernt
die selektierten Bilder
aus der Liste und kopiert sie in den Puffer.
|
Kopiere
Auswahl
|
Kopiert
die selektierten Bilder
in den Puffer.
|
Füge
kopierte Bilder ein
|
Fügt
die Bilder aus dem Puffer
oberhalb vom letzten selektierten Bild ein.
|
Füge
kopierte Bilder umgekehrt
ein
|
Fügt
die Bilder aus dem Puffer
oberhalb vom letzten selektierten Bild ein, kehrt allerdings die
Reihenfolge der Bilder um.
|
Lösche
Auswahl
|
Entfernt
die selektierten Bilder
aus der Liste.
|
Lösche
alles ...
|
Entfernt
alle Bilder aus der
Bilderliste und das Start- und Endbild für Animationen. (Letzteres tut
die Schaltfläche "x-x" nicht.)
|
Entferne
Schlüsselbildeigenschaft
|
Nach
dem Erzeugen einer
Animation sind die Bilder, zwischen denen Bilder berechnet wurden, sog.
Schlüsselbilder; sie sind in der Bilderliste durch eine rote Markierung
gekennzeichnet. Dieser Menüpunkt entfernt die Schlüsselbildeigenschaft
wieder.
|
Wähle
alle aus
|
Selektiert
alle Bilder aus der
Liste.
|
Wähle
kopierte Bilder aus
|
Selektiert
die Bilder, die sich
im Puffer befinden. Nützlich, um eine Auswahl wiederherzustellen.
|
Wähle
alle Schlüsselbilder aus
|
Selektiert
alle sog.
Schlüsselbilder, die beim Erzeugen einer Animation entstehen.
|
Kehre
Auswahl um
|
Selektiert
alle gerade nicht
selektierten Bilder und deselektiert alle gerade selektierten
Bilder.
|
Gehe
zu nächstem Bild
|
Selektiert
und aktiviert das
nächste Bild in der Liste. Alle anderen Bilder werden gleichzeitig
deselektiert.
|
Gehe
zu vorherigem Bild
|
Selektiert
und aktiviert das
vorherige Bild in der Liste. Alle anderen Bilder werden gleichzeitig
deselektiert. |
Gehe
zu nächstem ausgewählten
Bild
|
Aktiviert
das nächste
selektierte Bild in der Liste. Die Selektion bleibt dabei erhalten.
|
Gehe
zu vorherigem ausgewählten
Bild |
Aktiviert
das vorherige
selektierte Bild in der Liste. Die Selektion bleibt dabei erhalten. |
Gehe
zu nächstem Schlüsselbild
|
Aktiviert
das nächste
Schlüsselbild in der Liste. Die Selektion bleibt dabei erhalten. |
Gehe
zu vorherigem Schlüsselbild |
Aktiviert
das vorherige
Schlüsselbild in der Liste. Die Selektion bleibt dabei erhalten. |
Gehe
zu Bild ...
|
Es
erscheint eine Dialogbox zur
Eingabe einer Bildnummer. Beim Verlassen wird dieses Bild aktiviert und
(zusätzlich) selektiert. Eine vorhandene Selektion bleibt dabei
erhalten.
|
Tabelle B2: Das Editieren-Menü
c) Das Animationen-Menü
Das Animationen-Menü enthält alle Menüpunkte zur automatischen
Erzeugung von Animationen. Die Vorgehensweise ist so, daß man einige
Bilder (mindestens zwei) selektiert und mit Menüpunkt
"Parameter ..."
festlegt, aus wievielen Bildern der Übergang zwischen jedem Bilderpaar
bestehen soll. Dadurch werden die selektierten Bilder zu
"Schlüsselbildern" und in der Bilderliste mit einer roten Markierung
versehen. Anschließend werden die Übergangsbilder mit "Berechne
Animation" erzeugt.
Weitere Details sind in Abschnitt
B.10.
beschrieben.
Animationen-Menü
|
Menüpunkt |
Beschreibung |

|
Parameter ...
|
Öffnet den
Animationsparameterdialog. Er ist in Abschnitt B.10.
beschrieben. |
Bildrate anpassen ...
|
Falls man eine Animation in eine
AVI-Datei verwandeln möchte (siehe Abschnitt B.11.), muß man angeben, wieviele
Bilder pro Sekunde das Video haben soll. Wenn man die Bildrate ändern
möchte, ändert sich natürlich auch die Anzahl der Bilder zwischen zwei
Schlüsselbildern (sofern der zeitliche Abstand gleich bleiben soll).
Hier kann man die Bildrate aller selektierten Schlüsselbilder auf den
Wert ändern, der im Video-Erzeugungsdialog
eingestellt wurde.
Präziser formuliert, wird die Anzahl der Bilder zwischen den
selektierten Schlüsselbildern so neu berechnet, daß der zeitliche
Abstand zwischen ihnen konstant bleibt, aber die neue Bildrate beim
Erzeugen einer AVI-Datei verwendet werden kann.
|
Berechne
Animation
|
Berechnet zwischen allen
selektierten Bildern einen sanften Übergang. Genaueres in Abschnitt B.10.
|
Tabelle B3: Animationen-Menü
d) Das Hilfe-Menü
Das Hilfe-Menü erlaubt die Anzeige des Handbuchs und zeigt
Versions-Informationen.
Hilfe-Menü
|
Menüpunkt |
Beschreibung |

|
Inhalt
|
Öffnet das Handbuch in Ihrem
Web-Browser. Unter Windows wird die Registry ausgelesen, um Ihren
Browser zu finden, unter Linux wird Firefox benutzt. Dies kann im
Einstellungen-Dialog geändert werden, s. Abschnitt B.7. |
Über FCM
|
Öffnet einen Dialog mit
Versions-Informationen, der Lizenz und einigen System-Eigenschaften. |
3. Die Werkzeugleiste

Abb. B3: Die Werkzeugleiste
Die wichtigsten Funktionen von FCM lassen sich mit den Knöpfen der
Werkzeugleiste ausführen.
Schaltfläche
|
Beschreibung
|
Zeichnen
|
Zeichnet ein fraktales Bild mit
den aktuellen Einstellungen in das aktuelle Fenster. |
Zoomen
|
Öffnet ein Zoom-Rechteck, das
einen Ausschnitt im aktuellen Fenster markiert. Es gibt folgende
Kommandos:
- Mausbewegung oder Cursor-Tasten: Verschiebt den Ausschnitt.
- Mausrad oder "+"- und "-"-Taste: Verändert die Größe.
- Linke Maustaste oder Return: Auswählen und Zeichnen des
Ausschnitts.
- Mittlere Maustaste oder Taste "0": Setzt die Größe des
Ausschnitts auf dieselbe Größe wie das Fenster. Das kann man dazu
verwenden, die sichtbare Ebene zu verschieben.
- Rechte Maustaste oder ESC: Verläßt den Zoom-Modus.
|
Picken
|
Dieser Menüpunkt ist nur
aktivierbar, wenn mindestens ein Julia-Fenster mit einem Bild darin
offen ist. Ein Klick mit der linken Maustaste in ein Bild pickt den
komplexen Wert
unter dem Mauszeiger und zeichnet ein neues Julia-Bild, wobei der Wert
als "c"-Parameter verwendet wird. Wenn das aktive Fenster ein
Mandelbrot-Bild enthält, wird die Julia-Menge in das zuletzt aktive
Julia-Fenster gezeichnet. Die Kommandos sind im wesentlichen dieselben
wie beim Zoomen:
- Mausbewegung oder Cursor-Tasten: Verschieben des Cursors.
- Linke Maustaste oder Return: Auswählen des Wertes und
Neuzeichnen der Grafik.
- Rechte Maustaste oder ESC: Verlassen des Picken-Modus.
|
Daten
|
Öffnet den
Bild-Geometrie-Dialog. Er ist in Abschnitt B.8 beschrieben. |
Farben
|
Öffnet den Farben-Dialog. Er ist
in Abschnitt B.9
beschrieben. |
Tabelle B5: Werkzeugleiste
Der Zeichnen-Knopf blinkt, wenn
die eingestellten Grenzen (Dialog Bild-Geometrie) nicht mit den
dargestellten übereinstimmen.
4. Die Bilderliste
Abb. B4:
Die Bilderliste
|
Die Bilderliste enthält alle
Bilder, die sich im Speicher befinden. Man kann sie sich wie einen
Stapel vorstellen: Das älteste
Bild ist unten, neue Bilder werden oben daraufgelegt. Der
Bildanzeiger am unteren Ende zeigt, wie viele Bilder vorhanden sind und
welches davon gerade aktiv ist (im Beispiel links sind 18 Bilder
im Speicher und das 16. ist aktiviert).
Einzelne oder mehrere Bilder aus der Liste kann man auswählen wie
Dateien im Windows-Explorer (s. auch den Abschnitt über das Editieren-Menü):
- Ein einzelnes Bild wird durch Anklicken mit der Maus
ausgewählt.
- Ein weiteres Bild wird durch Anklicken mit der Maus
ausgewählt, wobei die Strg-Taste gedrückt gehalten werden muß.
- Mehrere Bilder werden durch Anklicken mit der Maus
ausgewählt, wobei die Umschalt-Taste gedrückt gehalten werden muß.
Solange die "Neu"-Schaltfläche gedrückt ist, wird beim Zeichnen ein
neues Bild erzeugt. Wenn das nicht der Fall ist, wird das aktuelle Bild
stattdessen beim Zeichnen durch das neue ersetzt.
Beim Erzeugen von Animationen entstehen sog. Schlüsselbilder. Diese
werden durch ein rotes Dreieck in der linken oberen Ecke des Bildes
gekennzeichnet.
|
5. Bild-Kontrollelemente
Mit den Bild-Kontrollelementen kann man durch die Bilderliste rollen,
die Bilder auf und ab bewegen und löschen. Außerdem kann man
die Bilder als Animation abspielen.
Elemente
|
Kontrollelement
|
Beschreibung
|

|
>
|
Das nächste Bild wird gezeigt.
(Die Shortcut-Taste ist "D".)
|
<
|
Das vorherige Bild wird gezeigt.
(Die Shortcut-Taste ist "C".) |
Auf
|
Die aktuelle Auswahl wird eine
Position nach oben bewegt.
|
Ab
|
Die aktuelle Auswahl wird eine
Position nach unten bewegt. |
x
|
Die aktuelle Auswahl wird
gelöscht.
|
x-x
|
Alle Bilder werden gelöscht.
|
Start
|
Die aktuelle Auswahl wird als
Animation abgespielt. Falls nur ein Bild ausgewählt ist, werden alle
Bilder abgespielt, beginnend mit dem aktuellen Bild.
Achtung: Da die Farben neu berechnet werden, wenn das Bild angezeigt
wird, und dieser Vorgang einige Zeit benötigt, sollten die Bilder nicht
zu groß sein, um eine akzeptable Bildrate zu erzielen.
|
Stopp |
Mit diesem Knopf kann man alle
länger dauernden Operationen unterbrechen. Z. B. das Abspielen eines
Clips, Laden eines Clips, Zeichnen eines Bildes.
|
zyklisch
|
Wenn diese Box
angeklickt ist, wird eine Animation zyklisch abgespielt, d. h. das
erste Bild wird nach dem letzten wieder gezeigt und umgekehrt. Die
Richtung hängt davon ab, in welche Richtung der Clip gerade abgespielt
wird, während man die Box anklickt.
|
endlos
|
Wenn diese Box aktiviert ist,
wird eine Animation endlos vor und zurück abgespielt. Ist zusätzlich
die "zyklisch"-Box angeklickt, ist die Wiedergabe stattdessen zyklisch.
|
Wartezeit/ms
|
Mit diesem Element kann man eine
Zeit vorgeben, die zwischen der Anzeige zweier Bilder verstreichen
soll. Für flüssige Animationen setzt man es auf 0; wenn man stattdessen
eine Diashow abspielen will, kann man es z. B. auf 2000 setzen, um zwei
Sekunden Pause zwischen jedem Bild einzufügen.
|
Tabelle B6: Bild-Kontrollelemente
6. Die Statusleiste
Die Statusleiste zeigt die wichtigsten Parameter eines Bildes. Die
linken vier Einträge enthalten die Grenzen des Bildes, also die
komplexen Zahlen für linken, rechten, oberen und unteren Bildrand. Weil
die Mandelbrot-Menge die c-Ebene zeigt, sind sie mit "crMin" usw.
bezeichnet; eine Julia-Menge zeigt die z-Ebene, daher heißen sie in
diesem Fall "zrMin" etc.

Abb. B5: Statusleiste (Mandelbrot-Menge)

Abb. B6: Statusleiste (Julia-Menge)
Weiter sieht man die Koordinaten des Mauszeigers und die Anzahl der
Iterationen, die nötig waren, um dieses Pixel zu berechnen. Diese Daten
werden in den rechten drei Feldern angezeigt.
Julia-Mengen zeigen außerdem in den Feldern "cr" und "ci" den Wert der
Konstanten c, die zur Berechnung der Menge verwendet wurde.
7. Der Dialog "Einstellungen"
Man erreicht den Dialog durch Menüpunkt "Datei/Einstellungen ...".
Abb. B7: Dialog "Einstellungen"
a) Abschnitt
"Hilfe-Browser"
In diesem Abschnitt des Dialogs kann man den gewünschten Hilfe-Browser
einstellen.
Wenn "Verwende Standard-Browser" aktiviert ist und FCM unter Windows
läuft, wird die Registry gelesen, um Ihren Standard-Browser zu
ermitteln; unter Linux wird Firefox benutzt. Falls das nicht
funktioniert oder Sie einen anderen Browser bevorzugen, können Sie ihn
mit dem "Suchen ..."-Knopf auswählen.
b) Abschnitt "Sprache"
FCM ist derzeit mit zwei Lokalisierungen ausgestattet, deutsch und
englisch. Weil bei einer Änderung der Sprache alle Texte neu gelesen
werden müssen, wird die Änderung erst nach einem Neustart mit
"Datei/Starte FCM neu" wirksam.
Bei der Einstellung "Vorgabe" wird die Sprache gewählt, die Ihr Desktop
als Standardsprache vorgibt. Sie können sie auch beeinflussen, indem
Sie FCM von der Kommandozeile aus z. B. mit
java
-jar -Duser.language=de -Duser.country=DE FCM.jar
oder mit
java
-jar -Duser.language=en -Duser.country=GB FCM.jar
starten.
c) Abschnitt
"Erscheinungsbild"
Der dritte Abschnitt erlaubt die Veränderung des Erscheinungsbilds von
FCM. Das
Layout
ist optimiert für MS-Windows (ich finde diese Darstellung am
elegantesten, leider ist sie unter Linux nicht verfügbar), nicht so gut
sieht die CDE/Motif-Einstellung aus.
Die Liste wird dynamisch zur Laufzeit generiert, indem die verfügbaren
Java-"Look-and-Feels" gelesen werden.
d) Abschnitt
"Sonstiges"
Der letzte Abschnitt erlaubt die Änderung von weiteren Einstellungen:
- Skaliere
Bild beim Exportieren:
Wenn in der Auswahlliste ein anderer Wert als 100 % angegeben wird,
skaliert FCM beim Exportieren (Speicherung als PNG-, BMP- oder
JPG-Datei) jedes Bild auf den eingegebenen Prozentwert herunter. Bei
der Eingabe von 50 % ist ein Bild dann z. B. nur halb so breit und halb
so hoch wie angezeigt. Eine Vorschau kann man sich ansehen, wenn man
ein Bildfenster anklickt (damit es den Fokus bekommt) und dann die
Taste "1" auf der Tastatur drückt.
Wozu ist das gut? Mit dieser Maßnahme kann man die Bildqualität beim
Speichern dramatisch steigern, wenn man ein Bild zunächst sehr viel
größer als gewünscht erzeugt (etwa 1600 x 1200 Pixel) und dann in der
gewünschten Größe speichert, z. B. auf 25 %, also 400 x 300 Pixel,
herunterskaliert. Das entspricht einem Antialiasing-Prozeß und
verringert Treppchenbildung an Kanten. Siehe hierzu auch den Abschnitt
über Supersampling in B.8.a) und das
Beispiel
in B.13.
- Maximaler Speicher für die VM:
Wie in Kapitel A.4.c)
schon
gezeigt, kann man der Java-Virtual-Machine beim Programmstart angeben,
wieviel Speicher sie maximal vom RAM des Rechners beanspruchen darf. Um
dem Anwender das Hantieren mit der Kommandozeile zu ersparen, kann man
dies auch hier angeben. Die Einstellung wird allerdings nur wirksam,
wenn man FCM mit dem Menüpunkt "Datei/Starte FCM neu" neu startet, da
nur dann FCM beim Start der
neuen Instanz eine Kommandozeile zusammenstellen kann! (Falls man mehr
Speicher angibt als der Rechner hat, schlägt der Neustart kommentarlos
fehl.) Bei einem normalen Start durch Doppelklick auf "FCM.jar" startet
die VM immer mit dem Vorgabewert von nur 64 MB, egal was man hier
eingestellt hat.
Leider ist es in der Tat etwas umständlich, FCM zwei Mal starten zu
müssen. Sie sollten daher besser die Startdatei "startFCM.bat" an Ihre
Bedürfnisse anpassen und diese zum Starten verwenden, wenn Sie
regelmäßig mehr Speicher brauchen.
(Falls jemand weiß, wie man der VM zur Laufzeit Speicher zuteilen kann,
lassen Sie es mich wissen. Ich habe nicht einmal herausfinden können,
ob und wie man in Java die Größe des im Rechner eingebauten Speichers
ermitteln kann.)
- Zeige Speicherverbrauch:
Wenn dieses Ankreuzfeld aktiviert ist, wird rechts unten im
Programmfenster die Speicherauslastung der VM ausgegeben und bei jedem
Erzeugen oder Löschen eines Bildes aktualisiert.
- Zeige Kurzhilfetexte:
Wenn dieses Kästchen angekreuzt ist, werden kurze Hilfetexte zu einem
Bedienelement angezeigt, wenn die Maus darüber ruht.
- Zoom-Rechteck beibehalten:
Wenn
man in die komplexe Ebene hineinzoomt, ist es oftmals interessant
zu sehen, welchen Ausschnitt das nächste Bild zeigen wird. Das
Zoom-Rechteck bleibt im Vorgängerbild erhalten, wenn die Checkbox
"Zoom-Rechteck beibehalten" aktiviert ist. Zusätzlich muß natürlich der
"Neu"-Knopf in der Bilderliste aktiviert sein, weil sonst das aktuelle
Bild (mit dem Zoom-Rechteck darin) durch das neue überschrieben wird.
Das Zoom-Rechteck wird nur in eine Datei gespeichert, wenn Menüpunkt
"Datei/Speichern mit Farben-Array" aktiviert ist.
- Nachfragen beim Beenden von FCM:
Wenn angekreuzt, fragt FCM vor dem Verlassen noch einmal nach, ob Sie
FCM wirklich beenden wollen.
- Spiele Sound nach Operation ab:
Nach länger andauernden Vorgängen - wie dem Zeichnen eines Bildes oder
der Berechnung eines Clips - spielt FCM die Datei "sound.wav" aus dem
Installationsverzeichnis ab, falls dieses Feld angekreuzt ist. Wenn Sie
einen anderen Sound hören wollen, tauschen Sie die Datei dort einfach
aus.
Die Einstellungen werden in der Datei fcm.ini in Ihrem Home-Verzeichnis
gespeichert; allerdings nur, wenn Sie FCM mit "Datei/Beenden" oder
"Datei/Starte FCM neu" beenden.
Die
Datei wird nicht geschrieben, wenn Sie FCM mit dem Fensterschließknopf
rechts oben verlassen, alle Änderungen sind dann verloren.
8. Der Dialog "Bild-Geometrie"
Man erreicht den Dialog über die Schaltfläche "Daten" in der
Werkzeugleiste.
Abb. B8: Dialog "Bild-Geometrie"
Mit dem Bild-Geometrie-Dialog kann man im wesentlichen die Bildgröße
und -ränder
einstellen. Er ist in vier Abschnitte und die Schaltflächen-Gruppe
unterteilt:
a)
Abschnitt "Bildgröße"
- Breite und Höhe:
Hier stellt man die Bildgröße in
Pixeln ein.
Die Größe eines bereits vorhandenen Bildes ist nicht änderbar. Wenn man
die Werte auf einem vorhandenen Bild ändert, erscheint daher beim
Verlassen des Dialogs ein neues Fenster, das allerdings alle anderen
Parameter des vorhandenen geerbt hat. Man muß dann nur noch auf den
"Zeichnen"-Knopf drücken, um eine größere oder kleinere Kopie des
Originals zu erhalten.
- Vorgaben:
In der Auswahlliste finden sich einige übliche Bildgrößen, die die
Eingabe der Werte in die Felder "Breite" und "Höhe" erleichtern. Sie
reichen von QQVGA ("Quarter Quarter Video Graphics Array") bis WQUXGA
("Wide Quad Ultra Extended Graphics Array").
- Schaltflächen "x 2", "x 3", "/
2" und "/3":
Diese Knöpfe multiplizieren oder dividieren die aktuelle Breite und
Höhe mit dem angegeben Wert. Die Multiplikation ist nützlich, wenn man
die Bilder später beim Exportieren zwecks Qualitätsverbesserung
herunterskalieren möchte [Antialiasing, siehe Kapitel B.7.d) und B.13]
und ersparen das Kopfrechnen. Die Division ist nur dazu da, etwaige
Änderungen wieder rückgängig zu machen.
- Supersample:
Diese Einstellung dient der Verbesserung der Bildqualität, indem pro
dargestelltem Pixel mehrere Iterationswerte berechnet und
dann gemittelt werden. Im Endeffekt bedeutet das, daß ein
größeres Bild berechnet als dargestellt wird. Stellt man den
Supersample-Wert z. B. auf 2, wird de facto ein Bild mit doppelter
Breite und
doppelter Höhe berechnet.

Abb. B9: Ohne Supersampling
(Wert auf 1)
|

Abb. B10: Mit vierfachem Supersampling
(Wert auf 4)
|
Achtung:
Das Supersampling erfolgt im Raum der Iterationen,
das oben beschriebene Herunterskalieren beim Exportieren von Bildern
erfolgt im Raum der Farben.
Das ist etwas fundamental anderes, beides hat seine Vor- und Nachteile
(s. auch den Abschnitt über den Farben-Dialog):
Fazit:
Herunterskalieren liefert bei wenigen Farben bessere Ergebnisse als
Supersampling, braucht aber beim Einfärben der zunächst großen Bilder
viel Rechenleistung und Speicherplatz.
Supersampling liefert bei vielen Farben vergleichbar gute Ergebnisse
wie Herunterskalieren und spart Rechenleistung beim Einfärben und
Speicherplatz.
b) Abschnitt
"Bildränder"
Diese vier Eingabefelder
kontrollieren die Projektion des Fensters in die komlexe Ebene. crMin
ist der linke, crMax der rechte Rand (reale Achse), ciMin der untere
und ciMax der obere Rand (imaginäre Achse).
Da das Seitenverhältnis eines Pixels stets 1:1 ist, ist man nicht ganz
frei in der Wahl der Ränder. Mindestens einer von ciMin und ciMax wird
automatisch berechnet, abhängig davon, welche "automatisch"-Checkbox
aktiviert ist. Wenn beide angeklickt sind, werden die Ränder so
berechnet, daß die Mitte der vertikalen Achse an derselben Stelle
bleibt wie zuvor.
In der Regel gibt man die Werte hier nicht von Hand ein, sondern
verändert den Bildausschnitt mit der Zoom-Funktion oder verschiebt das
Bild direkt mit der Maus.
c) Abschnitt "Maximale Anzahl der
Iterationen"
Wie man in Abschnitt
C.3
nachlesen kann, kommt die Iteration,
die für jedes Pixel berechnet wird, möglicherweise nie zu einem Ende.
Hier kann man einstellen, wie viele Iterationen höchstens durchlaufen
werden sollen, bis der Vorgang abgebrochen wird. Wenn diese Zahl
erreicht ist, wird das Pixel schwarz.
Es ist nicht ganz leicht, einen optimalen Wert für diese höchste
Iterationsanzahl zu finden: Große Werte führen zu langen
Berechnungsdauern, kleine Werte können "unscharfe" Bilder verursachen:
Abb. B15: Unscharfes Bild, 1600
Iterationen
|
Abb. B16: Schärferes Bild, 5600
Iterationen
|
Eine Daumenregel (wenigstens für Mandelbrot-Mengen) ist: Beim
Hineinzoomen in die Ebene sollte die Iterationsanzahl größer werden.
Diese Regel wird angewandt, wenn die "automatisch"-Checkbox aktiviert
ist. Besonders für Regionen aus der "Spalte" der Mandelbrot-Menge (Abb.
B15 und B16 sind aus dieser Gegend) und auch für Julia-Mengen sollten
Sie
die Automatik evtl. durch eigene Eingaben korrigieren. Julia-Mengen
brauchen häufig höhere Werte, um ausgedehnte schwarze Regionen zu
vermeiden, die in Wahrheit gar nicht schwarz sind.
Die Automatik kann etwas beeinflußt werden mit dem Feld "Multipliziere
mit": Der automatisch berechnete Wert wird mit diesem Wert
multipliziert und dann das Ergebnis für die Berechnung der Bilder
verwendet.
d) Abschnitt
"Konstante c"
Falls das aktuelle Fenster eine
Julia-Menge zeigt, kann man hier ihren c-Wert verändern. Komfortabler
geht das mit der "
Picken"-Funktion in der
Werkzeugleiste.
e) Schaltflächen
- Hilfe:
Öffnet diesen Abschnitt des Benutzerhandbuchs.
- Vorgaben:
Setzt alle Einträge auf Vorgabewerte.
- Zeichne neu:
Zeichnet ein neues Bild mit den aktuellen Einstellungen. Das neue Bild
wird als erstes Bild in die Bilderliste eingetragen. Der
Abbrechen-Knopf kann dies nicht rückgängig machen!
- Anwenden:
Zeichnet das aktuelle Bild neu unter Verwendung der Einstellungen im
Dialog. Der Abbrechen-Knopf kann dies nicht rückgängig machen!
- Abbrechen:
Verläßt den Dialog, ohne die Veränderungen zu übernehmen. Das
funktioniert nicht, wenn zuvor der "Zeichne neu"- oder "Anwenden"-Knopf
betätigt wurde.
- OK:
Verläßt den Dialog, übernimmt die Veränderungen und zeichnet das Bild
neu.
9. Der Dialog "Farben"
Man erreicht den Dialog über die Schaltfläche "Farben" in der
Werkzeugleiste.
Abb. B17: Dialog "Farben"
Der Farben-Dialog erlaubt die Veränderung der Art und Weise, wie Farben
in die fraktale Grafik abgebildet werden. Dazu müssen wir kurz einen
genaueren Blick auf die Daten
werfen, die FCM bei der Berechnung eines Bildes generiert. Wie in
Abschnitt
C.3 beschrieben, wird die
komplexe Ebene Pixel für Pixel abgetastet, und für jedes Pixel wird die
Iteration durchgeführt. FCM speichert die Anzahl der Iterationen für
jedes Pixel, die benötigt wird, bis der Betrag der komplexen Zahl
größer ist als 2.45 (=Wurzel aus 6), in einem zweidimensionalen Feld
ab, das genauso groß ist wie das Bild. Jeder Zahlenwert in diesem Feld
wird auf eine Farbe abgebildet, und das korrespondierende Pixel erhält
diese Farbe. Die Abbildung von Zahlenwert auf Farbe kann hier
manipuliert werden.
Man sieht, daß es eine Abhängigkeit gibt zu der maximalen
Iterationsanzahl, die im
vorherigen
Abschnitt beschrieben wurde. Angenommen, wir haben
ein Maximum von 200 Iterationen, dann haben wir offensichtlich auch nur
höchstens 200 verschiedene Farben! (Möglicherweise sogar weniger, wenn
wir zufällig eine Region betrachten, in der die Iteration für jedes
Pixel schon früher terminiert.)
a) Abschnitt "Farbanzahl"
Angenommen, wir betrachten eine Region der komplexen Ebene, in der alle
o. g. 200 Iterationswerte vorhanden sind, und das Bild zeigt daher auch
200 verschiedene Farbwerte. Trotzdem könnten wir uns wünschen, nicht
alle 200 möglichen Farben zu verwenden, sondern z. B. nur zwei Farben.
Dies kann man mit dem Schieberegler "Anzahl der Farben" einstellen,
sofern der
Radio-Knopf "Manuelle Einstellung" aktiviert ist. Beachten Sie, daß der
maximal einstellbare Wert von der Einstellung "max. Iterationsanzahl"
im Dialog "
Bild-Geometrie"
abhängt. In Abb.
B17
steht der Wert
40. Das bedeutet, daß ein Pixel mit der Iterationsanzahl 41 dieselbe
Farbe hat, wie ein Pixel mit der Iterationsanzahl 1, eines mit 42
dieselbe wie eines mit 2 usw.
Wenn man mit FCM ein wenig herumspielt und in die Mandelbrot-Menge
hineinzoomt, stellt man fest, daß die Bilder besser werden, wenn man
nicht jedes Bild mit derselben festen Anzahl von Farben berechnet.
Daher versucht FCM, individuell für jedes Bild selbst eine gute Wahl zu
treffen, wenn einer der Auto-Modi eingeschaltet ist.
Der erste ["automatisch (zähle Iterationswerte)"] zählt die Anzahl der
verschiedenen Iterationswerte im Bild.
Beispiel: Angenommen, es gibt im
Bild einige Pixel mit 10 Iterationen, andere mit 20 Iterationen, und
alle anderen haben 200 Iterationen. Dann ist die Anzahl verschiedener
Iterationswerte 3, mehr Farben sind nicht nötig (und möglich), und FCM
stellt die Farbanzahl auf diesen Wert ein. Zoom-Animationen mit dieser
Einstellung tendieren dazu zu flackern.
Der zweite ["automatisch (verwende 'max. Iterationen' zur Berechnung)"]
nimmt Ihre Einstellung für die maximalen Iterationen im
Bild-Geometrie-Dialog (s. Abb.
B8)
als maximale Farbanzahl. Dieser Eintrag paßt sich automatisch der
Zoomgröße an - und damit auch die Farbanzahl - wenn das im
Geometrie-Dialog so eingestellt ist.
Drittens wird die automatisch gewonnene Farbanzahl zusätzlich
modifiziert durch den Wert, der im Feld "Reduziere die Farbanzahl durch
Divisor" angegeben ist. Auf diese Weise kann man die Automatiken
in Grenzen noch beeinflussen.
b) Abschnitt "Farbverlauf-Editor"
Der Farbverlauf-Editor ist das mächtigste Werkzeug, um die Bilder den
eigenen Wünschen anzupassen. Oben haben wir gesehen, daß es eine
Abbildung von
Iterationen auf Farben gibt. Aber welcher Iterationswert korrespondiert
mit welcher konkreten Farbe? Das wird mit dem Farbverlauf und den
beiden Schiebereglern '"Kleinste" Farbe' und '"Größte" Farbe' gesteuert.
Zunächst sollte man sich einen Farbverlauf erzeugen, der die
gewünschten Farben enthält. Ein Farbverlauf kann durch Hinzufügen,
Löschen und Verändern der runden Farb-Schieberegler frei gestaltet
werden. In Abb.
B17 besteht
der Farbverlauf beispielsweise aus fünf Farben (grün, rot, gelb, blau
und weiß), die gleichen Abstand haben.
Die Funktionen des Editors sind im einzelnen:
- Hinzufügen einer Farbe:
Durch Linksklick mit der Maus in den Farbverlauf oder Betätigen des
"Hinzufügen"-Knopfes. Die Hinzugefügte Farbe ist zunächst immer weiß.
- Löschen einer Farbe:
Durch Herausziehen des Reglers nach oben oder unten mit der Maus aus
dem Farbverlauf oder
Betätigen des "Löschen"-Knopfes.
- Verändern der Position einer
Farbe:
Durch Verschieben mit der Maus oder Eingabe eines Wertes
zwischen 0 und 10.000 im Feld "Position".
- Aktivieren einer Farbe:
Durch Anklicken mit der Maus oder Betätigen der Knöpfe "<" und
">".
- Aktivieren mehrerer Farben:
Durch Anklicken mit der Maus mit gedrückter Strg- bzw. Umschalttaste.
- Verändern einer Farbe:
Durch Verschieben der Markierung im "Farb-Wähler" oder durch Eingabe
des RGB-Wertes in die Felder "Rot", "Grün" und "Blau".
- Vertauschen aller Farben:
Der Knopf "o>o" schiebt
alle Farbwerte nach rechts, wobei die Position der Schieberegler
erhalten bleibt, der Knopf "o<o"
schiebt alle Farbwerte nach links.
- Ausrichten aller Farben:
Der Knopf "o-o-o" richtet
alle Regler so aus, daß sie gleichen Abstand zueinander haben.
- "Strecken" und "Stauchen":
Wenn man einen Regler mit gedrückter Strg-Taste verschiebt, werden alle
Abstände zwischen den Reglern gestreckt bzw. gestaucht.
- Farbverlauf-Voreinstellungen:
Es gibt einige vorbelegte Farbverläufe, die man im Scroll-Bereich
auswählen kann. Eigene Farbverläufe kann man mit den Schaltflächen
"Laden" und "Speichern" archivieren und wiederverwenden.
Der Farbverlauf eines Bildes wird grundsätzlich zusammen mit dem Bild
abgespeichert und muß daher nicht separat gesichert werden.
Nun haben wir zwar einen Farbverlauf, aber wie die Zuordnung zwischen
Iterationsanzahl eines Pixels und Farbe dieses Pixels aussieht, ist
immer noch nicht klar: Diese kann man nun mit den beiden Schiebereglern
'"Kleinste" Farbe' und '"Größte" Farbe' bestimmen. In Abb.
B17 sieht
man, daß der '"Kleinste" Farbe'-Regler auf der grünen
Position steht. Das bedeutet: Alle Pixel
mit einer Iterationsanzahl von 1 werden grün. Der '"Größte"
Farbe'-Regler steht in der weißen Region, und die "Anzahl
der Farben" ist
40. Das bedeutet: Wenn ein Pixel die Iterationsanzahl 40 hat, wird es
weiß.
Alle Farbwerte zwischen 1 und 40 werden über den Farbverlauf
zwischen den beiden Schiebereglern gleichmäßig
verteilt. Ein Pixel mit Farbwert 41 hat dann wieder dieselbe Farbe wie
eines mit Farbwert 1 usw. Wenn der '"Kleinste" Farbe'-Regler
hinter
dem '"Größte" Farbe'-Regler steht, werden die Farben
umgebrochen. Man
kann das alles leicht verstehen, wenn man als Farbanzahl 2 einstellt
und mit den Reglern spielt: Nur die beiden Farben, auf denen die Regler
stehen, kommen dann im Bild vor.
Achtung: Pixel mit Farbwert = max. Iterationen sind immer schwarz.
Diese Farbe kann nicht geändert werden.
c) Weitere
Steuerelemente
- "Sofort testen":
Wenn diese Checkbox aktiviert ist, werden alle Änderungen sofort auf
dem aktuellen Bild ausgeführt. Wenn das Bild klein genug ist (oder der
Computer schnell genug), kann man die Farben fast in Echtzeit ändern.
Das führt häufig zu beeindruckenden Effekten.
- "Auf alle ausgewählten Bilder
anwenden":
Wenn man einen Zoom-Clip erzeugt hat, möchte man häufig die Farben
einiger Bilder ändern, weil sie nicht zufriedenstellend sind. Mit
dieser Checkbox kann man FCM anweisen, beim Verlassen des Dialogs alle
selektierten Bilder in der Bilderliste in gleicher Weise zu verändern.
Ihre
verkleinerte Darstellung auf den Knöpfen in der Bilderliste wird
allerdings nur dann angepaßt, wenn außerdem die Checkbox "Zeichne
Buttons neu" aktiv ist, da dieser Vorgang einige Zeit
beansprucht.
- Schaltflächen:
Die Knöpfe haben dieselben Funktionen wie im Bild-Geometrie-Dialog,
siehe oben.
10. Der Dialog
"Animationsparameter"
Man erreicht den Dialog durch Menüpunkt "Animation/Parameter ...".
Abb. B18: Dialog "Animationsparameter"
In Abschnitt
A.6.
wurde gezeigt, wie man Animationen von Hand durch Erzeugung einzelner
Bilder erstellen kann. Das ist reichlich mühsam. Daher kann man einige
Bilder (mindestens zwei) in der Bilderliste selektieren und zwischen
ihnen einen sanften Übergang automatisch berechnen lassen. Wie dies
geschieht, kann man mit dem
Animationsparameter-Dialog beeinflussen.
a) Abschnitt "Erstes
und letztes
Bild"
In diesem Bereich wird das Start- und Endbild des ersten selektierten
Bildpaares angezeigt.
Die Ankreuzfelder "Glätte Bewegung"
bewirken die Berechnung von zusätzlichen Bildern am Anfang und Ende des
Übergangs, so daß sich die Bewegung dort etwas verlangsamt. Auf diese
Weise hat man einen glatteren Übergang zwischen zwei
aufeinanderfolgenden selektierten Bildpaaren.
b) Abschnitt
"Einstellungen"
Hier sind alle Parameter aufgelistet, die FCM bei der
Animationserzeugung verändern kann (mit Ausnahme von Änderungen im
Farbgradienten; einen solchen Übergang kann man nicht beeinflussen).
Wenn ein Parameter sich zwischen
Start- und Endbild nicht unterscheidet, ist das Eingabefeld ausgegraut
und enthält den Wert 0. In Abb.
B18
sieht man beispielsweise einen Zoom in eine Julia-Menge. Der Eintrag im
Größenänderungsfeld sagt uns, daß die reelle Bildbreite von
Bild zu Bild um 8 % schrumpfen soll. Das resultiert in 36 Bilder, wie
in der letzten Zeile ausgegeben. Natürlich hängt das vom
Größenunterschied zwischen Start- und Endbild ab.
Alle Parameter beeinflussen sich gegenseitig: Wenn man den Prozentwert
der Größenänderung modifiziert, hat das eine andere Bildanzahl zur
Folge, und das verändert wiederum die übrigen Parameter. Probieren Sie
es aus.
Hinweis: Das funktioniert nur,
wenn das modifizierte Eingabefeld den
Fokus hat. Leider hat das hier verwendete Java-Swing-Element
("Spinner") anscheinend einen Bug (JRE 1.6) und hat
nicht den Fokus, sogar wenn der
Cursor darin blinkt! Daher setzt FCM den Fokus per Programm-Code,
sobald der Mauszeiger über dem Element steht. Um das anzuzeigen, wird
die Beschriftung dann blau. Nur in diesem Zustand funktioniert der
Update-Mechanismus! Das bedeutet, daß man die Einträge nicht vernünftig
ohne Maus allein mit der Tastatur verändern kann, sorry.
Bedienelement
|
Beschreibung
|
Dauer/ms
|
In diesem Feld kann man die Zeit
(in Millisekunden) eingeben, die zwischen dem ersten und dem letzten
Bild eines Übergangs vergehen soll.
Für eine Animation, die in FCM abgespielt wird, hat diese Zahl zunächst
keine Bedeutung. Sie wird erst dann wichtig, wenn man sie in eine
AVI-Datei verwandeln will. Auch dann ergibt sich die Dauer allerdings
ausschließlich aus der Anzahl der Bilder (dem untersten Eingabefeld)
und der Bildrate, die im Video-Erzeugungs-Dialog
eingegeben wird.
Wozu ist das Feld dann also gut? Der Bedarf ergibt sich aus folgender
Situation: Man möchte eine Animation mit Musik hinterlegen, wobei sich
im Takt der Musik optisch etwas tun soll. Da der Rhythmus der Animation
dann durch die Musik vorgegeben ist, braucht man auf jeden Fall
definierte Zeiten für jeden Übergang. Wenn man weiß, mit welcher
Bildrate man seine Animation erzeugen will, kann man sich die Anzahl
der benötigten Bilder leicht ausrechnen und im untersten Eingabefeld
eintragen. Blöd nur, wenn man die Animation dann doch mit einer anderen
Bildrate erzeugen will: Dann muß man sämtliche Übergänge durchgehen und
die Bildanzahl entsprechend ändern. Deswegen kann man sich hier die
Zeit für einen Übergang merken. Benutzt wird diese Zeit ausschließlich
im Zusammenhang mit Menüpunkt "Animation/Bildrate
anpassen ...". Dieser Menüpunkt greift sich nämlich die Bildrate
aus dem Video-Erzeugungs-Dialog und paßt dann für sämtliche Übergänge
die Bildanzahl so an, daß die Übergangsdauer gleich bleibt.
|
Bilder pro Sekunde
|
Für dieses Feld gilt sinngemäß
das gleiche wie für das Feld "Dauer/ms": Es ist nur für die Erzeugung
von AVI-Dateien interessant. Es hilft hier das Kopfrechnen zu
vermeiden, wenn man die Dauer, die Bildrate und die Anzahl der Bilder
in Zusammenhang bringen will.
|
Ändere die Bildgröße um
|
Dieses Element ist veränderbar,
wenn das Startbild eine andere Größe (des Ausschnitts aus der komplexen
Ebene) hat als das Endbild. Man kann hier den Prozentwert eingeben, um
den die Breite bzw. Höhe zwischen Vorgänger- und Nachfolgerbild
differieren soll.
|
Bewege jedes Bild um
|
Dieses Element ist veränderbar,
wenn Startbild und Endbild bei gleicher Größe einen anderen Ausschnitt
der komplexen Ebene zeigen. Die Position kann sich horizontal und/oder
vertikal unterscheiden. Der Durchschnitt wird berechnet, das Ergebnis
ist eine Zahl. Jedes Bild wird nun horizontal und vertikal um den
einzugebenden Prozentwert dieser Zahl verschoben.
|
Ändere die maximale
Iterationsanzahl um
|
Dieses Element ist veränderbar,
wenn sich die maximalen Iterationsanzahlen zwischen Start- und Endbild
unterscheiden und mindestens eine von beiden nicht auf "automatisch"
gesetzt ist (s. Abschnitt B.8).
Weil dieser Eintrag sich nur bei Zooms in die komplexe Ebene ändern
sollte und sich dann logarithmisch ändert, ist der Wert, den man hier
eingeben kann, die prozentuale Änderung zum nächsten Bild und nicht ein
absoluter Wert.
|
Ändere
den Realteil der Julia-Konstanten um
|
Dieses Element ist veränderbar,
wenn sich die Realteile der Julia-Konstanten c von Start- und Endbild
unterscheiden. Die Differenz wird von FCM berechnet, und man kann hier
einen Prozentwert dieser Differenz eingeben. Dieser resultiert in einer
Konstanten, um die sich jedes Bild von seinem Vorgänger unterscheidet.
|
Ändere den Imaginärteil der
Julia-Konstanten um
|
M. m. wie oben.
|
Ändere die Farbanzahl um
|
Dieses Element ist veränderbar,
wenn sich die Farbanzahl zwischen Start- und Endbild unterscheidet und
mindestens eine von beiden nicht auf "automatisch" gesetzt ist (s.
Abschnitt B.9). Der Wert, den
man hier eingeben kann, ist der Prozentwert, um den sich die
Farbanzahlen zweier aufeinanderfolgender Bilder unterscheiden.
|
Ändere
die '"Kleinste" Farbe' um
|
Dieses Element ist veränderbar,
wenn sich die '"Kleinste" Farbe' zwischen Start- und Endbild
unterscheidet. Die folgenden vier Fälle muß man unterscheiden:
- Der Startwert ist kleiner
als der Endwert und man erhöht
den Wert bei jedem Bild => der Wert vergrößert sich bei jedem Bild:
0
Start
-> Ende
10000
|-------------|--------------------------|------------|
- Der Startwert ist größer
als der Endwert und man erhöht
den Wert bei jedem Bild => der Wert vergrößert sich bei jedem Bild,
aber es gibt einen Umbruch bei 10000:
0 -> Ende
Start -> 10000
|-------------|--------------------------|------------|
- Der Startwert ist kleiner
als der Endwert und man verringert
den Wert bei jedem Bild => der Wert verringert sich bei jedem Bild,
aber es gibt einen Umbruch bei 0:
0 <-
Start
Ende <- 10000
|-------------|--------------------------|------------|
- Der Startwert ist größer
als der Endwert und man verringert
den Wert bei jedem Bild => der Wert verringert sich bei jedem Bild:
0
Ende
<-
Start 10000
|-------------|--------------------------|------------|
Im Eingabefeld kann man den absoluten Wert eingeben, um den sich der
Farbton von Bild zu Bild unterscheiden soll. Um den Wert zu verringern,
gibt man einen negativen Wert ein.
|
Ändere die "größte" Farbe um
|
M. m. wie oben.
|
Resultiert in
|
Dieses Element ist immer
veränderbar. Hier gibt man die Anzahl der Bilder ein, aus denen die
Animation bestehen soll. Veränderungen führen natürlich zu
Veränderungen bei allen anderen Parametern.
|
Tabelle B7: Animationsparameter
Sobald man den Dialog mit OK verläßt, werden alle selektierten Bilder
zu sog. Schlüsselbildern und in der Bilderliste durch ein rotes Dreieck
markiert. Wenn man zwischen jedem Bildpaar eine unterschiedliche Anzahl
von Übergangsbildern haben will, muß man die Bilder paarweise
selektieren und den Parameterdialog für jedes Pärchen separat aufrufen.
Hinweis: Die Schlüsselbilder enthalten die komplette Information, um
eine Animation zu erzeugen. Es reicht also theoretisch aus, beim
Abspeichern eines Clips nur die Schlüsselbilder zu sichern, die
komplette Animation kann man dann durch Neuberechnung wiederherstellen.
Tip: Insbesondere bei Clips von Julia-Mengen muß man häufig mit den
Parametern ein wenig experimentieren und Bilder neu berechnen lassen.
Das kostet bei größeren Bildern erheblich Rechenzeit. Es ist daher
sinnvoll, einen Clip mit möglichst kleinen Bildern zu erstellen und
abzuspeichern. Beim Laden kann man dann ein größeres Format wählen,
indem man zuvor ein leeres Fenster in der gewünschten Größe öffnet.
11. Der Dialog "Video-Erzeugung"
Man erreicht den Dialog durch Menüpunkt "Datei/Kodiere exportierte
Bilder als Video ...".
Abb. B19: Dialog "Video-Erzeugung"
a) Konzept der
Videoerzeugung
Das Erzeugen von MPEG- oder AVI-Video-Dateien ist ein komplexer
Vorgang, den FCM nicht direkt beherrscht. Vielmehr muß man eine weitere
Software installieren, die diese Aufgabe übernimmt.
Das Vorgehen ist das folgende:
- Man erzeugt eine Animation mit FCM wie oben beschrieben. Als
Ergebnis hat man eine Anzahl von Bildern in der Bilderliste.
- Man exportiert alle diese Bilder mit Menüpunkt "Datei/Exportiere
alle Bilder als ..." als BMP-, PNG- oder JPG-Dateien in einen
leeren
Ordner. Als Ergebnis liegen die Bilder (und nur diese Bilder) in
dem Ordner auf der Festplatte.
- Man startet eine Software, die diese Bilder in ein Video kodiert.
Als Ergebnis liegt die Animation als MPEG- oder AVI-Datei (oder in
einem anderen Videoformat) vor.
Es gibt verschiedene kostenlose Programme, die einzelne Bilder in ein
Video konvertieren können:
- MEncoder (http://www.mplayerhq.hu):
Sehr leistungsfähiges Open-Source-Programm, umfangreiche
Einstellmöglichkeiten, aber keine grafische Oberfläche.
- Bmp2Avi und pjBmp2Avi (http://www.divx-digest.com/software/bmp2avi.html):
Kleine, einfach zu bedienende Programme von Paul Roberts; Bmp2Avi
ist eine Konsolenanwendung, pjBmp2Avi hat eine grafische Oberfläche.
- PicToAvi (http://www.fractalizer.de):
Kleines, einfach zu bedienendes Programm von Sven Kohn und Robert
Sontheimer, das beim Fraktalgenerator "Fractalizer" mitgeliefert wird;
kann leider keine Audio-Dateien einbinden.
MEncoder kommt mit den meisten Bildformaten zurecht und bietet die
meisten Möglichkeiten, daher unterstützt FCM die Erzeugung von Videos
mit diesem Programm über den Video-Erzeugungs-Dialog, der eine
grafische Oberfläche für MEncoder darstellt und die wichtigsten
Parameter relativ einfach einzugeben erlaubt.
Laden Sie sich also unter
http://www.mplayerhq.hu/design7/dload.html
die Datei "MPlayer-mingw32-1.0rc2.zip" (oder neuer) herunter und packen
Sie sie an
beliebiger Stelle aus (die Stelle ist nur fast beliebig: Der Pfad darf
keine Leerzeichen
enthalten!). Dabei entsteht der Ordner "MPlayer-1.0rc2", in
diesem Ordner befinden sich die beiden Dateien "mencoder.exe" und
"mplayer.exe", die von FCM zur Kodierung und zur Wiedergabe verwendet
werden.
b) Abschnitt "Dateien
und Ordner"
Der wichtigste Eingabebereich ist der erste Abschnitt "Dateien und
Ordner"; wenn hier alle Eintragungen gemacht sind, füllt sich der Rest
des Dialogs von selbst mit Vorgabewerten, die man nur bei Bedarf
verändern muß.
Bedienelement
|
Beschreibung
|
Typ der Bilddateien
|
MEncoder kommt mit verschiedenen
Dateitypen zurecht, hier muß man in der Auswahlliste den Dateityp
angeben, in dem man seine Bilder exportiert hat: BMP, PNG oder JPG.
|
Ordner mit Bildern
|
Hier gibt man den Ordner an, in
den man seine Bilder exportiert hat.
|
Audiodatei
|
Falls man das Video mit Musik
unterlegen möchte, kann man hier eine WAV- oder MP3-Datei angeben, die
dazu verwendet werden soll.
|
Ausgabedatei
|
Hier gibt man Ort und Namen der
Datei an, in die der Film gespeichert werden soll.
|
MPlayer-Ordner
|
FCM muß wissen, wo sich der
MEncoder auf Ihrer Festplatte befindet. Geben Sie hier den Ordner an,
in dem die Datei "mencoder.exe" liegt.
|
Tabelle B8: Abschnitt "Dateien und
Ordner" im Video-Erzeugungs-Dialog
Diese Angaben reichen bereits zur Erzeugung des Videos, der Knopf
"Video erzeugen" ist jetzt anwählbar.
c) Abschnitt
"Video-Einstellungen"
Mit diesem Abschnitt kann man MEncoder einige Parameter übergeben. Die
wichtigsten sind über die Drop-Down-Listen veränderbar.
Bedienelement |
Beschreibung |
Video-Codec
|
Dient zur Auswahl des zu
verwendenden Video-Codecs. Welcher am besten geeignet ist, hängt von
dem Videoplayer ab, den Sie verwenden wollen, da nicht jeder Player
jedes Format versteht. Der Windows-Mediaplayer kommt am besten mit
"msmpeg4v2" zurecht.
|
Audio-Codec
|
Hier gilt dasselbe wie für den
Video-Codec. Für den Windows-Mediaplayer sind "copy", "mp3lame" und
"pcm" am besten geeignet.
|
kBits pro Sekunde
|
Die Datenrate kann man MEncoder
stufenlos mitgeben, ein paar Standardvorgaben befinden sich in der
Drop-Down-Liste. Je höher die Datenrate, desto besser wird die
Bildqualität, aber desto größer wird auch die Filmdatei. Hier muß man
ein wenig experimentieren, um den besten Kompromiß zu finden.
|
Generelle Einstellungen
|
Dieses Feld dient zur Eingabe
allgemeiner Parameter für den MEncoder, falls Sie welche eingeben
wollen. Lesen Sie die MEncoder-Doku.
|
Codec-Einstellungen
|
Hier werden einige Parameter
angegeben, die den Video-Codec betreffen. Sie könnten stattdessen
genausogut unter "Generelle Einstellungen" eingetragen werden. Das Feld
dient nur der Übersichtlichkeit.
|
Bilder pro Sekunde
|
Auch hier gilt, je höher die
Bildrate, desto besser die Bildqualität (Kinofilme haben 24 Bilder pro
Sekunde, im Fernsehen sind's 25), aber desto größer wird auch die
Video-Datei. Und, nicht zuletzt, ist Ihr Film schneller zu Ende!
15 Bilder pro Sekunde sind auch schon ganz brauchbar.
|
Tabelle B9: Abschnitt
"Video-Einstellungen" im Video-Erzeugungs-Dialog
d) Abschnitt "Video
erzeugen und abspielen"
Die Elemente dieses Abschnitts füllen sich in der Regel von selbst
passend aus, wenn in den Feldern oben im Dialog etwas eingegeben wird.
Ändern sollte man die Einträge nur bei Bedarf (z. B. wenn Sie ein
anderes Programm als MEncoder verwenden wollen) und dann oben nichts
mehr ändern, weil die Änderungen sonst wieder überschrieben werden.
Das Prinzip besteht darin, daß FCM beim Drücken des "Video
erzeugen"-Knopfes eine Batch-Datei ("enc.bat") erzeugt, die den Aufruf
des MEncoders mit allen eingestellten Parametern enthält, und diese
dann über die Systemkonsole ("Eingabeaufforderung" unter Windows)
aufruft.
Ebenso wird beim Drücken des "Video abspielen"-Knopfes die Batch-Datei
"play.bat" erzeugt und ausgeführt.
Bedienelement |
Beschreibung |
Konsolenkommando
|
Das ist das Kommando, mit dem
man eine Konsole aufruft und diese eine Batch-Datei ausführen läßt.
Unter Windows sollte man keine Änderungen vornehmen, unter Linux könnte
man hier seine Lieblings-Shell eintragen.
|
Kodieren-Batch-Datei
|
Hier kann man den Inhalt der
Batch-Datei "enc.bat" sehen, die beim Drücken auf den "Video
erzeugen"-Knopf generiert wird. Das Batch-Programm wechselt zunächst in
das Verzeichnis mit den exportierten Bildern und führt dann den
MEncoder mit allen oben im Dialog eingegebenen Parametern aus.
|
Abspielen-Batch-Datei
|
Das gleiche wie beim Kodieren,
dies ist aber der Inhalt der Batch-Datei zum Abspielen des erzeugten
Videos.
|
Kodierungskommando
|
Dieses Kommando führt FCM aus,
um die Batch-Datei "enc.bat" zu starten, sobald man den Knopf "Video
erzeugen" anklickt.
|
Abspielkommando
|
Dieses Kommando führt FCM aus,
um die Batch-Datei "play.bat" zu starten, sobald man den Knopf "Video
abspielen" anklickt. Die wichtigsten MPlayer-Tastenkommandos während
des Abspielens sind:
- Links: -10 Sekunden
- Rechts: + 10 Sekunden
- Runter: - 1 Minute
- Rauf: + 1 Minute
- Rücktaste: normale Geschwindigkeit
- {: halbe Geschwindigkeit
- }: doppelte Geschwindigkeit
- F: Vollbild
|
Schließe Konsolenfenster
|
Beim Erzeugen oder Abspielen von
Videos öffnet sich ein Konsolenfenster, das die jeweilige Batch-Datei
ausführt. Das Fenster bleibt anschließend geöffnet, damit man die evtl.
erscheinenden Fehlermeldungen lesen kann. Es ist allerdings lästig,
dieses Fenster immer wieder von Hand schließen zu müssen, wenn keine
Fehler mehr auftreten. Wenn man dieses Ankreuzfeld aktiviert, schließt
sich das Fenster nach Bearbeitung der Batch-Datei wieder von selbst.
|
Tabelle B10: Abschnitt "Video erzeugen
und abspielen"
e) Tips zur Erzeugung qualitativ
hochwertiger Filme
Clips bestehen gerne mal aus mehreren tausend Bildern, die nur
dann komplett in den Speicher passen, wenn sie sehr klein sind (z. B.
200 x 150 Pixel). Um
daraus eine AVI-Datei guter Qualität zu machen, braucht man die
exportierten Bilder aber in größerem Format (z. B. 800 x 600 Pixel).
Wenn man die Bilder zwecks Qualitätsverbesserung zunächst noch größer
berechnen und beim Exportieren dann herunterskalieren möchte (s.
Abschnitt
B.8.a)), empfiehlt sich sogar eine
Bildgröße von z. B. 1600 x 1200 Pixel. Man könnte seinen Clip natürlich
in mehrere Teil-Clips aufteilen und nacheinander berechnen und
exportieren lassen. Bequemer geht das aber mit dem Menüpunkt
"Datei/Öffne
Clip, aber exportiere jedes Bild als ..." wie im folgenden
beschrieben:
- Bereiten Sie einen kompletten Clip in kleinem Format vor, der
vollständig in den Speicher paßt.
- Speichern Sie den Clip und löschen Sie dann die Bilderliste.
- Wenn Sie die Bilder beim Exportieren zwecks Qualitätsverbesserung
herunterskalieren wollen, geben Sie im Dialog "Einstellungen" im Feld "Skaliere Bild
beim Exportieren auf" z. B. einen Wert von 50 % ein.
- Stellen Sie im Dialog "Bild-Geometrie"
ein großes Format ein, z. B. 1600 x 1200 Pixel.
- Öffnen Sie mit Menüpunkt "Datei/Neues
Mandelbrot-Bild" ein Fenster in diesem Format.
- Klicken Sie dann auf Menüpunkt "Datei/Öffne
Clip, aber exportiere jedes Bild als ...". Wählen Sie Ihren
kleinformatigen Clip aus und geben Sie im zweiten Dateiauswahldialog
den Namen des ersten
zu exportierenden Bildes in der Form "xxx_0001.bmp" ein.
- FCM stellt fest, daß der Clip in einem anderen Format vorliegt,
als das offene Fenster. Auf die Frage "Bild an Fenster anpassen?"
antworten Sie mit "Ja".
=> Jedes Bild des Clips wird jetzt im großen Format berechnet,
sofort exportiert (dabei ggf. herunterskaliert) und dann aus der
Bilderliste gelöscht. Am Ende verbleibt nur das letzte Bild des Clips
in der Liste, und alle Bilder liegen als BMP-Datei auf der Platte.
Die exportierten Bilder können nun wie oben beschrieben in eine
AVI-Datei überführt werden.
12. Einige technische Aspekte
Um ein fraktales Bild zu erzeugen, sind drei Arten von Daten beteiligt:
Erstens gibt es die Bildparameter. Das sind die, die man in den
Parameter-Dialogboxen eingeben kann (s. Abb.
B8 und
B9). Sie sind ausreichend, ein
Bild komplett zu beschreiben und zu berechnen. Nur diese Parameter
werden gespeichert, wenn der Menüpunkt "Datei/Speichern mit
Farben-Array"
nicht aktiviert
ist.
Zweitens gibt es das Array der Iterationswerte. Das ist ein
zweidimensionales Feld von 32-Bit-Werten. In diesem Array ist für jedes
Bildpixel gespeichert, wie viele Iterationen nötig waren, um die Grenze
von 2,45 für den Betrag |z
n|
der komplexen Zahl zu überschreiten (s.
Kapitel
C für Details);
diese Anzahl von Iterationen korrespondiert mit einem Farbwert, er ist
aber nicht der 24-Bit-True-Color-Wert, den man letztendlich im Fenster
dargestellt sieht. Das Array wird im Hauptspeicher für jedes Bild in
der Bilderliste vorgehalten. Wenn der Menüpunkt "Datei/Speichern mit
Farben-Array" aktiviert ist, wird dieses Array zusätzlich zu den
Bildparametern gespeichert.
Drittens gibt es das True-Color-Bild, das man im Fenster sieht. Dieses
Bild wird aus dem Iterations-Array (unter Verwendung der
benutzerdefinierten Farbparameter) immer neu berechnet, sobald ein
Bild aus der Liste aktiviert wird. Es wird nicht mit dem Bild
gespeichert (es gehört dem Fenster, nicht dem Bild). Wenn man einen
Clip abspielt, passiert genau das gleiche: Das True-Color-Bild muß aus
dem Iterationen-Array berechnet werden. Man kann sich vorstellen, daß
dieser Prozeß Zeit kostet. Es spart aber Speicherplatz, so daß man mehr
Bilder im Speicher halten kann.
Alle Bilder werden im Hauptspeicher gehalten, die Festplatte wird nicht
benutzt.
Ergebnis: Wenn Ihr Computer langsam ist, sollten Sie Clips aus
kleineren Bildern erstellen, um die Bildwiederholrate zu steigern.
Evtl. ist es besser, den Menüpunkt "Datei/Speichern mit Farben-Array"
zu aktivieren, um das Laden der Bilder von Festplatte zu beschleunigen.
13.
Anwendungsbeispiel: Bildoptimierung
Das folgende Beispiel soll zeigen, wie man mit FCM am effizientesten
Bilder in hoher Qualität erzeugt. Wir gehen hierbei davon aus, daß alle
Parameter zunächst auf die Vorgabewerte eingestellt sind.
Die wichtigste Grundregel beim Erzeugen von Bildern mit FCM ist:
Arbeiten Sie mit
möglichst kleinen Bildern!
Die Berechnung von Fraktalen ist sehr rechenintensiv, je größer
die Bilder werden, desto zäher fühlt sich FCM an. Auf meinem Pentium M
1500 hat sich eine Größe von 400 x 300 Pixeln bewährt (deswegen ist sie
auch die Default-Größe beim ersten Start). Erst im letzten Schritt,
wenn man alle Parameter so eingestellt hat, wie man sie haben will,
sollte man ein großes Bild erzeugen, das man dann z. B. als JPG-Datei
abspeichern kann. Solange man noch viel an den Parametern drehen muß,
schadet aber auch eine noch kleinere Größe nicht, im folgenden sind die
Bilder daher nur 200 x 150 Pixel groß.
Der erste Schritt besteht darin, eine interessante Region zu
suchen.
Schauen wir z. B. mal in die Spalte zwischen dem "Kopf" und "Körper"
der Mandelbrotmenge; nach ein paarmal Zoomen findet man eine
vielversprechende Stelle, eine Medusen-artige Struktur:
Abb. B20: Zoom in die Mandelbrotmenge
auf der Suche nach einer interessanten Region
Zunächst stellt man fest, daß es im letzten Bild noch ausgedehnte
schwarze
Regionen gibt, die nicht "Apfelmännchen-artig" aussehen, vermutlich ist
daher die maximale Iterationsanzahl, die FCM automatisch gewählt hat,
noch nicht hoch genug. Wir stellen daher im Bild-Geometrie-Dialog
(Knopf "Daten" in der Werkzeugleiste) die maximale Iterationsanzahl von
ca. 650 auf 2000, die schwarzen Regionen verschwinden damit:
Abb. B21: Maximale Iterationsanzahl auf 2000 erhöht
Allerdings sehen die Farben jetzt etwas langweilig aus, denn die
Farbenanzahl hat sich auf Grund der Kopplung der Farbenanzahl an die
Iterationsanzahl ebenfalls verändert. Solche
Spiralregionen wirken immer besonders interessant, wenn man die
Farbenanzahl so wählt, daß sich die Farben in jedem Spiralumlauf
wiederholen. Das können wir im Farben-Dialog mit dem Schieberegler
"Anzahl der Farben" bewerkstelligen.
Abb. B22: Farbverlauf "FCM",
Farbenanzahl auf 63
reduziert
|
Abb. B23: Farbverlauf "Spektrum
(s/w)",
modifiziert (weiße Farbe entfernt, alle Farben etwas nach links
verschoben)
|
In Abb. B22 ist die Farbenanzahl auf 63 reduziert, aber die Farben sind
noch etwas blaß. Der Farbverlauf "Spektrum (s/w)" sieht schon etwas
bunter aus. Noch besser wirkt das Bild, wenn man in diesem Farbverlauf
die weiße Farbe entfernt und alle Farben etwas nach links verschiebt,
so daß das
Bild einen dunklen Hintergrund bekommt, dann leuchten die Farben mehr
(Abb. B23).
Etwas unschön sind jetzt noch die Farbabstufungen, die relativ deutlich
erkennbar sind. Leider ist hier mit FCM keine direkte Abhilfe möglich,
da ist der
Fractalizer mit
seinen "Feinabstufungen" besser [vielleicht
kriege ich mal raus, wie die das machen :-)]. Man kann sich aber die
Selbstähnlichkeit der Mandelbrotmenge zunutze machen und eine kleinere
Version unserer Region suchen, die mehr Abstufungen enthält. Suchen Sie
also die nächste verkleinerte Ausgabe der Mandelbrotmenge auf der
"Antenne" der großen Menge, zoomen sie dort ebenfalls zu der gleichen
Stelle zwischen Kopf und Körper und passen Sie wieder den Farbverlauf
geeignet an.
Abb. B24: Kleinere Mandelbrotmenge auf der "Antenne" der Muttermenge
Zum Schluß überlegt man sich, wie groß das fertige Bild werden soll, z.
B. 400 x 300 Pixel. Supersampling ist hier wegen der geringen
Farbenanzahl nicht angemessen (probieren Sie es aus), daher wird die
Methode "Herunterskalieren" zur Qualitätsverbesserung angewandt.
Dazu öffnen Sie den Bild-Geometrie-Dialog und drücken drei Mal auf den
"x 2"-Knopf. Beim Verlassen des Dialogs mit OK wird dadurch ein leeres
Fenster in der Größe 1600 x 1200
Pixel erzeugt. Das Bild wird nun
neu gezeichnet (wie üblich mit dem Knopf "Zeichnen" in der
Werkzeugleiste).
Im Dialog "Einstellungen" (Menüpunkt "Datei/Einstellungen ...")
gibt
man in
der Auswahlliste "Skaliere Bild beim Exportieren auf" den Wert "25 %"
ein, verläßt
den Dialog mit OK und speichert das Bild mit Menüpunkt
"Datei/Exportiere Bild als ...".
Abb. B25: Fertiges Bild, auf 400 x 300 Pixel herunterskaliert
C. Kurze Einführung in die mathematischen
Grundlagen
Die folgenden Abschnitte geben einen (sehr) kurzen Überblick über den
mathematischen Hintergrund, der zur Erzeugung der fraktalen Grafiken
nötig ist.
1. Iterationen
Wenn man eine Iteration berechnet, führt man dieselbe Operation mehrere
Male durch, indem man das Ergebnis der Vorgängeroperation als
Eingabewert für die Nachfolgeoperation verwendet. Z. B. könnte man
beschließen, wiederholt eine Konstante zu einer Zahl zu addieren.
Angenommen, die erste Zahl sei 0 und die Konstante 1.2, dann wird man
die Zahlenfolge 0, 1.2, 2.4, 3.6, ... usw. erhalten. Das können
wir
etwas formaler schreiben:
r0
= 0
r1 = r0 +
1.2 = 0 + 1.2 = 1.2
r2 = r1 +
1.2 = 1.2 + 1.2 = 2.4
r3 = r2 +
1.2 = 2.4 + 1.2 = 3.6
...
Und kürzer:
r0
= 0, c = 1.2
rn = rn-1 +
c
Man kann diese Iteration so lange durchführen bis man sie abbrechen
möchte, z. B. wenn r
n einen Wert größer 4 erreicht hat.
Betrachten wir die folgende etwas unterschiedliche Iteration als
weiteres Beispiel:
r0
= 0, c = 1.2
rn = rn-12
+ c
Mit anderen Worten: Wähle als Startwert wieder 0 und als Konstante
wieder 1.2. Um den nächsten Wert zu berechnen, quadriere den Vorgänger
und addiere die Konstante dazu.
Das resultiert in die folgende Zahlensequenz, wie man leicht ausrechnen
kann: 0, 1.2,
2.64, 8.17, ...
Wenn wir c = 0.5 setzen, lautet die Sequenz: 0, 0.5, 0.75, 1.06, 1.63,
3.15,
10.44, ...
Wenn wir c = -2 setzen, lautet die Sequenz: 0, -2, 2, 2, 2, 2, ...
Wir halten als interessantes Ergebnis fest: Im ersten Fall ist die
vierte Zahl (8.17) größer als unsere
Grenze 4, im zweiten Fall ist die
siebte
Zahl (10.44) größer als 4, im dritten Fall erreichen wir die Grenze 4
nie! Dies hängt offensichtlich von
der Konstanten c und/oder dem Startwert r
0
ab.
Wie könnten wir das Resultat visualisieren? Wir geben jeder Zahl eine
Farbe (z. B. 4 = grün, 7 = rot, nie = schwarz) und zeichnen einen Punkt
in diesen Farben für jeden c-Wert auf einen Zahlenstrahl:
Abb. C1: Reelle Zahlenachse mit c-Werten
In diesem Bild sagen die bunten Punkte zu uns:
"Hallo, ich bin der c-Wert
-2,
und ich erreiche
nie unsere
Grenze, daher bin ich
schwarz."
"Hallo, ich bin der c-Wert
0,
und ich brauche
4 Iterationen,
um unsere Grenze zu erreichen, daher bin ich
grün."
"Hallo, ich bin der c-Wert
0.5,
und ich brauche
7 Iterationen,
um unsere Grenze zu erreichen, daher bin ich
rot."
2. Komplexe Zahlen
Um zu verstehen, was man auf den fraktalen Bildern sieht, die FCM
generiert, braucht man eine grobe Vorstellung davon, was komplexe
Zahlen sind. Komplexe Zahlen sind eine Erweiterung der reellen Zahlen.
Wie Sie sich evtl. erinnern, sind reelle Zahlen die Kombination der
rationalen Zahlen (die Menge aller Brüche) und der irrationalen Zahlen
(algebraische und transzendente Zahlen). Mit den reellen Zahlen kann
man zwar schon eine Menge machen, sie haben aber einen Nachteil: Man
kann keine Wurzel aus negativen Zahlen ziehen, weil das Produkt zweier
negativer Zahlen stets positiv ist [was könnte die Wurzel aus -2 sein?
Nein, -1.41*(-1.41) ist +2!]. Komplexe Zahlen überwinden das, indem
eine "imaginäre Einheit" i eingeführt wird, die per Definition die
Wurzel aus -1 ist; mit anderen Worten: i
2 =
-1.
Eine komplexe Zahl z hat die Form z = a + bi mit reellen Zahlen a und
b. a ist der sogenannte Realteil, b der Imaginärteil von z. Für uns
sind drei Aspekte wichtig:
- Eine komplexe Zahl kann als Punkt in der sogenannten komplexen
Ebene dargestellt werden.
- Es gibt Rechenregeln, nach denen mit komplexen Zahlen gerechnet
werden kann, insbesondere kann man sie addieren und multiplizieren.
- Eine komplexe Zahl hat einen Abstand vom Ursprung der komplexen
Ebene.
a) Die komplexe Ebene
Als Beispiel betrachten wir die komplexe Zahl
z1 = 3 + 2i. Man kann diese Zahl
in ein kartesisches Koordinatensystem an der Position (3,2)
einzeichnen. Die horizontale Achse wird verwendet, den Realteil
darzustellen, die vertikale zeigt den Imaginärteil:
Abb. C2: Die komplexe Ebene
Außerdem sieht man in Abb. C2 den Betrag von
z1 (Abstand von
z1 zum Ursprung, er
ist mit
|z1|
bezeichnet) und eine andere komplexe Zahl
z2
= 2 - 1i.
b) Rechenregeln
Wie rechnet man mit komplexen Zahlen? Das geht genauso einfach wie mit
reellen Zahlen; man muß nur beachten, daß i*i = -1 ist. Wir müssen für
eine der oben beschriebenen Iterationen nur addieren und
multiplizieren. Die Regeln für diese Operationen mit einer komplexen
Zahl
z1 = a + bi und einer
anderen
z2 = c + di sind:
Addition:
z1 + z2 = a+bi + c+di
= a+c + (b+d)i
Multiplikation: z1 * z2 = (a+bi)*(c+di)
= a*c + a*di + bi*c + bi*di
= a*c + a*di + bi*c + b*d*i*i
= a*c + a*di + bi*c + b*d*(-1)
=
ac-bd + (ad+bc)i
Und der Betrag ist definiert als:
_____
|z| =
a2+b2
Als Beispiel multiplizieren wir die Zahlen aus Abb. C2:
z1 = 3+2i und
z2 = 2-1i:
z1 * z2 = (3+2i)*(2-1i)
= 3*2 - 3*1i + 2i*2 -2i*1i
= 6 - 3i + 4i - 2i*i
= 6 + i + 2
= 8 + i
Und der Betrag von
z1 ist z. B.:
_______ ___
|z1| =
32 + 22 =
13 = 3.61
[Der Vollständigkeit halber: Die komplexen Wurzeln von -2 sind (0 +
1.41 i)
and (0 - 1.41 i), da
-1.41 i * -1.41 i = 1.41 i * 1.41 i = 2*i
2 = -2.]
3. Die Mandelbrot-Menge
Betrachten wir eine Iteration mit komplexen Zahlen. Wir können dieselbe
Iterationsformel wie in Abschnitt
C.1
benutzen, mit einem komplexen Startwert
z0 und einer
komplexen Konstanten
c,
z. B.:
z0
= 0 + 0i, c = -1.3 + 0.8i
zn = zn-12
+ c
Auf dieselbe Art wie
oben können wir fragen:
"Wie viele Iterationen brauchen wir, bis der Betrag von
zn größer ist als
4?". Und das ist genau das, was man in einem von FCM erzeugten
Mandelbrot-Bild sieht! (Um genau zu sein: Die Grenze ist nicht 4,
sondern 2.45 [Wurzel aus 6]).
In einem solchen Bild sieht man die komplexe Ebene, jeder Punkt wird
als unterschiedlicher c-Wert interpretiert. Die Ebene wird nun Punkt
für Punkt und Zeile für Zeile abgetastet, und die Iteration wird für
jeden Punkt (=c-Wert) durchgeführt. Jeder Punkt liefert die Anzahl, wie
viele Iterationen nötig sind, bis der Betrag von z größer wird als 4.
Jede Anzahl entspricht einer Farbe, und das Pixel, das zu dem c-Wert
gehört, wird in dieser Farbe gezeichnet.
Nun gibt es auch hier einige Punkte, für die der Betrag niemals größer
wird als 4. Diese Punkte werden schwarz gezeichnet, sie bilden die
Mandelbrot-Menge:
Abb. C3: Mandelbrot-Menge
Alle schwarzen Punkte bilden eine charakteristische Figur, die man in
Abb. C3 sehen kann. Die krumpelige Grenze ist eine typische fraktale
Struktur: Wenn man ein Vergrößerungsglas nähme und sie sich genauer
ansähe, sähe sie immer noch genauso verkrumpelt aus wie ohne Lupe.
Probieren Sie es aus, indem Sie mit FCM in die Ebene hineinzoomen. Sie
werden ein Universum bizarrer Strukturen entdecken; und alles kommt aus
dieser simplen Iteration!
Übrigens: Die Menge ist nach Benoit B. Mandelbrot benannt, einem
polnisch-amerikanischen Mathematiker.
4. Die Julia-Menge
Die Julia-Menge wird durch dieselbe Iterationsformel erzeugt wie die
Mandelbrot-Menge. Der Unterschied ist: Man betrachtet nicht die c-Ebene
der Konstanten c, sondern die z-Ebene der Startwerte z, wobei die
Konstante c für alle Punkte dieselbe ist.
Das bedeutet: Eine beliebige Konstante c wird gewählt. Dann wird die
komplexe Ebene abgetastet, wieder Punkt für Punkt, Zeile für Zeile.
Jeder Punkt wird diesmal aber als Startwert
z0 und nicht als c
interpretiert. Die Iteration wird ansonsten genauso durchgeführt wie
bei der Mandelbrot-Menge. Selbstverständlich ist das Ergebnis ein
anderes und hängt von der gewählten Konstanten c ab:
Abb. C4: Julia-Menge mit c = -0.8 + 0.2i
Die Julia-Menge ist nach dem französischen Mathematiker Gaston Julia
benannt.
D. Anhang
1. Bekannte Fehler
- Manchmal erscheint die "Kein Speicher mehr frei!"-Meldung nur auf
der Konsole (die man nur sieht, wenn man FCM von der Kommandozeile aus
startet) und nicht in einem Nachrichtendialog wie es sein sollte -
anscheinend fange ich noch nicht alle Out-of-Memory-Ausnahmen ab.
2. Bekannte
Unzulänglichkeiten
- Es gibt noch kein Undo.
- Die System-Zwischenablage wird noch nicht unterstützt.
- Mehrkern-Prozessoren werden nicht ausgenutzt.
- Ein Bug im Internet-Explorer 7 führt dazu, daß sich die Hilfe
nicht an der richtigen Stelle, sondern immer am Anfang der HTML-Seite
öffnet. Abhilfe: Installieren Sie z. B. Firefox und wählen sie ihn
unter "Datei/Einstellungen ..." als Browser aus.
Fehlermeldungen und Verbesserungsvorschläge sind herzlich willkommen.
Bitte schreiben Sie an
fs@friedemann-seebass.de.
3. Änderungsliste
04.06.2006: V.0.80:
- Erste veröffentlichte Version.
02.07.2006: V.0.90:
- Automatische Animationen.
- Einige Änderungen in der Oberfläche.
06.08.2006: V.1.00:
- Deutsche Benutzeroberfläche verfügbar.
- Liste der Erscheinungsbilder (im Dialog "Einstellungen") wird
jetzt dynamisch generiert; unter Linux gibt es jetzt daher zusätzlich
noch das Look-and-Feel "GTK".
- Kleinere Bugfixes.
13.08.2006: V.1.10:
- Die Menüpunkte "Neustart in Deutsch" und "Neustart in Englisch"
funktionieren jetzt auch unter Linux.
- Picken geht jetzt auch mit der Tastatur statt nur mit der Maus.
- Handhabung beim Zoomen verbessert.
31.01.2007: V.1.20:
- Der Bildausschnitt kann jetzt durch Ziehen des Bildes mit der
Maus verschoben werden.
- Der VM kann der maximale Speicher für einen Neustart zugeteilt
werden.
- Der aktuelle Speicherverbrauch kann im Programmfenster ausgegeben
werden.
11.02.2007: V.1.30:
- Der Dialog "Bild-Geometrie" wurde mit JRE Version 1.6 nicht
vollständig dargestellt und berechnete eigenmächtig die imaginären
Grenzen neu, die Fehler sind jetzt behoben.
- Bilder und Clips können beim Laden eine andere Pixelgröße
annehmen als sie beim Speichern hatten.
- Im Dialog "Einstellungen" kann man jetzt zusätzlich einen
Schalter "Nachfragen beim Beenden von FCM" anwählen.
26.10.2008: V.2.00:
- Verschiedene Farbverläufe möglich.
- Farbverlaufseditor.
- Supersampling im Raum der Iterationen.
- Herunterskalieren der Bilder beim Export zur
Qualitätsverbesserung (Antialiasing).
- Schlüsselbilder bei der Erzeugung von Animationen.
- Integration von MEncoder zur Erzeugung von AVI- und MPEG-Dateien.
20.03.2009: V.2.10:
- Neue Navigationskommandos "Gehe zu nächstem Schlüsselbild" und
"Gehe zu vorherigem Schlüsselbild".
- FCM spielt einen Sound ab, wenn Operationen beendet werden.
- Der Stopp-Button funktioniert jetzt auch mit neueren
Java-Runtime-Environments wieder zuverlässig.
- Wenn man unten in der Statusleiste auf die Bildgrenzen klickt,
wird in allen offenen Fenstern ein Rahmen eingeblendet, der die Größe
und Position des aktuellen Fensters anzeigt. Auf diese Weise kann man
leicht den Ausschnitt eines Zooms in einem Übersichtsbild wiederfinden.
- Wenn man unten in der Statusleiste auf die Julia-Konstante eines
Julia-Bildes klickt, wird in allen offenen Fenstern die Julia-Konstante
des aktuellen Bildes angezeigt.
- Kleinere Fehlerkorrekturen.
5.2.2010: V.2.11:
- In der Drop-Down-Liste für den VM-Speicher im
"Einstellungen"-Dialog gibt es jetzt Vorgabewerte bis 8 GB.
- Optimierung beim Laden von Clips: Nur die Farben werden neu
berechnet, falls die anderen Bildparameter dieselben sind.
- Neuer Menüpunkt zum gleichzeitigen Laden und Exportieren der
Bilder eines Clips.
- Neuer Menüpunkt "Anmation/Bildrate anpassen ..."; er erlaubt die
komfortable Änderung der Bildrate für einen ganzen Clip.
27.2.2010: V.2.12:
- Für den neuen Menüpunkt "Datei/Öffne
Clip, aber exportiere jedes Bild als ..." fehlte die deutsche
Übersetzung.
- Die Dateidialoge schlagen jetzt eine Datei-Extension vor, wenn
eindeutig möglich.
4. Andere Fraktalgeneratoren
Es gibt einige andere kostenlose Fraktalgeneratoren im Internet, die
mir gefallen haben:
- ChaosPro (www.chaospro.de):
Äußerst umfangreiche Einstellmöglichkeiten, verschiedenste fraktale
Algorithmen.
- Fractalizer (www.fractalizer.de):
Erzeugt nur Mandelbrotmengen, von allen mir bekannten Programmen aber
mit der besten Bildqualität.
- Fractint (spanky.triumf.ca/www/fractint/fractint.html):
Der Klassiker schlechthin, Oberfläche heutzutage etwas
gewöhnungsbedürftig, da textbasiert.
- XaoS (xaos.sf.net):
Verschiedene fraktale Algorithmen, Zoom in die Bilder in Echtzeit!