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. 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; das 32-Bit-JRE verträgt
ebenfalls nur bis zu ca. 1500 MB.) Bei einem normalen Start
durch Doppelklick auf "FCM.jar" oder "fcm.exe" startet die
VM immer mit dem Vorgabewert von nur 64 MB (bei 1 GB RAM im
System), 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.
15.7.2012: V.2.2.0:
- Es gibt jetzt eine direkt ausführbare Datei "fcm.exe". Die
frühere Datei "fcm.jar" ist immer noch vorhanden.
- FCM wird unter Windows jetzt mit einem
Installationsprogramm ausgeliefert.
- Unter Windows Vista und Windows 7 konnte man mit dem
Standard-Design nicht erkennen, welche Grafik in der
Bilderliste aktiviert ist.
- Kleinere Fehlerkorrekturen.
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!