home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GEMini Atari
/
GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso
/
zip
/
graphics
/
utility
/
anleitng.lzh
/
ANLEITNG
/
CHAOS_1.TXT
< prev
next >
Wrap
Text File
|
1992-09-27
|
125KB
|
2,770 lines
CHAOSultd
Version 5.0m
Version 5.0c
15.8.1992
von
Th. Morus Walter
Inhaltsverzeichnis
1 allgemeine Beschreibung und Leistungsfähigkeit 4
2 Copyright 5
3 Installation 5
3.1 benötigte Hardware 5
3.2 Lieferumfang 6
3.3 Installation 6
4 Danksagung 7
5 zur Geschichte von CHAOSultd V5.0 7
5.1 Vorgeschichte 7
5.2 CHAOSultd V5.0 8
5.3 Änderungen gegenüber FRACTAL 4.30 9
5.4 Ausblick 9
6 Fehler 10
6.1 eliminierte Fehler 11
6.2 bekannte Fehler 11
6.3 unbekannte Fehler 12
6.4 Fehler in der Anleitung 12
7 zu dieser Anleitung 12
I CHAOSultd 14
1 Verwaltung von Bildern - der Desktop 14
1.1 Objekte 14
1.2 Objekt-Icon 14
1.3 Selektieren von Objekten 15
1.4 Scrollen 15
1.5 Infoleiste 16
1.6 Speicher-Info 16
1.7 Bilder Packen 17
1.8 Objekte löschen 18
2 Bilder erzeugen 18
2.1 neue Bilder 18
2.2 Weiterberechnen von Bildern 18
2.3 Vier Bilder 19
2.4 Neu berechnen 19
1
3 Anzeigen 19
3.1 Bilder anzeigen 19
3.2 Block zeigen 21
3.3 Bildvergleich 22
3.4 Parameter anzeigen 22
3.5 Bildinfo 22
4 Filme 23
4.1 Filme erzeugen 23
4.2 Filme ändern 24
4.3 Filme anzeigen 24
5 Input/Output 24
5.1 Speichern 24
5.2 Laden 25
5.3 Drucken 26
6 Einstellungen 27
6.1 allgemeine Einstellung 28
6.2 Druckereinstellung 29
6.3 Voreinstellung der Bildparameter 30
7 Besonderheiten der Farbversion 30
7.1 Auflösungswechsel 30
7.2 Farbeinstellung 30
8 Tastatur-Kommandos 32
9 Sonstiges 32
II die Fractal-Routinen 33
1 der Algorithmus 33
2 Parameter 33
2.1 benötigte Parameter 33
2.2 Eingabe der Parameter 35
2.3 Fractalbildfolgen 37
2.4 3d Fractale 37
2.5 freie Fractale 37
3 unterstützte Optionen 39
3.1 Parameter anzeigen 39
3.2 Bild-Info anzeigen 39
3.3 Bilder anzeigen 40
3.4 Block zeigen 40
3.5 neu berechnen 40
2
3.6 Vier Bilder 40
3.7 Hardcopy 40
III Hüpfer 41
1 der Algorithmus 41
2 Parameter 41
3 unterstützte Routinen 42
IV Feigenbaum-Diagramme 43
1 Algorithmus 43
2 Parameter 43
3 unterstützte Routinen 43
V Dateiformate 45
1 CHAOSultd-Bilder 45
2 Filme 46
3 Einstellungen 47
VI die Schnittstelle für externe Routinen 48
1 Beschreibung der benötigten Routinen 48
1.1 allgemeine Angaben 49
1.2 Routinen 50
2 Beschreibung der von CHAOSultd zur Verfügung gestellten Routinen 55
2.1 Routinen 56
2.2 Variable 62
3 Vorgehensweise 63
3
1 allgemeine Beschreibung und Leistungsfähigkeit
CHAOSultd V5.0 ist ein universelles Programm zur Erzeugung und Verwaltung fraktaler
und chaotischer Bilder auf dem Atari ST.
Ein paar Stichworte zum Funktionsumfang:
o Versionen für Farb- und Monochrom-Betrieb
im Farb-Betrieb läuft das Programm in mittlerer Auflösung, schaltet für die Darstel-
lung von Bildern aber in niedrige Auflösung um
o Verwaltung von bis zu 9999 Bildern solange der Speicher reicht
durch Packen der Bilder sind bei 4 MByte Speicher bis zu mehreren hundert Bildern
(in Screen-Grösse) möglich
o drei Bildgrössen
o Berechnung von Bildfolgen, bei denen man nur Start- und Endwerte angibt
o Verwaltung von (beliebigen) Bildserien als Film
o umfangreiche Hardcopyfunktion für 24Nadel Matrixdrucker
o Erweiterbarkeit um eigene, externe Berechnungsroutinen
o Berechnungsroutinen für
- Fractale (einschliesslich Mandelbrot- und Juliamengen)
* Schwarzweiss- und Graustufenbilder (in der SW-Version)
* eine schnelle Berechnung der Bilder (es gibt zugegebenermassen auch noch
etwas schnellere Apfelmännchenprogramme, aber CHAOSultd braucht sich
auch in dieser Hinsicht nicht zu verstecken)
- (pseudo) dreidimensionale Fractale
- Fractale mit frei definierter Berechnungsformel (Pickovermengen)
- Hüpfer (nach Barry Martin)
- Feigenbaum-Diagramme
Bei der Implementierung der Berechnungsroutinen wurde insbesondere auf möglichst flexi-
ble Parametereingaben geachtet. Dadurch hat der Anwender bei der Bilderzeugung mehr
Möglichkeiten als in anderen Programmen. Andererseits in CHAOSultd dadurch sicher nicht
das einfachste Programm zur Erzeugung von fraktalen und chaotischen Bildern; an vielen
Stellen ist es von Vorteil, wenn man eine Vorstellung von der Arbeitsweise des hinter den
Bildern stehenden Algorithmus' hat. Insofern richtet sich CHAOSultd auch nicht in erster
Linie an Anfänger in Sachen Fraktale. Die Algorithmen werden zwar in der Anleitung kurz
beschrieben, dabei werden aber teilweise mathematische Grundkenntnisse (z.B. komplexe
Zahlen) vorausgesetzt.
Trotz dieser Warnung ist natürlich jeder herzlich eingeladen, selbst festzustellen, ob er etwas
mit dem Programm anfangen kann. Insbesondere sei hier noch auf die Beispiel-Bilder hin-
gewiesen, von denen man ja bei eigenen Experimenten mit den vielen Parametern ausgehen
kann.
4
2 Copyright
CHAOSultd V5.0 (c) 1992 by TMMW Th. Morus Walter!
Th. Morus Walter
Schulstr. 22
W-8401 Pentling
Tel. 0941 949802
Dieses Programm ist Public Domain!
Das Programm darf frei kopiert und weitergegeben werden, wobei aber alle in Abschnitt
3.2 genannten Dateien kopiert werden müssen.
Komerzielle Nutzung ist ausgeschlossen, mit Ausnahme der für den Vertrieb von PD-
Disketten üblichen Kopiergebüren.
Hinweis
Die Benutzung des Programmes geschieht auf eigene Gefahr. Der Autor garantiert weder
für irgendwelche Schäden (am Rechner oder auch am Benutzer) noch für die korrekte Funk-
tionsweise des Programmes. Insbesondere wird nicht garantiert, dass den erzeugten Bildern
auch wirklich die beschriebenen Algorithmen zugrundeliegen, auch wenn ich natürlich davon
ausgehe.
noch ein Hinweis
Nie wieder Krieg! Nie wieder Faschismus!
3 Installation
3.1 benötigte Hardware
CHAOSultd V5.0 sollte auf jedem Atari ST mit mindestens 1 MByte laufen (je mehr
Speicher desto besser)1.
Das Programm greift direkt auf den Bildschirmspeicher zu und läuft deshalb nur in den Stan-
dartauflösungen, dabei ist CHS_ULTD.PRG im Monochrombetrieb und CHS_ULTC.PRG
in der mittleren Auflösung zu verwenden (die Farbversion CHS_ULTC schaltet dann aller-
dings zur Anzeige von Bildern in die geringe Auflösung).
Grafikkarten irgendwelcher Art werden nicht unterstützt.
Die Lauffähigkeit auf einem TT ist mir unbekannt (wenn mir einer einen TT schenkt,
dann teste ich das ganze gerne), zumindest die Monochrom-Version sollte laufen (in der
entsprechenden Auflösung).
CHAOSultd V5.0 unterstützt beliebige Massenspeicher (ohne Festplatte dauert das Spei-
chern natürlich länger) und 24-Nadel-Matrixdrucker. Andere Druckertypen werden (stark)
eingeschränkt unterstützt.
____________________________________1
theoretisch läuft das Programm auch mit 512 kByte, sinnvoller Betrieb ist so aber kaum mö*
*glich
5
3.2 Lieferumfang
CHAOSultd umfasst die folgenden Dateien und Ordner:
CHS_ULTD.PRG das Programm für die hohe Auflösung
CHS_ULTC.PRG das Programm für die mittlere/geringe Auflösung
READ_ME.TXT
CHS_ULTD\
CHS_ULTD.RSC die Resourcedatei für die hohe Auflösung
CHS_ULTD.SET die Einstellungen für die hohe Auflösung
CHS_ULTC.RSC die Resourcedatei für die mittlere Auflösung
CHS_ULTC.SET die Einstellungen für die mittlere Auflösung
FEIGBAUM.XCH die (externen) Routinen für Feigenbaum-Diagramme
(nur hohe Auflösung)
FEIGBAUM.RSC deren Resource-Datei
ANLEITNG\
CHS_ULTD.DVI die Anleitung im TEX Format
CHS_ULTD.TXT und als ASCII-Text
CHS_EXT.DVI die Programmieranleitung der Schnittstelle im TEX Format
CHS_EXT.TXT und als ASCII-Text
CHS_ULTD.TOS die Anleitungen als Postscript-Datei
(selbstentpackendes Archiv)
BEISPIEL\ Ordner mit Beispielen (unberechnet)
SOURCEN\
FEIGBAUM.C der Quelltext der Feigenbaum-Routinen
FEIGBAUM.RSC Resource-Datei
FEIGBAUM.DFN Definitions-Datei der Resourcen
FEIGBAUM.H Header-Datei zu den Resourcen
XCOMMON.H Header-Datei für die externen Routinen
GEM.H Header-Datei mit GEM-Macros
3.3 Installation
Installieren im eigentlichen Sinne braucht man CHAOSultd nicht. Man kopiert einfach die
Programm-Dateien CHS_ULTD.PRG, CHS_ULTC.PRG, sowie die Dateien im Ordner CHS_UTLD
auf eine Diskette bzw. in irgendeinen Ordner auf der Festplatte. Möchte man ausschliesslich
die sw-Version oder ausschliesslich die Farb-Version verwenden, so kann man sich natürlich
auf die entsprechenden Dateien beschränken.
Wesentlich bei der Installation ist nur, dass sich die Resource-Dateien, die Parameterdateien
(*.SET) und alle externen Berechnungsroutinen (bisher nur FEIGBAUM.XCH) relativ zu den
Programmdateien in einem Ordner CHS_ULTD befinden, da das Programm sie sonst nicht
findet.
6
4 Danksagung
CHAOSultd V5.0 wurde im wesentlichen mit Hilfe folgender Programme entwickelt:
o Pure C 1.0, PureDebugger
o Devpac Assembler
o Interface Resource Construction Set
o Tempus Editor
o Gemini (als Grundlage für alles andere)
o Lindner-TEX (für diese Anleitung)
besonderen Dank an
o Michael G.
für die Fliesskommaroutinen der freidef. Fractale
und einige gefundene Fehler
5 zur Geschichte von CHAOSultd V5.0
Vorbemerkung:
einige der folgenden Abschnitte sind sicher nur von begrenzten allgemeinem Interesse. Ich
nehme mir aber die Freiheit sie trotzdem zu schreiben. Zumindest den Abschnitt 5.2 sollte
man auch lesen.
5.1 Vorgeschichte
o CHAOSultd V5.0 ist der Nachfolger von FRACTAL 4.30
o FRACTAL 4.30 ist eine erweiterte Version von FRACTAL 4.10
o FRACTAL 4.10 ist der Nachfolger von FRACTALS 3.00
o FRACTALS 3.00 ist eine erweiterte Version von FRACTALS 2.20
o FRACTALS 2.20 ist der Nachfolger von APFELMÄNNCHEN 1.10
o APFELMÄNNCHEN 1.10 ist der Nachfolger von APFELMÄNNCHEN 1.00
o APFELMÄNNCHEN 1.00 ist das erste Apfelmännchenprogramm das ich für den ST
geschrieben habe. Das Programm entstand im Herbst 1986, es hatte keine GEM-
Umgebung aber GEM-Dialogboxen, die ich damals (in Ermangelung eines Resource-
Construction-Sets) von Hand erstellt haben. Die Berechnung erfolgte in C und war
ätzend langsam.
7
o APFELMÄNNCHEN 1.10 vom 13.1.87 erhielt dann eine GEM-Oberfläche mit
Menü und Fenstern.
o Der nächste Schritt bestand in der Ersetzung der C-Routinen zur Berechnung durch
schnelle Assembler-Routinen sowie in der Farbanpassung; ausserdem wurden pseudo-
dreidimensionale Fractale ermöglicht. Das Ergebnis war (mit verschollenen Zwischen-
schritten) FRACTALS 2.20 vom 8.2.88
o Für FRACTALS 3.00 vom 30.4.88 wurde die Berechnungsroutine und die anzugeben-
den Parameter verallgemeinert, um auch Julia-Mengen berechnen zu können.
o Der nächste grosse Schritt war dann FRACTAL 4.10 vom 25.8.90. Die Fenster zur An-
zeige von Bildern wurden aufgegeben, das Programm kann dafür auf einem eigenen
Desktop bis zu 88 Bildern verwalten. Zusätzlich wurde zur Erzeugung von Pickover-
Mengen ein Formelcompiler eingebaut, so dass man Fractale mit frei definierter Be-
rechnungsformel erzeugt werden können.
o Als nächster Schritt wurde für FRACTAL 4.30 vom 25.3.92 der Desktop sowie die
Bild- und Speicherverwaltung für die Verwaltung von bis zu 9999 Bildern (soweit der
Speicher dafür reicht) umgeschrieben
Soweit die Vorgänger von CHAOSultd V5.0 . Die Beschreibung der Features der einzelnen
Programme ist natürlich rudimentär und soll lediglich den generellen Gang der Entwicklung
bis hin zu CHAOSultd V5.0 beschreiben.
Wie man sieht habe ich die Nummerierung der Versionen unabhängig von den variierenden
Namen durchgezogen. Ein neuer Name wurde im Prinzip immer dann eingeführt, wenn sich
die nächste "Version" wesentlich vom Vorgänger unterschied.
5.2 CHAOSultd V5.0
Wer FRACTAL 4.30 kennt und jetzt CHAOSultd V5.0 ausprobiert, wird sich vermut-
lich fragen, was denn in CHAOSultd V5.0 so neu ist, dass ich auch hier einen neuen Na-
men gewählt habe. Die Unterschiede sind nach aussen und auf den ersten Blick in der Tat
nicht sonderlich gross - mal abgesehen von den neuen Berechnungsroutinen für Hüpfer- und
Feigenbaum-Diagramme.
Der wesentliche Unterschied liegt im Inneren von CHAOSultd. In FRACTAL 4.30 waren die
Routinen zur Parametereingabe, zur Berechnung und zur Anzeige von Bildparametern und
Daten integraler Bestandteil des Programmes. Das Programm war als solche Einheit nur
schwer durch neue Berechnugsroutinen zu erweitern, da ich dafür das Programm jedesmal
komplett hätte umschreiben müssen.
CHAOSultd zerfällt nun in zwei Bereiche: den Verwaltungsteil und die Berechnungsroutinen.
Der Verwaltungsteil enthält alle Routinen zur Verwaltung der Bilder, zum Laden und Spei-
chern, für Filme zum Anzeigen usw. Die Bildparameter werden zwar mitverwaltet, dieser
Teil des Programmes kennt aber nur ihre Länge und kümmert sich nicht darum, was in den
Bildparametern drinsteht.
Zu den Berechnugsroutinen gehört neben der eigentlichen Bild-Berechnung die Eingabe und
Anzeige von Bildparametern etc.
Die beiden Bereiche sind weitgehend getrennt, der Verwaltungsteil kennt von den Berech-
nungsroutinen lediglich eine Daten-Struktur, in der einige Angaben wie Parameterlänge
8
etc. festgelegt werden und in der die Adressen der verschiedenen Routinen stehen, über
die sie der Verwaltungsteil, der ja auch die ganze Programmsteuerung über Menü, Tasta-
tur und Desktop übernimmt, dann aufruft. Die Anzahl möglicher Berechnungsroutinen ist
dabei variabel.
Das ganze hat zweierlei Auswirkungen:
zum einen kann ich als Autor neue Berechnungsroutinen ohne Änderungen am Verwaltungs-
programm aufnehmen,
zum anderen ermöglicht diese Aufteilung eine Schnittstelle zu externen (von CHAOSultd
nachgeladenen) Programmen, die dann ihrerseits zusätzliche Berechnungsroutinen und da-
mit Bildtypen zur Verfügung stellen können. Für den Benutzer von CHAOSultd gibt es
dabei keinen Unterschied zwischen internen (also von mir fest in das Programm eingebau-
ten) und externen Routinen. Externe Berechnungsroutinen können im Prinzip von jedem
Programmierer realisiert werden.
Zu den Details der Schnittstelle siehe Teil VI dieser Anleitung.
5.3 Änderungen gegenüber FRACTAL 4.30
Neben einer Reihe eliminierter Fehler (vgl. 6.1) wurden - abgesehen von den immensen
internen Änderungen und den neuen Routinen zur Berechnung von Bildern mit dem Hüpfer-
und Feigenbaum-Algorithmus - einige Details geändert:
o CHAOSultd besitzt ein neues Dateiformat; ich hoffe es ist mir gelungen dieses so
allgemein zu definieren, dass es für die Zukunft bestand hat. Bilder in FRACTAL-
Formaten können weiter geladen werden - mit Ausnahme von nicht fertig berechneten
3d-Bildern.
o das Speicher-Info (via Klick auf die Info-Leiste) ist umfangreicher und informativer
geworden
o die Einstellung der maximale Tiefe, die bei Punktinfos von Fractalen verwendet wer-
den soll, ist der neuen Struktur zum Opfer gefallen. Statt dessen wird jetzt die maxi-
male Tiefe des Bildes verwendet.
o Die Menüs haben sich geändert, die (scheinbar) weggefallenen Menüpunkte für das
Voreinstellen der Parameter erreicht man durch SHIFT-Klick auf die Menüpunkte im
Neu-Menü.
o für den Desktop sind einige neue Tastaturkommandos dazugekommen (vgl. I.1.3)
Die Liste ist vermutlich nicht vollständig, ich habe mal wieder nicht Buch geführt, was ich
alles gemacht habe.
5.4 Ausblick
CHAOSultd ist entstanden, weil ich gewissermassen den Ehrgeiz habe, das ultimative Fractal-
Programm für den ST zu schreiben.
Ich glaube nicht, dass ich das irgendwann schaffe, aber ich denke doch, dass CHAOSultd
V5.0 einen Schritt in diese Richtung darstellt.
9
Wesentliche Einschränkungen in CHAOSultd V5.0 sind allerdings die fest vorgegebenen
Bildgrössen und vor allem die Beschränkung auf ST-Standartauflösungen. Auch für künf-
tiges Multitasking unter GEM ist CHAOSultd V5.0 durch den direkten Zugriff auf den
Bildschirmspeicher natürlich nicht zu gebrauchen.
Deshalb habe ich schon wieder gewisse Vorstellungen über einen Nachfolger für CHAOS-
ultd V5.0 , der dann wohl CHAOSultd V6.x heissen wird und dann wieder voll in GEM
eingebunden sein soll.
Eine solche GEM-Einbindung hat allerdings, das muss man ganz klar sehen, auch ettliche
Nachteile, insbesondere was die Anzeigegeschwindigkeit angeht. Auch ein Mischbetrieb Mi-
dRez/LowRez wie in der jetztigen Farbversion wäre nicht mehr möglich; da das Programm
sicher nicht vollständig in LowRez laufen wird wäre auf einem Standart-ST nur noch Mo-
nochrom oder Vier-Farb-Betrieb möglich.
Deshalb wird CHAOSultd V6.x die jetztige Version 5.0 sicher nicht ablösen, sondern neben
deren Farb- und Monochrom-Version als Gem-Version koexistieren.
Ob überhaupt und wenn, wann und wie es CHAOSultd V6.x geben wird ist aber in keiner
Weise vorhersagbar!
Ich werde deshalb auch keinerlei Anfragen nach CHAOSultd V6.x beantworten!
6 Fehler
"Programme laufen nicht" lautet bekanntlich eine mögliche Formulierung von Murphy's
Gesetz für Programmierer.
Nun am Ende der Programm-Entwicklung hat man es meist geschafft, diesen Satz im kon-
kreten Einzelfall zu widerlegen (oder man hat kein Programm und braucht keine Anleitung
zu schreiben) - jedenfalls mehr oder weniger. So ist es auch hier.
Andererseits gibt es eine weitere, schwächere Folgerung aus Murphy's Gesetz die besagt, dass
jedes nicht-triviale Programm mindestens einen Fehler enthält. Mit an Sicherheit grenzender
Wahrscheinlichkeit trifft dies auch hier zu.
Für CHAOSultd V5.0 ergibt sich aus der langen Liste seiner Vorfahren ein weiteres Risko.
Ich habe das Programm wie beschrieben mehrfach umgeschrieben, und dabei natürlich nicht
jedesmal das ganze Programm neugeschrieben, sondern den vorhandenen Quelltext verwen-
det. Einerseits kann man auf diese Weise natürlich Fehler früherer Versionen eliminieren2,
was (siehe nächsten Abschnitt) durchaus auch passiert. Andererseits kann bei der Anpas-
sung eines vorhanden Quelltextes besonders viel schiefgehen, womit wir bei Murphy's Gesetz
im Original wären: wo viel schiefgehen kann, geht auch viel schief.
Bevor Sie jetzt entsetzt das Programm wegwerfen, sollten Sie sich überlegen, dass Sie das
dann konsequenterweise mit allen anderen Programmen (einschliesslich des Betriebssystems)
auch tun müssten.
Ich habe CHAOSultd V5.0 soweit möglich getestet und es läuft. Das Programm ist soweit
möglich fehlertolerant, sollte also auch bei Fehlbedienung nicht gleich schlappmachen3.
____________________________________2
wobei man allerdings mit der zu obigem Gesetz gehörenden Feststellung leben muss, dass das*
* Entfernen
eines Fehlers mindestens einen neuen Fehler nach sich zieht
3allerdings ist es bei Parametern von Berechnungsroutinen teilweise möglich ist, unsinnige *
*Angaben zu
machen, die nicht von der Eingaberoutine zurückgewiesen werden, dadurch aber auch nicht sinnvo*
*ll werden
10
6.1 eliminierte Fehler
Einige Fehler die sich noch in FRACTAL 4.3 befinden wurden von mir entdeckt und konnten
in CHAOSultd V5.0 beseitigt werden (mit Ausnahme des ersten Fehlers sind sie ziemlich
harmlos):
o verwendet man in der Abbruchbedingung (oder beim Punkte-Setzen) freier Fractale
die Verknüpfung 'xor', so stürzt FRACTAL 4.3 gnadenlos ab
o die Routine zum Speichern von GEM-Image-Dateien versagte, wenn man Bilder mit
mehr als 255 gleichen Zeilen speicherte. Bei Fraktalen mit wenig berechneten Zeilen
kann dies durchaus passieren, allerdings speichert man die gewöhnlich nicht als GEM-
Image.
o kam es beim Laden von GEM-Image-Dateien zu Tos-Fehlern, so wurde dennoch ein
Objekt erzeugt.
o liess man sich in der Farb-Version die Fraktal-Parameter anzeigen und rief dann von
den Parametern aus die Farb-Einstellung auf, so wurde nach Verlassen der Parameter-
Dialogbox nicht mehr das Bild angezeigt, sondern die Farb-Einstellung, allerdings
ohne Rasterzeilen-Interupt. Liess man das nächste Bild anzeigen, so war wieder alles
in Ordnung.
o rief man beim Anzeigen von Bildern bei eingeschalteter Farbanimation die Farb-
Einstellung auf, so wurde die Animation nicht abgeschaltet. Da andererseits wegen des
Rasterzeilen-Interupts zweimal pro Bildschirmfrequenz die Farbtabelle gesetzt wird,
führte dies zu einem etwas lästigen Flackern.
o lädt man einen Film mit relativen Pfadangaben, so wurden Bilder die bereits im
Speicher stehen nicht erkannt sondern nochmal geladen
6.2 bekannte Fehler
CHAOSultd V5.0 enthält gegenwärtig einen bekannten Fehler:4
Berechnet man freie Fractale und verwendet in der Abbruchbedingung die 'xor'-
Verknüpfung (nein, Abstürzen tut CHAOSultd V5.0 nicht mehr dabei), so erhält man
(total) unterschiedliche Ergebnisse, je nachdem ob man mit der schnellen oder der exakten
Berechnung arbeitet.
This is not a feature, this is a bug!
Das Ganze hat vermutlich folgenden Hintergrund: die Routinen zur Berechnung freier Frac-
tale ignorieren Fliesskommafehler jeglicher Art, insbesondere auch Überläufe5.
Verwendet man nun die 'xor'-Verknüpfung, so wird die Berechnung nicht abgebrochen, falls
beide Bedingungen erfüllt sind6, so dass es leicht zu einem Überlauf kommen kann (das kann
____________________________________4
der Satz ist natürlich falsch formuliert; korrekt müsste man sagen:
von den Fehlern die CHAOSultd V5.0 enthält ist gegenwärtig einer bekannt
5als ich die Routinen geschrieben habe, bin ich davon ausgegangen, dass keine Fliesskommafeh*
*ler auftreten;
eine aufwendige Behandlung der Fliesskommafehler schien also überflüssig und würde nur Zeit *
*kosten (beim
Entwickeln der Routine wie beim Berechnen der Bilder); sie jetzt einzufügen ist mir im Moment *
*zu viel
Arbeit
6wenn man an dieser Stelle über den Sinn der Abbruchbedingung nachdenkt wird einem natürli*
*ch klar,
dass 'xor' hier a priori nicht besonders sinnvoll ist, aber der Vollständigkeit gehört es hal*
*t auch dazu
11
man sich im Debugger auch anschauen). Anscheinend reagieren die beiden verschiedenen
Fliesskomma-Routinen nun bei und nach dem Überlauf anders, so dass sich verschiedene
Resultate ergeben. Dabei ist das Ergebnis der schnellen Berechnungsroutine dasjenige, das
(logischen Überlegungen folgend, d.h. vielleicht) richtiger ist - richtiger insofern, als hier
trotz der Fliesskomma-Überläufe die Punkte als unendlich tief erscheinen.
6.3 unbekannte Fehler
gibt es nach obigen allgemeinen Überlegungen sicherlich jede Menge. Ich hoffe, es treten
wenigstens keine schwerwiegenden Fehler mehr auf.
Kommt es bei der Benutzung von CHAOSultd zu irgendwelchen kritischen Situationen so
empfehle ich die Bemerkung in der rechten oberen Bildschirmecke zu beherzigen. Sie wurde
extra zu diesem Zweck dort installiert7.
Sollten Sie einen Fehler finden, so dürfen Sie ihn zunächst einmal behalten.
Sollte der Fehler reproduzierbar sein, so wäre ich darüberhinaus für eine ausführliche Be-
schreibung des Fehlers und seiner Erzeugung dankbar (behalten dürfen Sie ihn natürlich
trotzdem erst mal).
6.4 Fehler in der Anleitung
Die Anleitung soll das Programm beschreiben. Tut sie das an irgendeiner Stelle nicht, so
irrt die Anleitung und nicht das Programm8.
Für Druk-Feeler in Anleitung gilt die Devise:
This is not a bug, this is a feature.
Druckfehler in der Anleitung dienen der Auflockerung des Textes und sollen insbesondere
denen, die sonst nichts verstehen, Gelegenheit zu Erfolgserlebnissen geben, wenn sie welche
finden.
7 zu dieser Anleitung
Real programmers don't read manuals heisst es, und ich mache das häufig genauso.
Dennoch möchte ich an dieser Stelle jedem die Lektüre der Anleitung (auch wenn sie sehr
lang geworden ist) nahelegen. Man sollte sie wenigstens mal überflogen haben, da das Pro-
gramm zwar mehr oder weniger konsequent in GEM eingebunden ist, viele der Möglichkeiten
und Details des Programmes aber nicht sofort ersichtlich sind.
Die Anleitung ist - entsprechend der Modularität des Programmes - in mehrere Abschnitte
aufgeteilt. Im ersten Abschnitt wird lediglich die allgemeine Benutzung des Verwaltungstei-
les, im wesentlichen ohne konkreten Bezug auf irgendwelche Berechnungsroutinen, beschrie-
ben. Die Beschreibung der Berechnungsroutinen für Fraktale, Hüpfer und Feigenbaumdia-
gramme folgt dann in den weiteren Abschnitten.
Bei der Beschreibung von CHAOSultd V5.0 gehe ich im folgenden in etwa in der Reihenfolge
vor, wie man sie auch bei der Benutzung des Programmes gebraucht. Da keine konkreten
Bilderzeugungsroutinen beschrieben werden, sollte man eventuell parallel entsprechende
____________________________________7
darüberhinaus soll diese Bemerkung natürlich zur Verbreitung von CHAOSultd beitragen, D. *
*Adams
zufolge ist sie dazu bestens geeignet
8an sich wäre es ja umgekehrt auch ganz nett, aber das Risiko ist mir zu gross, die Anleitu*
*ng anzupassen
ist in jedem Fall das kleinere Übel
12
Abschnitte der folgenden Teile lesen, wobei die Fractal-Routinen wohl am ausführlichsten
beschrieben sind. Bei den anderen Routinen wird ihre Kenntnis teilweise vorausgesetzt.
Auch ist es natürlich sinnvoll, die diversen Möglichkeiten gleich auszuprobieren; möglicher-
weise wird erst an Hand des Programmes selbst, klar, wie die eine oder andere Bemerkung
in der Anleitung gemeint ist (sorry, aber noch ausführlicher kann ich das Programm wirklich
nicht beschreiben).
Wird in der Anleitung auf Menüeinträge oder Texte von Button verwiesen, so sind diese
in Sans Serif gesetzt. Tasten erscheinen in Typewriter. (Leser der ASCII-Version dieser
Anleitung haben davon leider garnichts.)
Der letzte Teil dieser Anleitung beschreibt die Schnittstelle für externe Routinen. Da er so-
mit nur für einen kleinen Teil der Anwender von CHAOSultd von Interesse ist (und doch etli-
che Seiten umfasst) ist er in eine eigene Datei ausgelagert. Er erscheint allerdings vollständ*
*ig
im Inhaltsverzeichnis.
Die zugrundeliegenden Algorithmen und die sich daraus ergebenden Formen werden nur
ansatzweise beschrieben. Ich möchte deshalb hier auf die einschlägige Literatur verweisen:
die meisten Anregungen habe ich den Sonderheften Computerkurzweil I-IV der Zeitschrift
Spektrum der Wissenschaft entnommen. Sie sind zwar soweit ich weiss einzeln nicht mehr
erhältlich, dafür gemeinsam in Buchform. Dort finden sich auch weitere Literaturangaben.
In einem Artikel in der ST-Computer (11/91) über Iterierte Funktionensysteme (eine Imple-
mentation für CHAOSultd ist in Arbeit wird aber noch etwas dauern) wird unter anderem
noch auf die folgenden beiden Werke verwiesen:
H.-O. Pleitgen, D. Saupe (Hrsg), The Science of Fractal Images, Springer Verlag 1988
Benoit B. Mandelbrot, Die fractale Geometrie der Natur, Birkhäuser 1987
13
Teil I
CHAOSultd
Das mit Abstand wichtigste an CHAOSultd ist die Bemerkung in der rechten oberen
Bildschirm-Ecke. Man sollte sich beim Umgang mit diesem (und jedem anderen) Programm
stets daran halten.
1 Verwaltung von Bildern - der Desktop
Zur Verwaltung von Bildern dient der Desktop von CHAOSultd. Er besteht aus der Infolei-
ste, vier Button zum Scrollen der Objekt-Icon und den Objekt-Icon selber.
1.1 Objekte
Mögliche Objekte sind
1. Fraktale
Unter Fraktalen verstehe ich alle Bilder, die durch irgendwelche Berechnugsroutinen
in CHAOSultd erzeugt werden. Insofern ist die Bezeichnung Fraktale natürlich nicht
ganz richtig, da solche Bilder nicht notwendig fraktal sein müssen9.
Fraktale können drei verschiedene Bildgrössen haben: grosse Bilder haben Bildschirm-
grösse, mittlere Bilder sind etwa halb so gross (in der Fläche) und kleine Bilder ent-
sprechen einem Viertel-Bildschirm.
2. Bilder
gemeint sind parameterlose Bilder, die entweder geladen oder nach Bildvergleich (siehe
3.3) erzeugt wurden
Bilder haben stets Bildschirmgrösse
Bilder ohne Parameter sind hauptsächlich der Vollständigkeit halber integriert (etwa
um sie in Filme als Titel aufnehmen zu können), sie spielen im folgenden kaum eine
Rolle
3. Filme (siehe 4)
1.2 Objekt-Icon
Jedes im Speicher vorhandene Objekt wird auf dem Desktop durch ein Icon repräsentiert.
Die verschiedenen Objekte werden durch verschiedene Icon dargestellt, verschiedene Fraktal-
Typen besitzen ebenfalls verschiedene Icon.
Neben dem Objekt-Typ kann man an den Icon noch eine Reihe weiterer Informationen über
die von ihnen repräsentierten Objekte ablesen:
____________________________________9
Bisweilen ist in dieser Anleitung auch von Fractalen die Rede, gemeint sind dann speziell B*
*ilder, die mit
den eingebauten Routinen unter den Menüpunkten Fractal(e), freie Fract. und 3d Fractal(e) erze*
*ugt wurden.
14
o noch nicht fertig berechnete Fraktale werden ohne Rahmen dargestellt, fertige Objekte
mit (Bilder und Filme sind in diesem Sinne immer fertig, auch wenn dies bei Filmen
nicht unbedingt logisch ist).
o die Bildgrösse von Fraktalen wird durch einen Buchstaben ('K', 'M' und 'G') angezeigt
o gespeicherte Objekte werden mit einem Haken markiert, neue oder geänderte Objekte
haben keinen Haken
1.3 Selektieren von Objekten
Zum Selektieren (und Deselektieren) von Objekten stellt CHAOSultd eine Reihe von
Möglichkeiten zur Verfügung:
o einfaches Anklicken eines Objektes ändert den Auswahlzustand (nicht selektierte Ob-
jekte werden selektiert, selektierte deselektiert)
o Doppelklick deselektiert alle Objekte; führt man den Doppelklick auf ein Objekt aus,
so wird dieses anschliessend selektiert (auf diese Weise kann man also genau ein Objekt
selektieren)
o um mehrere, aufeinanderfolgende Objekte zu selektieren kann man das erste und das
letzte Objekt der Folge mit gedrückter SHIFT-Taste anklicken (die Reihenfolge ist
dabei egal)
o ein SHIFT-Klick auf einen Film führt zum Selektieren des Filmes und aller in ihm
vorkommenden Bilder
Neben den Mauskommandos hat man noch eine Reihe von Tastaturkommandos zum Selek-
tieren von Bilder:
Mit den Tasten F1 bis F8 selektiert man eine Zeile (1 bis 8); wählt man dabei eine Zeile,
die kein Objekt enthält, so wird die letzte nichtleerer Zeile eingestellt.
Mit den Tasten 1 - 9, 0 und ss kann man dann die einzelnen Objekte dieser Zeile ansprechen,
mit TAB die ganze Zeile; ESC wirkt auf alle Objekte (unabhängig der eingestellten Zeile).
Die Taste BACKSPACE bezieht sich auf alle geänderten, aber nicht gespeicherten Objekte,
DEL auf alle fertigen Bilder, ~ auf alle nicht fertigen. Die Tasten . und - beziehen sich auf
jedes zweite bzw. vierte Objekt10
Dabei wird das Objekt bzw. die Objekte bei normalem Tastendruck selektiert, mit SHIFT-
Taste deselektiert, mit CONTROL geändert und mit ALT als einziges Objekt selektiert.
Die Tastaturbefehle für das Desktop sind auch in einer Dialogbox zusammengefasst, die man
durch Drücken der HELP-Taste aufrufen kann.
1.4 Scrollen
Werden mehr als 88 Objekte erzeugt, so passen sie nicht mehr auf den Bildschirm. Man
kann dann mit den Scrollbutton '<', '<<', '>' und '>>' das erste anzuzeigende Objekt
bestimmen.
____________________________________10
damit kann man beispielsweise Bildfolgen teilweise berechnen lassen und so schon mal die Wi*
*rkung
beurteilen
15
Dabei scrollt '<' und '>' je eine Zeile nach oben bzw. unten, '<<' und '>>' eine Seite; ein
Doppelklick auf '<' bzw. '<<' oder '>' bzw. '>>' scrollt zur ersten oder letzten Zeile.
Kann in eine der Richtungen nicht gescrollt werden, so sind die Button inaktiv und werden
auch so dargestellt.
Man kann die Icons auch via Tastatur verschieben. Dazu dienen die Tasten Cursor up und
Cursor down, die ohne Sondertaste um eine Zeile, bei gleichzeitig gedrückter SHIFT-Taste
um eine Seite verschieben, sowie bei gleichzeitig gedrückter CONTROL-Taste an den Anfang
bzw. das Ende der Icons.
Selektierte Objekte bleiben selektiert, auch wenn sie nicht mehr sichtbar sind. Es ist nicht
möglich einzelne, nicht sichtbare Objekte zu selektieren oder deselektieren.
1.5 Infoleiste
In der Infoleiste werden einige mehr oder weniger interessante globale Informationen ange-
zeigt:
o die Anzahl der Objekte im Speicher
o ihre Gesamt-Länge in Byte
o die Anzahl der selektierten Objekte
o der freie Speicher in Byte und in Prozent des Gesamt-Speichers
o die Nummer des ersten angezeigten Objektes
1.6 Speicher-Info
Klickt man die Infoleiste an, so erscheint eine Dialogbox mit Detailinformationen zur
Speicherbelegung.
In der ersten Zeile wird der Gesammtspeicher (für Objekte und Bilder) angezeigt.
Es folgen Informationen über den belegten Speicher: zunächst dessen Grösse in Byte und
Prozent, sodann die Verteilung auf Objekt-Daten, Fraktal-Parameter, zusätzliche Fraktal-
Parameter11 und Bilddaten. Angegeben werden zu jedem dieser Bereiche vier Werte (alle in
Byte). Der erste Wert bezieht sich auf alle Objekte, der zweite auf die selektierten Objekte.
Die beiden Werte in Klammern geben zusätzlich den durchschnittlichen Speicher pro Objekt
(bzw. pro selektiertem Objekt) an.
Unter diesen vier Bereichen wird die Summe des belegten Speichers angegeben. Sollte die
Summe für alle Objekte jemals von dem (oben angegebenen) Wert des belegten Speichers
abweichen, so ist irgendwas in der Speicherverwaltung schief gegangen. Ich kann nur hoffen,
dass das nie passiert. Sollte es doch vorkommen, so empfielt es sich, alle Bilder zu speichern
und das Programm neu zu starten.12
Als nächstes wird in der Dialogbox der freie Speicher angezeigt, wie der belegte Speicher in
Byte und Prozent.
____________________________________11
CHAOSultd verwaltet für jedes Objekt zunächst mal Parameter, deren Länge nur vom Objekt-*
*Typ
abhängt; dies sind bei Fraktalen die Fraktal-Parameter. Sollen zusätzlich irgendwelche Inform*
*ationen zu
einem Objekt gespeichert werden, die variable Länge besitzen, so können diese als zusätzlich*
*e Parameter
verwaltet werden
12es kann auch sein, dass eine externe Routine dauerhaft Speicher belegt hat, das geht zwar, *
*sollten externe
Routinen aber nicht machen; in diesem Fall ist natürlich unter Umständen noch alles in Ordnung
16
Unter dieser Angabe findet sich noch eine Abschätzung, für wieviele Bilder dieser Speicher
reicht. Diese hängt natürlich davon ab, wieviel Speicher ein Bild benötigt, und dies hängt
wieder von der Parameterlänge, der Bildgrösse und - falls die Bilder gepackt werden - dem
Packverhältnis ab.
CHAOSultd gibt deshalb eine Reihe verschiedener Werte an. Bei durchschnittliche Bilder wird
der durchschnittliche Wert der bisher geladenen Objekte (alle/selektierte Objekte) verwen-
det. Bei grosse, mittlere und kleine Bilder verwendet CHAOSultd den Durchschnittswert der
Summe aus Objekt-, Parameter- und ext. Parameter-Länge plus die Länge der ungepackten
Bilddaten.
Ok verlässt die Box ganz normal, mit dem Button GarbColl kann man eine Garbage-Collection
erzwingen, also ein Sammeln unbelegter Speicherblöcke. CHAOSultd führt ein Garbage-
Collection ansonsten immer dann durch, wenn es nötig ist, so dass diese Option an sich eher
überflüssig ist13. Die Durchführung einer Garbage-Collection dauert, je nach Speichergrösse
und Anzahl der Objekte ein paar Sekunden, sie wird nicht (wie etwa in Tempus) durch
einen Dialog angezeigt; ist der Gong eingeschaltet (und der Lautstärkeregler des Monitors
nicht auf Null) so werden vor der Garbage-Collection drei Gongs ausgegeben.
1.7 Bilder Packen
CHAOSultd ist beim Verwalten der Bilddaten recht sparsam: wurde ein Bild noch über-
haupt nicht berechnet, so werden auch keine Bilddaten verwaltet; bei teilweise berechneten
Bildern, bei denen dies möglich ist, wird nur für den berechneten Bildteil Speicher belegt
(Vorraussetzung ist, dass die Bilder wie normale Fractale rasterartig von oben nach un-
ten berechnet werden). Darüberhinaus kann CHAOSultd die Bilddaten packen (nach dem
gleichen Algorithmus, der auch beim Speichern verwendet wird, vgl. V.1). Die Speicherplat-
zersparnis hängt natürlich vom Bildinhalt ab, kann aber leicht 2/3 und mehr erreichen. Das
Packen von Bildern führt allerdings auch dazu, dass die Bilder nicht mehr mit der gleichen
Geschwindigkeit angezeigt werden können wie nicht gepackte Bilder.
Ein- und ausschalten kann man dieses Packen durch den Menüpunkt Bilder packen im Datei-
Menü.
Klickt man ihn mit gedrückter SHIFT-Taste an, so wird zwischen Packen und Nicht-packen
der neu anzulegenden Bilder (bestehende werden nicht verändert) gewechselt. Sollen die
neuen Bilder gepackt werden, so wird dies durch einen Haken im Menüpunkt angezeigt.
Klickt man den Menüpunkt normal (also ohne SHIFT-Taste) an, so wird eine Dialogbox
aufgerufen, in der erstens angezeigt wird, wieviele Bilder gepackt oder nicht gepackt sind,
wie lang deren Bilddaten sind und wie lang die gepackten Bilder entpackt wären. Angegeben
werden nur die Bilddaten, diese sind kürzer als die Gesamtdaten des Objektes, da für
das Objekt ja auch noch Parameter verwaltet werden14. Ausserdem wird die sich daraus
ergebende Packrate (die Länge der gepackten Bilder bezogen auf die Länge der ungepackten
Daten in Prozent) sowie der freie Speicher angezeigt.
Zweitens kann man in dieser Dialogbox zwischen packen und nicht-packen der neuen Bilder
(wie mit SHIFT-Klick auf den Menüpunkt) wechseln.
____________________________________13
ich brauche sie aber zum Testen ob die Speicherverwaltung nach einer Garbage-Collection kol*
*labiert
oder nicht
14dass sie auch kürzer sind als bei Speicher-Info angegeben liegt daran, dass Speicher-Info *
*die 8 Byte die für
die Speicherverwaltung gebraucht werden mitzählt, Packen nicht
17
Drittens ermöglicht diese Dialogbox das Packen oder Entpacken bereits bestehender Bilder.
Dazu stellt man mit den Button in den beiden mit ändern bezeichneten Zeilen ein, ob die
Bilder ge- oder entpackt werden sollen, sowie ob sich die Operation auf alle oder nur auf die
selektierten Bilder beziehen soll, und verlässt dann die Dialogbox mit dem Button ändern
(dabei wird gleichzeitig die Einstellung für neue Bilder übernommen).
1.8 Objekte löschen
Möchte man Objekte löschen, so selektiert man diese und klickt anschliessend den
Menüpunkt Objekte löschen im Datei-Menü an.
Nach einer eventuellen Warnung (vgl. Einstellungen, 6.1) werden die Objekte gelöscht.
Es ist nicht möglich, ein Bild, das in einem Film vorkommt zu löschen, ohne auch den
Film zu löschen. Sollte man dies versuchen, so weist eine Dialogbox, in der der Name
des betroffenen Filmes angezeigt wird, darauf hin, und man kann wählen, ob man das
Löschen ganz abbrechen will, ob der Film mitgelöscht werden soll, oder ob man den Film
erhalten will, im letzten Fall werden alle Bilder, die in dem Film vorkommen vom Löschen
ausgenommen.
2 Bilder erzeugen
2.1 neue Bilder
Zur Erzeugung neuer Bildern dienen die Menüpunkte des Menüs Neu. Dieses Menü ist
variabel, seine Einträge und deren Zahl hängen von den zur Verfügung stehenden internen
(zur Zeit vier) und externen Berechnungsroutinen ab.
Klickt man einen Menüpunkt (ohne gleichzeitig gedrückte SHIFT- oder CONTROL-Taste, vgl.
6.3) an, so kann man in einer Dialogbox die Parameter für den gewählten Bildtyp eingeben.
Anschliessend wird das oder die Bilder erzeugt.
Erzeugt man Bildfolgen, so werden die Bild-Namen durch Anhängen einer Nummer (mit der
nötigen Anzahl von Stellen) erzeugt. Dabei kann der in den Paramtern angegebene Name
unter Umständen gekürzt werden.
Die Erzeugung von Bildern lässt sich durch Drücken der ESC-Taste unterbrechen15. Werden
mehrere Bilder (Bildfolgen) berechnet, so beendet ESC nur die gerade aktulle Berechnung.
Drückt man zusätzlich SHIFT, so wird die Berechnung auch für alle folgenden Bilder ab-
gebrochen, für diese Bilder wird aber noch ein Bildobjekt erzeugt, so dass die Berechnung
später erfolgen kann. Drückt man zusätzlich zu ESC die ALTERNATE-Taste, so wird die Be-
rechnung ganz abgebrochen und keine Bildobjekte mehr erzeugt.
2.2 Weiterberechnen von Bildern
Bilder, die noch nicht fertig berechnet wurden, können durch Anklicken von Weiter bzw.
Alles Weiter im Menü Weiter weiterberechnet werden. Bei Weiter werden nur selektierte
Bilder erfasst, bei Alles Weiter alle Bilder.
Die Berechnung kann wie bei Neu abgebrochen werden.
____________________________________15
an dieser und vielen anderen Stellen wird immer vorrausgesetzt, dass sich der Programmierer*
* der Be-
rechnungsroutinen an die vorgesehenen Programmier-Richtlinien gehalten hat
18
Ist ein Algorithmus nicht in der Lage ein Bild nach Berechnungsabbruch weiterzuberechnen,
so kann er bei Berechnungsabbruch das Bild für fertig erklären; Weiter lässt sich in diesem
Fall natürlich nicht mehr verwenden.
2.3 Vier Bilder
Zu jedem selektierten Bild werden vier Bilder erzeugt, die aneinandergesetzt dem ursprüng-
lichen Bild mit doppelter Auflösung entsprechen16. Die Bilder können dann mit der Hard-
copyroutine (in der sw-Version) aneinander-gedruckt werden (vgl. 5.3).
2.4 Neu berechnen
Dieser Menüpunkt dient dazu, Bilder mit teilweise geänderten Parametern neu zu berech-
nen. Beispielsweise wenn man eine Serie von Apfelmännchen mit Graustufen berechnet hat,
und sie jetzt Schwarz-Weiss haben möchte.
Nach Aufruf der Funktion muss man zunächst angeben, ob die Bilder überschrieben werden
oder ob neue Bilder angelegt werden sollen. Dann wird für alle Bildtypen der selektierten
Bilder, die die Funktion unterstützen17, eine Dialogbox angezeigt, in der die zu ändernden
Parameter und ihre neuen Werte eingeben werden können. Verlässt man eine solche Dialog-
box mit Abbruch, so werden die Bilder dieses Types nicht neu berechnet, die Funktion wird
aber nicht insgesamt abgebrochen.
Nach Eingabe der zu ändernden Parameter werden die Bilder mit den geänderten Parame-
tern (soweit nötig) neu berechnet.
Werden die Bilder neu erzeugt und nicht überschrieben, so wird der neue Name aus dem
Alten durch Anhängen von __N (unter Verlängerung des Namens auf 8 Zeichen) gebildet, falls
der alte Name kürzer als 8 Zeichen ist. Ansonsten wird der letzte Buchstabe hochgezählt
(also aus A wird B, aus B C usw.; Z wird zu 0 und 9 zu A). Damit sollte der Fall, dass sich
der neue Name nicht vom Alten unterscheidet nicht mehr auftreten (bei Bildfolgen kann
er natürlich mit dem Namen des nächsten Bildes in der Folge übereinstimmen). Auch dass
der neue Name unter anderen geladenen Objekten oder auf Diskette schon existiert, kann
natürlich nicht ausgeschlossen werden.
3 Anzeigen
3.1 Bilder anzeigen
Mit den Menüpunkten Bilder anzeigen und alle Bilder im Menü Zeigen kann man
sich die selektierten bzw. alle vorhandenen Bilder anzeigen lassen.
Anzeige-Modi und Optionen
CHAOSultd besitzt im grossen und ganzen zwei Anzeigemodi: im einen wird nach jedem
Bild auf einen Tastendruck gewartet, bevor das nächste Bild angezeigt wird, im anderen
wartet CHAOSultd eine bestimmte (natürlich einstellbare) Zeitspanne, und stellt dann das
nächste Bild dar.
____________________________________16
diese Routine ist wie viele andere, bei denen ich dies nicht mehr unbedingt angeben werde, *
*optional,
d.h. eine Berechnungsroutine muss diese Möglichkeit nicht zur Verfügung stellen
17möglicherweise auch - wie bei Fractalen, s.u. - für mehrere Bildtypen gemeinsam
19
Einstellen lassen sich diese Anzeigemodi zusammen mit weiteren Parametern unter dem
Menüpunkt Optionen.
Dort kann man zunächst den Anzeigemodus mit Warten auf Taste und Kontinuierlich ein-
stellen.
Darunter kann man die Wartezeiten für ein Bild und am Ende der angezeigten Bilder
einstellen, wobei man die Zeiten sowohl numerisch (in ms)18 wie auch mit Hilfe eines Sliders
wählen kann (dabei dient das Anklicken des grauen Balkens nicht zum Verschieben des
Sliders, sondern der Slider wird entsprechend des als Text angezeigten Wertes gesetzt).
Anmerkung: zusätzlich zu dieser Wartezeit kommt noch die Zeit die benötigt wird, um das
nächste Bild darzustellen. Bei ungepackten Bilder spielt sie kaum eine Rolle, bei gepackten
schon, da das Entpacken eben länger dauert. Die Wartezeit selber kann aus technischen
Gründen leider nicht zum Entpacken genutzt werden.
Die Wartezeit muss mindestens auf 20 ms gesetzt werden, da es sonst zu Bildschirmflackern
kommt, gibt man kleinere Zeiten an, so wird die Wartezeit automatisch auf diesen Wert
gesetzt.
Desweiteren kann man noch einstellen, ob die Bilder nur einmal oder wiederholt angezeigt
werden sollen (nur dann findet die Wartezeit am Anzeigeende Verwendung), und ob im
zweiten Fall dann wieder mit dem ersten Bild angefangen werden soll ('- > - >') oder ob
die Bilder abwechselnd vor- und rückwärts durchgegangen werden sollen ('- > < -').
Bilder anzeigen
Auch wärend des Anzeigens von Bildern gibt es eine Reihe von Möglichkeiten; diese werden
alle über die Tastatur aufgerufen. Allerdings arbeiten diese Tastaturkommandos mit zwei
Ausnahmen nur im 'warte'-Modus. Deshalb (und das ist die erste Ausnahme) kann aus dem
kontinuierlichem Anzeigen mit der SPACE-Taste in den 'warte'-Modus umgeschaltet werden.
Ebenfalls mit der SPACE-Taste kommt man auch wieder zurück zum kontinuierlichem An-
zeigen. Die zweite Ausnahme ist die ESC-Taste, mit ihr wird das Anzeigen beendet.
Ansonsten stehen die folgenden Tastaturkommandos zur Verfügung:
Mit der SPACE-Taste (im 'warte'-Modus) wird das nächste Bild angezeigt (oder vgl. oben in
den kontinuierlichen Modus zurückgeschaltet), die gleiche Wirkung haben die Tasten RETURN
und ENTER - allerdings ohne dass hier zurückgeschaltet wird wenn man den kontinuierlichen
Modus via SPACE unterbrochen hat. Mit der BACKSPACE-Taste kann man das vorige Bild
anzeigen lassen.
Die Taste O (es ist jeweils auch der entsprechende Kleinbuchstabe möglich) ruft die Anzeige-
Optionen auf, so dass man die Anzeigeparameter verändern kann.
Anmerkung: befindet man sich eigentlich im kontinuierlichem Modus, der dann auch in der
Optionsbox eingestellt ist, oder stellt man diesen ein, so wird er nach dem Verlassen der
Box sofort, und nicht erst nach Drücken der SPACE-Taste aktiviert.
Mit der Taste F kann man die Farben des Bildes einstellen:
o in der sw-Version wird einfach zwischen normal und invers gewechselt. Die Einstellung
wird nicht in die Bildparameter übernommen, d.h. wenn man ein Bild weiterschaltet
und dann zurück wird wieder die ursprüngliche Farbeinstellung gesetzt. Um die Farbe
auch in den Parametern umzuschalten kann man mit P die Bildparameter aufrufen
und die Farbe dort ändern (sofern die Berechnungsroutinen dies unterstüzten).
____________________________________18
aus technischen Gründen nur in 5 ms Schritten, ist der Wert nicht durch 5 teilbar wird er *
*abgerundet
20
o in der Farb-Version wird die Einstellung der Farben aufgefrufen; hier werden die Far-
ben in die Bildparameter übernommen (Eigentlich nicht ganz konsistent, Farb- und
sw-Version sollten sich natürlich soweit möglich gleich verhalten, aber was solls).
o In der Farb-Version hat man zusätzlich die Möglichkeit mit den Tasten 1 - 0, ss
und ' die zwölf voreinstellbaren Farbtabellen aufzurufen. Diese werden nicht in die
Parameter übernommen.
Ebenfalls nur in der Farb-Version verfügbar ist die Farbanimation, die mit der Taste A
aufgerufen wird.
Dabei kann man die Richtung, die betroffenen Farben (kleinste und grösste Farbnummer)
sowie die Geschwindigkeit angeben. Letztere wird durch die Anzahl der VBLs (50 oder 60
pro Sekunde) festgelegt, die zwischen zwei Animationsschritten gewartet werden soll.
CHAOSultd wechselt dann zyklisch die Farben, bis die Animation beendet wird (durch er-
neuten Aufruf und Verlassen der Dialogbox mit Ende oder Beenden des Bilder anzeigen).
Die Animation wird unterbrochen, wenn eine Dialogbox oder eine Koordinatenanzeige auf-
gerufen wird, sie wird anschliessend fortgesetzt.
Mit der UNDO-Taste kann man veränderte, nicht in die Parameter übernommene Farbtabellen
zurücksetzen.
Die Verfügbarkeit der folgenden Optionen ist - wie ja fast alles in CHAOSultd - immer von
den Berechnungsroutinen abhängig; das gleiche gilt, falls es sie gibt, für die Details ihrer
Realisierung.
Mit der Taste P kann man sich die Bildparameter (vgl. 3.4) und mit I das Bildinfo (vgl.
3.5) anzeigen lassen.
Mit der Taste S kann man sich eine Information über einen bestimmten Punkt anzeigen
lassen. Dazu klickt man mit der Maus den gewünschten Punkt an und es erscheint dann
eine Dialogbox, in der Informationen zu diesem Punkt angezeigt werden.
Mit der Taste C kann man sich die Koordinaten einer Konstanten der Bildparameter durch
ein Fadenkreuz anzeigen lassen, natürlich nur wenn die Konstante im Bildausschnitt liegt.
Was das für eine Konstante ist hängt natürlich vom Bildtyp und den Berechnungsroutinen
ab.
Die Taste K schaltet eine Anzeige der Bildschirm- und Bildkoordinaten der aktuellen Maus-
position links oben im Bild ein.
Als weitere Tastaturfunktion kann man sich mit der Taste D oder H (D wie Drucker oder H
wie Hardcopy) eine Hardcopy des angezeigten Bildes ausdrucken lassen. Einzelheiten siehe
5.3.
Zu guter Letzt kann man sich mit der Taste HELP eine Kurzübersicht der Tastaturbefehle
anzeigen lassen, damit man sich nicht alle Befehle merken muss. Dabei werden für das
momentan angezeigte Bild nicht unterstützte Möglichkeiten grau dargestellt.
3.2 Block zeigen
Mit der Funktion Block zeigen kann man sich anzeigen lassen, welchen Ausschnitt eines
Bildes ein anderes darstellt.
Dabei gibt es allerdings einige Einschränkungen zu beachten: Block zeigen bezieht sich
immer auf zwei Bilder. Dabei muss das eine Bild vollständig im anderen enthalten sein,
teilweise Überlappung wird nicht angezeigt. Ausserdem können nicht bei allen Bildtypen
Blöcke angezeigt werden, wie etwa bei 3d Fraktalen.
21
Stellt CHAOSultd nach Anklicken von Block zeigen fest, dass ein Bild im anderen enthalten
ist, so zeigt es das 'Mutter'-Bild an und markiert den Ausschnitt, den das andere Bild dar-
stellt, durch einen Rahmen. Andernfalls erscheint eine Dialogbox, die auf die Unmöglichkeit
einen Block anzuzeigen hinweist.
Anmerkung: Auch wenn ein Bild als Ausschnitt eines anderen angezeigt wird, muss es sich
dabei nicht um eine Vergrösserung des angezeigten Ausschnittes handlen, bei den beiden
Bildern können ja andere Parameter unterschiedlich eingestellt sein, es können auch um
ganz verschiedene Bildtypen sein.
3.3 Bildvergleich
Die Funktion Bildvergleich dient vor allem dem exakten Test zweier (oder mehrerer Bilder)
auf Gleichheit, ist jedoch allgemeiner gehalten. Mit dieser Funktion lassen sich mehrere
Bilder logisch miteinander Verknüpfen. Dabei hat man die Wahl zwischen or, and und xor
(eXclusive OR). Die gewünschte Verknüpfung kann in einer Dialogbox ausgewählt werden,
die nach Anklicken von Bildvergleich zunächst erscheint. Anschliessend wird das Resultat
der entsprechenden Verknüpfung aller selektierten Bilder angezeigt. Diese Anzeige kann
man wie üblich mit ESC verlassen, oder aber mit M, wobei dann das angezeigte Bild in ein
Bildobjekt, also ohne Parameterdaten, übernommen wird.
Wie kann man nun mit dieser Funktion zwei Bilder vergleichen? Ganz einfach: man wählt
als Verknüpfung xor, dann werden nur die Punkte gesetzt, in denen sich Bild 1 von Bild
2 unterscheidet. Dadurch kann man alle Unterschiede zwischen den Bildern sehr schnell
erkennen, etwa um zu Überprüfen, wieweit die schnelle von der genauen Berechnungsrou-
tine abweicht oder welchen Einfluss eine geringfügige Änderung eines Parameters auf das
Gesammtbild hat.
Anmerkung: In Farbe werden weiterhin die Bits des Bildschirmspeichers miteinander ver-
knüpft. Da hier die Farbe eines Punktes aber nicht von einem einzelnen Bit sondern von
vieren bestimmt wird, ist das Ergebnis unter Umständen etwas verwirrend; es gilt aber
immer noch: bei Verknüpfung mit xor sind nur solche Punkte gesetzt, die sich in beiden
Bildern unterscheiden (wobei die Farbtabelle aber keine Rolle spielt, als Farbtabelle wird
die des ersten Bildes verwendet).
3.4 Parameter anzeigen
Mit der Funktion Parameter anzeigen lassen sich die Parameter eines Fraktals, eines Bildes
oder eines Filmes anzeigen. Diese Funktion lässt sich nur aufrufen wenn genau ein Object
selektiert ist.
Welche Parameter bei Fraktalen angezeigt werden ist Sache der Berechnungsroutinen.
Bei Bildern werden nur Bildname und Pfad sowie in der sw-Version die Darstellungsweise
(normal oder invers), bei Filmen zusätzlich zu Pfad und Namen die Anzahl der Bilder
angezeigt. Nähere Erläuterungen zu den Datei- und Pfadnamen siehe bei den IO Funktionen
(vgl. 5).
3.5 Bildinfo
Um sich über Berechnungszeiten, Berechnungsaufwand und Bildgrössen zu informieren ist
die Funktion Bildinfo anzeigen gedacht (allerdings erst nach der Berechnung, vorher ist das
im allgemeinen nicht möglich).
22
Die Funktion bezieht sich prinzipiell nur auf Fraktale und nur auf selektierte Bilder.
Ist genau ein Fraktal selektiert, so kann die Berechnungsroutine für das Bild eine detaillierte
Info-Box ausgeben, die dann natürlich von der Berechnugsroutine abhängt.
Stellt die Berechnungsroutine eine solche Funktion nicht zur Verfügung unterstützt aber die
Ausgabe von Bildinfos19 oder sind mehrere Bilder selektiert, so wird eine Info-Box angezeigt,
in der die Anzahl der Bildpunkte, die Zahl der berechneten Iterationen20 sowie die benötigte
Rechenzeit - insgesamt und pro Punkt bzw. Iteration - ausgegeben wird.
4 Filme
Filme in CHAOSultd sind einfach eine Liste von Bildern. Sie können zum Beispiel zur
Verknüpfung mehrerer Bilderfolgen oder zum Festlegen der Reihenfolge, in der diverse Bilder
angezeigt werden sollen, dienen.
Filme können maximal 9999 Bilder enthalten, im Allgemeinen sollte das reichen.
4.1 Filme erzeugen
Mit dem Menüpunkt Film erzeugen im Menü Weiter21 kann man neue Filme erzeugen, was
allerdings nur möglich ist, wenn wenigstens ein Bild vorhanden ist. Es erscheint zunächst
eine Dialogbox, in der der (nichtleere) Name des Films eingegeben werden muss.
Anschliessend landet man im Filmeditor. Im oberen Teil des Bildschirms wird das aktuelle
Bild angezeigt, unten befinden sich eine Infozeile und zwei Zeilen mit Kommandobutton,
die man mit der Maus anklicken kann.
In der Infozeile stehen (von links nach rechts) der Filmname, die Anzahl der Bilder im Film,
die Nummer und der Name des Bildes, das gerade angezeigt wird (gemeint ist die Nummer
im Film, nicht die auf dem Desktop) sowie der restliche freie Speicher.
In der oberen Kommandozeile gibt es die folgenden Kommandos: Zeigen enspricht der Funk-
tion Film zeigen im Pulldownmenü, der Film wird angezeigt (vgl. 4.3).
Die Button < - und - > dienen zum Blättern im Film. Ein Einfachklick schaltet ein Bild
weiter (- >) oder zurück (< -), Doppelklick schaltet an den Filmanfang oder an das Ende.
Gewissermassen vor dem Filmanfang mit Bild 1 wird noch ein (stets leeres) Bild Null ver-
waltet, beim Einfügen von Bildern werden diese nämlich nach dem aktuellen Bild eingefügt,
um also ein neues Bild 1 einzufügen muss man auf Bild Null schalten.
Womit wir beim nächsten Punkt wären, dem Einfügen von Bildern. Dazu dient der But-
ton Einfügen. Klickt man ihn an, so wird der Desktop angezeigt, und man kann das oder
die Bilder angeben, die eingefügt werden sollen. Einzelne Bilder klickt man einfach an,
darüberhinaus kann man aber auch durch shift-Klick (wie beim Selektieren mehrerer Bil-
der) mehrere aufeinanderfolgende Bilder in den Film übernehmen, wobei die Reihenfolge
der beiden Mausklicks berücksichtigt wird. Doppelklick neben ein Bild bricht die Funktion
ab, ohne ein Bild in den Film aufzunehmen.
____________________________________19
indem sie dem Verwaltungsteil Informationen über Berechnungszeit sowie Iterations- und Pun*
*ktanzahl
zur Verfügung stellt
20was im einzelnen unter einer Iteration zu verstehen ist liegt bei der Berechnungsroutine; k*
*orrekter wäre
vieleicht auch die Bezeichnung Berechnungsschritte - nicht alle Routinen sind iterativ
21das Weiter-Menü war mal Bestandteil des Neu-Menüs, was aber wegen der variablen Anzahl de*
*r Einträge
im Neu-Menü nicht mehr möglich ist, der Name Weiter für diese Menü ist nicht sonderlich pas*
*send, mir fiel
aber kein besserer ein
23
Achtung! Zum Scrollen auf dem Desktop stehen an dieser Stelle nur die Button, nicht aber
die Tastatur-Kommandos zur Verfügung.
Die gegenteilige Wirkung, nämlich das Löschen von Bildern übernimmt der Button Löschen.
Mit ihm wird das aktuelle Bild aus dem Film gelöscht.
Mit dem nächsten Button Optionen kann man die Anzeigeoptionen des Films einstellen. Sie
entsprechen den Optionen beim Anzeigen von Bildern, jeder Film verwaltet allerdings eigene
Optionen (die beim Erzeugen des Filmes mit den gerade eingestellten Anzeigeoptionen für
Bilder vorbelegt werden).
Der letzte Button in der oberen Zeile, Beenden dient (na was wohl) zum Verlassen des
Filmeditors.
In der unteren Kommandozeile befinden sich die Button für die Blockfunktionen. Mit
Einfachklick auf Start und Ende kann man Blockanfang und -ende festlegen, wobei Start
natürlich vor Ende liegen muss. Sind die Blockmarken gesetzt und die jeweiligen Bilder als
aktuelles Bild eingestellt, so erscheinen diese Button invers; mit Doppelklick auf Start oder
Ende kann man zu der entsprechenden Marke springen.
Es folgen die Blockkommandos Copy, Move und Delete, die sich wohl selbst erklären. Das
Kommando Reverse dreht die Reihenfolge der Bilder eines Blockes um.
4.2 Filme ändern
Selbstverständlich lässt sich ein einmal erzeugter Film jederzeit ändern. Dazu selektiert man
den Film und wählt Film ändern. Es wird der Filmeditor aufgerufen und es weiter wie beim
Erstellen eines Filmes.
4.3 Filme anzeigen
Mit dem Menüpunkt Film im Menü Zeigen kann man einen Film anzeigen, wenn genau ein
Film selektiert ist. Beim Anzeigen eines Filmes gibt es die selben Möglichkeiten wie beim
Anzeigen von Bildern. Zu Beachten ist höchstens, dass jeder Film seine eigenen Anzeigeop-
tionen verwaltet.
5 Input/Output
5.1 Speichern
Mit den Menüpunkten Speichern und Speichern ... kann man Objekte abspeichern.
Für Fraktale und Filme gibt es eigene Dateiformate (vgl. Teil V), Bilder können im Screen-
Format (Doodle), im (ungepackten) Degas-Format, im Stad-Format und im GEM-Image-
Format (Snapshot-Format) gespeichert werden; das Stad-Format gibt es nur in der sw-
Version (es gibt nun mal kein farbiges Stadformat). Fraktale lassen sich ebenfalls in diesen
Bildformaten speichern, dabei werden aber die Bild-Parameter nicht mit abgespeichert,
so dass als Bild gespeicherte Fraktale nicht als gespeichert betrachtet und gekennzeichnet
werden.
Speichern und Speichern ... beziehen sich natürlich auf alle gerade selektierten Objekte.
Dabei werden Filme allerdings als letztes bearbeitet, da sich Filme nur speichern lassen,
wenn alle in ihnen enthaltenen Bilder gespeichert wurden.
24
Speichern ... unterscheidet sich von Speichern dadurch, dass man zunächst in der Fileselec-
torbox ein Dateipfad und optional ein Extension angeben kann. Der Pfad wird dann zum
Defaultpfad, der für alle Objekte vorgeschlagen wird; mit dem Extension kann der Bild-
typ gewählt werden (PIC Screenformat, PI3 Degas, PAC Stad, IMG GEM-Image). Ist ein
Extension angegeben, so werden auch Fraktale defaultmässig in diesem Format gespeichert.
Im Modus Speichern ist der Defaultpfad der in den Einstellungen angegebene, er wird aber
nur verwendet, wenn der Pfad eines Bildes noch nicht gesetzt ist.
Für jedes zu speichernde Objekt wird nun zunächst eine Dialogbox aufgebaut, in der die
Nummer des Objektes, der Objekttyp (Fraktal, Bild oder Film) und der Objektstatus
(geändert oder unverändert) angezeigt wird. Mit dem Button Show kann man bei Bildern
einen Blick auf das Bild werfen.
Unter diesen zur Information dienenden Angaben befindet sich der Bildname und der Da-
teipfad, ausserdem wird das Dateiformat angezeigt. Dieses kann man durch Anklicken eines
der Button ändern, es wird dann automatisch das entsprechende Extension in den Namen
eingetragen. Mit dem Button Select können diese via Dateiselectorbox geändert werden,
natürlich ist dies auch direkt mit der Tastatur möglich.
Der Dateityp, unter dem ein Bild oder auch ein Fraktal abgespeichert wird, wird durch das
hier eingestellte Dateiextension festgelegt. CH? ist nur bei Fraktalen möglich und bedeutet
das Abspeichern als Fraktal; mit PIC, PI3 oder PAC wird das Fraktal oder das Bild im
entsprechenden Dateityp gespeichert. Andere Extension sind nicht möglich (ausser natürlich
FF3 für Filme), versucht man mit einem anderen Extension zu speichern, so korrigiert
CHAOSultd das Extension, gibt eine Meldung aus und verlässt die Dialogbox nicht.
Zum Verlassen der Box stehen vier Button zur Verfügung: bei Speichern wird das Bild
gespeichert und die Dialogbox für das nächste Bild angezeigt, weiter geht zum nächsten
Bild über ohne das aktuelle Bild zu speichern, Abbruch bricht den ganzen Speicherprozess
ab.
Bleibt noch Info aus. Mit diesem Button kann man veranlassen, das für die noch folgenden
zu speichernden Bilder keine Eingaben mehr gemacht werden können. CHAOSultd stellt
dann nur noch die Parameter in der gleichen Weise wie bisher dar, geht aber anschliessend
sofort mit den Defaultparametern zum Speichern über (Dies lässt sich auch von Anfang
an erreichen, indem man in den Einstellungen die Nachfrage bei save abstellt. Es ist aber
zumindest Anfangs zu empfehlen, wenigstens beim ersten Bild zu überprüfen, ob die Spei-
cherfunktion auch das tut, was man wollte.). In diesem Fall kann das Abspeichern durch
Drücken der Alternate-Taste abgebrochen werden.
Kommt es beim Speichern zu einem Namenskonflikt (eine Datei soll erzeugt werden, die
schon besteht) so wird dies (abhängig von den Einstellungen des Programms) in einer der
Dialogbox beim Speichern sehr ähnlichen Box angezeigt. Man kann hier den Namen noch-
mals ändern, und die Box wiederum auf viererlei Weise verlassen. Überschreiben speichert
das Objekt mit dem eingestellten (eventuell geändertem) Namen ohne sich um eine even-
tuell bestehende Datei zu kümmern, Weiter und Speichern arbeiten wie oben beschrieben,
Msg. aus schaltet analog zu Info aus die Warnung von Überschreiben ab.
Gespeicherte Objekte werden auf dem Desktop abgehakt dargestellt, Fraktale, die als Bilder
gespeichert wurden gelten wie gesagt nicht als gespeichert.
5.2 Laden
Mit dem Eintrag Laden im Menü Datei kann man Objekte wieder einladen.
25
Es erscheint die Dateiselectorbox, mit der einzelne oder auch mehrere Bilder ausgewählt
werden können.
Gibt man explizit einen Dateinamen an, so wird diese eine Datei geladen.
Gibt man aber keinen Dateinamen an, so werden alle in der Dateiselectorbox gerade darge-
stellten Dateien, sofern sie CHAOSultd-Objekte sind (also alle Dateien mit den Extension
CH?, FR3, PIC, PI3, PAC und FF322), geladen. Das Einladen lässt sich durch Drücken der
Alternate-Taste abbrechen.
Beim Laden von Filmen werden alle in dem Film enthaltenen Bilder geladen, sofern nicht
Bilder gleichen Namens und Dateipfades bereits im Speicher vorhanden sind. (nähere In-
formationen zum Aufbau einer Filmdatei in V.2)
Als Besonderheit können auch Bilder und Filme der jeweils anderen Auflösung 'geladen'
werden, also Farbfractale in die sw-Version und monochrome Bilder in die Farb-Version. Es
wird dann allerdings nicht das ganze Bild, sondern nur die Bildparameter geladen und ein
leeres Bild erzeugt. Dabei werden Parameter durch die Berechnungsroutinen an die andere
Auflösung angepasst und gegebenenfalls ergänzt.
Mit weiter kann man dann die zugehörigen Bilder erzeugen.
5.3 Drucken
Zuerst die gute Nachricht:
CHAOSultd besitzt eine sehr leistungsfähige Hardcopy-Routine.
Die schlechte Nachricht:
Die Hardcopy-Routine gibt es nur in der sw-Version und nur für 24Nadel-Drucker. Andere
Drucker und das Drucken von Farbbildern wird von CHAOSultd nur insofern unterstützt,
als man auf die TOS-Hardcopy-Routine (oder irgendeine ins System eingehängte alternative
Routine) zugreifen kann.
Zum Aufruf der Hardcopy-Routine dient der Menüpunkt Drucken im Zeigen-Menü. Ausser-
dem kann die Funktion auch beim Anzeigen von Bildern angewählt werden (vgl. 3.1). Im
letzteren Fall wird nur das gerade angezeigte Bild gedruckt, beim Aufruf vom Desktop aus
alle selektierten Bilder.
Es erscheint zunächst eine Dialogbox, in der man die Druckparameter einstellen kann, soweit
man die interne Hardcopy-Routine verwendet. Druckt man über die TOS-Hardcopy so sind
diese Parameter im wesentlichen bedeutungslos, so auch in der Farb-Version.
CHAOSultd kann Bilder in drei Grössen ausdrucken; klein und gross sind Normalformate
(Bildschirmzeilen erscheinen als Zeilen auf dem Papier), quer ist ein Querformat (Bild-
schirmzeilen erscheinen als Spalten). Dabei füllt gross nicht ganz ein halbes DIN A4 Blatt,
klein ist halb so breit und halb so hoch. quer ist am grössten und füllt ein DIN A4 Blatt in
etwa aus. Grosse und kleine Bilder erscheinen im Ausdruck gleich gross (kleine werden also
doppelt so stark vergrössert), mittlere fallen etwas aus dem Rahmen.
Als Besonderheit gibt es noch die Möglichkeit doppelt als Grösse auszuwählen, in diesem
Fall werden die Bilder in der Grösse klein gedruckt, aber immer zwei nebeneinander. Dies
geht natürlich nur, wenn mindestens zwei Bilder gedruckt werden sollen, und auch nur
mit kleinen und grossen Bildern. (mittlere sind wegen der unterschiedlichen Bildgrösse nicht
möglich).
____________________________________22
in Farbe muss man die 3 durch eine 1 ersetzen, FR3 sind Fraktale aus FRACTAL 4.30
26
Neben diesen Bildgrössen kann eingestellt werden, ob CHAOSultd die Bilder dicht aneinander
drucken soll, oder ob es zwischen ihnen einen Abstand lassen soll. Ist Abstand ein gewählt,
so wird zwischen den Bildern die in der Druckereinstellung (vgl. 6.2) definierte Steuerse-
quenz für LF (Linefeed) gesendet, und im Modus doppelt zwischen den beiden Bildern ein
Abstand von zwei Zeichen gelassen. Dicht, also ohne Abstand Drucken ermöglicht es vor
allen grössere Hardcopies aus mehreren Bilder zusammenzusetzen, oder auch die Auflösung
einer Hardcopy der Grösse gross zu vervierfachen, indem man vier entsprechende Bilder an-
einanderdruckt, die Erzeugung von vier solchen Bildern wird durch die Funktion vier Bilder
(vgl. 2.3) unterstützt.
Als nächstes kann man wählen, ob die (wichtigsten) Bildparameter mitausgedruckt werden
sollen oder nicht. Werden sie gedruckt, so ist es allerdings nicht möglich die Bilder dicht
aneinander zu drucken. Im Modus doppelt können die Parameter nicht gedruckt werden,
die Einstellung wird ignoriert.
Dann kann man einstellen, ob leere (Graphik-) Zeilen gedruckt werden sollen oder nicht.
Lässt man sie nicht drucken, so kann man bei nicht bildschirmfüllenden Bildern (etwa bei
3d-Fractalen) Papier sparen.
Zu guter Letzt kann man wählen, ob und wenn nach wievielen Bildern ein Formfeed gesendet
werden soll. Setzt man die Anzahl der Bilder auf Null, so wird kein Formfeed gesendet, sonst
nach der angegebenen Anzahl von Bildern, wobei im Modus doppelt die nebeneinander
gedruckten Bilder natürlich nur einfach gezählt werden.
Unter den Button für diese Parameter finden sich drei Button, mit denen direkt Druckerkom-
mandos gesendet werden können, nämlich LF (Linefeed), FF (Formfeed) und Init. Gesendet
werden die ent- sprechenden, in der Druckereinstellung eingestellten Codes, so dass sich be-
liebige Wirkungen erzielen lassen. Gedacht ist es allerdings so, dass LF einen Papiervorschub
bewirkt, FF einen Seitenvorschub und Init die Druckerinitialisierung. Zumindest LF und FF
sollte man nicht zweckentfremden, da diese Kommandos auch von der Hardcopy-Routine
im eben genannten Sinne verwendet werden.
Aufgerufen wird die interne Hardcopy-Routine durch Verlassen der Box mit Ok. Die System-
Hardcopy ruft man durch Verlassen der Box mit den Button ALT/HELP oder TOS auf, in
der Farbversion ist dies die einzige Möglichkeit. Bei ALT/HELP wird das Drücken der Ta-
stenkombination ALT/HELP intern simuliert, bei TOS erfolgt der Hardcopyaufruf durch die
XBIOS-Funktion Scrdmp (Xbios(20)). Die Wirkung ist nur dann unterschiedlich, wenn eine
alternative Hardcopy-Routine ins System eingehängt wurde (für 9Nadel-Drucker norma-
lerweise nicht nötig), und diese nicht beide Aufrufe abfängt. Im Zweifelsfall hilft hier wie
immer das Ausprobieren.
Beim Aufruf der System-Hardcopy sind von den Parametern nur das Drucken oder Nicht-
drucken der Bildparameter und die Einstellung des Formfeed nach jeweils einer bestimmten
Anzahl von Bilder von Bedeutung.
6 Einstellungen
CHAOSultd erlaubt eine Reihe von Einstellungen vorzunehmen, die auch gespeichert werden
können. Neben allgemeinen Einstellungen und den Druckercodes können die Parameter der
einzelnen Bildtypen voreingestellt werden.
27
6.1 allgemeine Einstellung
Die allgemeinen Einstellungen erreicht man im Datei-Menü mit dem Menüpunkt Einstellun-
gen. Hinter diesem verbirgt sich eine (wie Sie es ja inzwischen wohl gewöhnt sind) ziemlich
grosse und volle Dialogbox, in der man einige Parameter einstellen kann, die das Verhalten
des Programmes in bestimmten Situationen festlegen.
Als da wären:
Speicher frei lassen legt fest, wieviel Speicher CHAOSultd dem System (z.B. für die Datei-
selectorbox (ab TOS 1.4) oder für Accessories) übrig lassen soll. CHAOSultd belegt beim
Programmstart den grössten freien Speicherblock (normalerweise ist das (zumindest fast) der
ganze freie Speicher) abzüglich der hier angegebenen Speichermenge. Diese Einstellung wird
erst bei einem Neustart von CHAOSultd aktiv (natürlich nur wenn sie auch abgespeichert
wurde), sie ändert nichts an der momentanen Speicherbelegung.
Gong bei Berechnungsende: Hier kann man einstellen, ob bei Berechnungsende ein Gong
dieses anzeigen soll oder nicht. Der Button Test gibt den Gong versuchsweise aus, so dass
man etwa die Lautstärkeeinstellung am Monitor überprüfen kann.
Anmerkung: der Gong wird durch Ausgabe des Zeichens 7 (nicht die Ziffer 7, sondern der
ASCII Code 7) via Gemdos erzeugt. Das ist der selbe Gong, der (ensprechende Einstellung
im Kontrolfeld vorausgesetzt) auch ertönt, wenn man neben eine Dialogbox klickt. Dazu ist
es nötig, dass in den Systemvariablen das entsprechende Flag gesetzt ist, das man eben auch
löschen kann, beispielsweise mit dem Kontrolfeld. Deswegen setzt CHAOSultd diese Flag
beim Programmstart und setzt es beim Verlassen wieder auf den alten Wert zurück. Ändert
man nun während CHAOSultd läuft mit einem Accessory dieses Flag, so wird erstens (beim
Löschen des Flags) der Gong beim Berechnungsende nicht funktionieren und zweitens diese
Änderung beim Verlassen von CHAOSultd überschrieben. Das Ein- oder Ausschalten des
Gongs schaltet auch die drei Gongs ein bzw. aus, mit denen auf eine Garbage Collection
hingewiesen wird.
Mit Cursor bei Block ... kann man die Art des Cursors für die Auswahl von Koordinaten
aus Bildern (z.B. beim Festlegen eines Blockes) einstellen. Maus bedeutet einen normalen
GEM-Cursor (in Kreuzform), Kreuz ein Fadenkreuz.
Standartdateipfad legt den Defaultpfad für speichern und laden fest. Mittels Select kann dieser
mit der Dateiselectorbox eingestellt werden.
Standartdateityp Bilder bestimmt den Defaultdateityp für Bilder.
Nachfrage bei Save erlaubt es die Dialogbox, in der die Dateinamen zu speichernder Objekte
angezeigt werden und geändert werden können, von vorneherein abzuschalten, so dass nur
noch ein Info ausgegeben wird (vgl. Speichern 5.1).
Es folgen einige Einstellungen, mit denen Sicherheitsabfragen ein und ausgeschaltet werden
können:
Bei Datei überschreiben kann man die Warnung vor Namenskonflikten ein- und ausschalten.
(Vor allem wenn man eine grössere Zahl von Bilder zum Weiterberechnen geladen hat und
sie dann wieder abspeichern will sollte man die Warnung ausschalten, man kann dies aber
wie beschrieben auch in der Warnung selbst).
Berechnung abbrechen bezieht sich auf eine Warnung die beim Abbrechen der Berechnung
mehrerer Bilder mit ALTERNATE-ESC erscheint (bei anderen Berechungsabbrüchen kann man
die Berechung normalerweise fortsetzen, so dass keine Warnung nötig ist).
Bei Objekte löschen hat man die Möglichkeit eine Warnung bei neuen (also nicht abgespei-
cherten, erkenntlich am fehlenden Haken) Objekten, bei mehreren Objekten, nie oder immer
28
zu erhalten,
bei Programm verlassen fällt demgegenüber lediglich die Option mehrere weg.
Verlässt man die Einstellungen mit Speichern, so werden die Einstellungen übernommen
und in die Einstellungsdatei CHS_ULTx.SET übernommen (zusammen mit den gerade einge-
stellten Druckercodes und Parametervoreinstellungen). Beim Verlassen mit Ok entfällt das
Speichern.
6.2 Druckereinstellung
Die Einstellung der Druckercodes ist vor allem für Besitzer eines 24Nadel Druckers wichtig,
allerdings sollten auch die anderen hier mal hineinschauen.
Alle Druckercodesequenzen werden mit $FF aufgefüllt, das auch zur Code-Ende Erkennung
dient. Steuersequenzen dürfen diese Byte deshalb nicht enthalten.
Folgende Druckercodes werden benötigt: Graphik 180: 180dpi Graphikdruck. Die Anzahl
der Spalten wird vom Programm selber angefügt, dies soll durch das xx am Ende der Zeile
symbolisiert werden.
CR: ein einfaches Carrige Return
Abst. Gr: Zeilenvorschub xx 1/180 Zoll. Der Parameter xx am Ende wird wieder vom Pro-
gramm angefügt.
Abst. Text: Zeilenvorschub für Text
linker Rand: Kommando zum Einstellen des linken Randes. Diese Kommando wird zum
Zentrieren der Bilder verwendet, in den Zeilen darunter muss für die einzelnen Bild- und
Hardcopygrössen die jeweilige Einstellung angegeben werden.
Linefeed, Formfeed und Init Drucker sind die Steuercodes, die mittels der entsprechenden
Button in der Hardcopy-Dialogbox direkt an den Drucker geschickt werden. Linefeed und
Formfeed werden auch von der Hardcopy-Routine selbst verwendet.
Bei Ausgabe durch lässt sich festlegen, ob die Druckerausgabe mit Hilfe der Tos-Routinen
(genauer Bios) oder mittels eigener direkt auf die Centronics-Schnittstelle zugreifender Rou-
tinen erfolgen soll.
Der direkte Zugriff auf die Centronics-Schnittstelle hat zwei Vorteile. Erstens entgeht man so
dem (von wohl vielen ST Benutzern mit 24Nadel-Drucker verwendetem) FX-80 Emulator,
der sonst in die Hardcopy-Routine eingreift und nur Schrott, nicht aber das gewünschte
Bild auf dem Papier erscheinen lässt, zweitens ist der Ausdruck auf diese Weise deutlich
schneller.
Allerdings hat auch die Ausgabe via Tos ihre Vorteile. Sie erlaubt Ausdruck über die serielle
Schnittstelle23 (was ich allerdings nie getestet habe, mangels Drucker) und sie ermöglicht
den Betrieb von Druckerspoolern. Ausserdem ist sie gewissermassen die letzte Rettung, falls
meine Ausgaberoutine mit dem einen oder anderen Drucker Probleme bereitet. Ich habe
sie zwar mit meinem P6+ getestet, wo sie problemlos funktionierte, aber man kann ja nie
wissen.
Für das Verlassen der Dialogbox gilt daselbe wie bei den allgemeinen Einstellungen, bei
Speichern werden auch diese (und die Voreinstellungen der Parameter) mit abgespeichert.
____________________________________23
dazu muss nur die Druckeranpassung richtig eingestellt sein. Ich verweise hier nur auf das *
*CONTROL.ACC
29
6.3 Voreinstellung der Bildparameter
Die Voreinstellung für die Bildparameter der Berechnungsroutinen erreicht man - soweit vor-
handen und vernünftig implementiert - via SHIFT-Klick auf den entsprechenden Menüpunkt
im Neu-Menü. Die Parameter können von dort aus nicht gespeichert werden, dazu muss man
eine der beiden anderern Einstellungen aufrufen und dort Speichern auswählen.
Alle Parameter werden in der Datei CHS_ULTx.SET gespeichert; es stört beim Starten des
Programmes nicht, wenn sich in dieser Datei Parameter von Routinen befinden, die nicht
geladen werden, diese gehen jedoch verloren, wenn man die Parameter abspeichert.
Eine weitere Funktion der Berechnungsroutinen, die keine feste Bedeutung hat, erreicht
man - soweit implementiert - mit CONTROL-Klick auf einen Menüpunkt im Neu-Menü. Die
Funktion kann beispielsweise zur Eingabe weiterer Voreinstellungen dienen.
7 Besonderheiten der Farbversion
Die Farb- und sw-Version von CHAOSultd sind weitgehend gleich, insbesondere in der Be-
dienung. Abweichungen wurden an ein paar Stellen in dieser Anleitung bereits erwähnt.
Zwei Punkte, den Auflösungswechsel und die Einstellung der Farbtabelle, möchte ich hier
noch erläutern.
7.1 Auf lösungswechsel
Die Farb-Version läuft prinzipiell in mittlerer Auflösung, sie muss so gestartet werden und
alle Eingabefunktionen, auch der Desktop, arbeiten in mittlerer Auflösung.
Alle Bilder werden dagegen in niedriger Auflösung berechnet und angezeigt.
Dieser Auflösungswechsel ist nötig, da für den Desktop und eine ganze Reihe von Dialog-
boxen von CHAOSultd in niedriger Auflösung nicht genug Platz wäre, Bilder andererseits
mit möglichst vielen Farben dargestellt werden sollten.
Wird nun beim Anzeigen von Bilden eine Dialogbox aufgerufen, eine Mauseingabe verlangt
uws., so wird das Bild in ein Bild mittlerer Auflösung mit 4 Graustufen umgerechnet.
Diese Umrechnung erfolgt sehr schnell, dafür geht natürlich Farbinformation verloren, so
wird zB. die erste, fünfe, neunte und dreizehnte Farbe auf die gleiche Graustufe abgebildet
(entsprechend die 2.,6.,10. und 14., die 3.,7.,11.,15. sowie die 4.,8.,12.,16.). Hat man das
Bild mit einer einigermassen normalen Farbgestaltung erzeugt, so sollten die Strukturen
weiterhin erkennbar bleiben.
7.2 Farbeinstellung
Die Dialogbox zur Einstellung der Farbtabelle ist Teil von CHAOSultd (und nicht der Be-
rechnungsroutinen).
Um gleichzeitig alle Farben anzeigen zu können und eine Dialogbox zur Eingabe zu ver-
wenden wurde ein Rasterzeileninterupt verwendet, das heisst der obere Teil des Bildschirms
wird in geringer, der untere Teil in mittlerer Auflösung angezeigt.
Sollen die Farben eines zumindest teilweise existierenden Bildes geändert werden, so wird
ganz oben der obere Teil des Bildes angezeigt, dann kommen 16 Balken mit den einzelnen
Farben. Wird die Farbtabelle für ein neues Bild erstellt, so werden nur die Farbbalken
angezeigt.
30
Unten wird eine Dialogbox angezeigt.
Mit den 16 Button direkt unter den Farbbalken kann man die zu ändernde Farbe anwählen.
Durch shift-Klick kann man mit gedrückter Maustaste eine Farbe an eine andere Stelle ko-
pieren, mit control-Klick und gedrückter Maustaste erhält man einen Farbverlauf zwischen
Anfangs- und Endfarbe.
Unter diesen 16 Button befindet sich nochmal eine Leiste mit 16 Button, die selektiert
werden können. Sie bestimmen, welche Farben beim Rotieren berücksichtigt werden. Zum
Rotieren (also zyklischen Verschieben der Farben nach links oder rechts) dienen die Button
'->' und '<-'.
Die Leisten 0-7 mit den Bezeichnungen rot, grün und blau dienen natürlich zum Einstellen
der angewählten Farbe (vgl. Control.acc).
Daneben gibt es die Möglichkeit die Farben nach dem HLS-Modell (Hue (Farbton), Light-
ness (Helligkeit) und Saturation (Sättigung)) einzugeben; dazu dienen die (quasikontinuier-
lichen) Schieber mit den Bezeichnungen Farbe, Hell. und Sättig..
Die Einstellungen im RGB- und HLS-Modell werden jeweils automatisch in das andere
Modell übernommen.
Die Button Tab 1 - Tab 12 enthalten voreingestellte Farbtabellen, die mit Einfachklick
abgerufen und mit Doppelklick eingestellt werden können (die Einstellung gilt auch noch
nach Verlassen der Dialogbox mit Abbruch). Gespeichert werden die Farbtabellen mit den
anderen Parametern (vgl. 6.1).
Zwei Anmerkungen zur Farbeinstellung:
Mit der Maus kann man grundsätzlich auch in den oberen Teil fahren, dort wird sie aber
wegen der falschen Auflösung nicht korrekt angezeigt und es sind keine Eingaben möglich.
Als Hintergrundfarbe (Farbe 0) sollte man die gleiche Farbe verwenden, die auch in mittlerer
Auflösung als Hintergrundfarbe eingestellt ist (i.a. weiss), da es sonst am oberen Bildschirm-
rand und zwischen niedriger und mittlerer Auflösung zu unschönem Flackern kommt.
31
8 Tastatur-Kommandos
Alle Menüpunkte können auch über Tastatur-Kommandos aufgerufen werden.
Die Kommandos werden am Ende des Menüeintrages angezeigt, wobei einfache Buchstaben
die Taste ohne Zusatztasten und '^'-Buchstabe die Taste zusammen mit der Control-Taste
bedeutet.
Grundsätzlich wird der Tastatur-Code, nicht der Ascii-Code der Taste ausgewertet, so dass
insbesondere der Ziffernblock separat behandelt wird.
Die Tasten des Ziffernblockes werden für das Neu-Menü verwendet, zusätzlich sind die Ta-
sten F, D und X wie in FRACTAL 4.30 für die ersten drei Einträge (Fractale) möglich.
Zusätzlich zu den Tastatur-Kommandos zur Bedienung des Desktops und des Neu-Menüs
hat man folgende Befehle:
Kommando | Menü | Eintrag
CTRL I | CHAOSultd | Fractal 4.1
CTRL L | Datei | Laden ...
CTRL S | Datei | Speichern
CTRL W | Datei | Speichern ...
CTRL X | Datei | Objekte löschen
CTRL E | Datei | Einstellungen
CTRL H | Datei | Druckparameter
CTRL Q | Datei | Prog. beenden
S |Zeigen | Bild(er)
A |Zeigen | alle Bilder
C |Zeigen | Film
O |Zeigen | Optionen
V |Zeigen | Bildvergleich
B |Zeigen | Block zeigen
P |Zeigen | Parameter
I |Zeigen | Info
H |Zeigen | Bilder drucken
W |Weiter | weiter
Q |Weiter | alle weiter
N |Weiter | neu berechnen
M |Weiter | Film
E |Weiter | Edit Film
9 Sonstiges
Nachdem am Anfang dieses Abschnittes auf den wichtigsten Teil von CHAOSultd verwiesen
wurde, soll hier noch ein Hinweis auf den zweitwichtigsten Teil folgen, das Programm-Info.
Schliesslich habe ich das Programm nur geschrieben, um mich irgendwo verewigen zu können.
Das Programminfo ist mehrteilig; nach einer Dialogbox, die Programm und Autor nennt und
einer weiteren Dialogbox, die etwas detailiertere Angaben zum Programm bietet, folgen eine
oder mehrere weitere Dialogboxen, die die Berechnungsroutinen und ihre Autoren nennen.
32
Teil II
die Fractal-Routinen
1 der Algorithmus
Fractale im Sinne dieser Routinen beruhen auf einer Verallgemeinerung von Mandelbrot-
und Julia-Mengen - erstere sind auch als Apfelmännchen bekannt.
Apfelmännchen beruhen bekanntlich auf Folgen komplexer Zahlen, die durch die Rekursi-
onsformel
zn+1 = z2n- z0
definiert sind24.
Das Bild entsteht dann so, dass man einen Teil der komplexen Ebene auf den Bildschirm
abbildet und für jeden Punkt z0 untersucht, ob und wenn wann die Glieder der zugehörigen
Folge dem Betrage nach einen bestimmeten Wert (die Abbruchbedingung) überschreitet.
Die Farbe des Punktes bestimmt sich dann aus der der Anzahl der nötigen Iterationen bis
zum Erreichen der Abbruchbedingung.
Julia-Mengen werden fast genauso berechnet, allerdings lautet die Rekursionsformel hier
zn+1 = z2n+ c
wobei c eine für alle Bildpunkte gleiche, komplexe Konstante ist.
In den Fractal-Routinen von CHAOSultd sind nun diese beiden Formeln zur folgenden
zusammengefasst:
zn+1 = z2n+ ffz0 + c
wobei ff eine (reelle) Konstante ist.
Apfelmännchen erhält man aus dieser Formel leicht durch ff = 1 und c = 0, Juliamengen
durch ff = 0 und c 6= 0.
Diese Berechnungsformel liegt den Bildern, die mit den Menüpunkten Fractal(e) und 3d
Fractal(e) erzeugt werden, zugrunde. Bei pseudo-dreidimensionalen Bilder wird dabei die Be-
rechnungstiefe eines Punktes nicht durch seien Farbe dargestellt, sondern direkt als Höhen-
information verwendet.
Für freie Fract. kann die Berechnungsformel explizit angegeben werden so dass man selbst
experimentieren kann.
2 Parameter
2.1 benötigte Parameter
Wie gesagt, wird ein Ausschnitt der komplexen Zahlenebene auf den Bildschirm abgebil-
det. Dazu muss man natürlich diesen Ausschnitt, durch den minimalen und maximalen
____________________________________24
statt des '-' findet man teilweise auch ein '+'
33
Real- und Imaginärteil festlegen. Des weiteren muss ff, die Konstante c (Real- und Ima-
ginärteil), die Abbruchbedingung25, also die Zahl die der Betrag der komplexen Zahl aus
der Rekursionsformel übersteigen soll, und die maximale "Tiefe", d.h. die maximale Anzahl
von Rekursionsschritten, nach der die Berechnung spätestens abgebrochen wird, festgelegt
werden.
Die max. Tiefe kann bis 9999 gross werden, je grösser sie ist, desto länger dauert allerdings
auch die Berechnung des Bildes. (Bei einer Tiefe von 9999 kann die Berechnung eines ein-
zigen Bildes durchaus mehrere Tage in Anspruch nehmen. Im allgemeinen verwendet man
kaum Tiefen über 250).
Die Abbruchbedingung kann aufgrund des für schnelle Berechnungen (s.u.) verwendeten
Festkommazahlenformates nicht grösser als 11 werden, aufgrund ihrer Definition ist sie stets
positiv, also grösser 0. Für die anderen Parameter wird lediglich geprüft, ob der minimale
Real-/ Imaginärteil auch wirklich kleiner als der maximale ist, ebenfalls aufgrund des Zah-
lenformates dürfen diese Parameter dem Betrage nach nicht grösser als ca. 127 sein. Da die
Interessanten Strukturen aber ohnedies im Bereich von 3 real und 2 Imaginär liegen (zu-
mindest in etwa) sollten sich damit trotz der an dieser Stelle fehlenden Sicherheitsabfragen
keine Probleme ergeben26.
Weiterhin muss man natürlich festlegen, wie die Anzahl der Rekursionsschritte in Farben
umgesetzt werden soll. Auch hier erlaubt CHAOSultd wesentlich mehr Einstellungsmöglich-
keiten als andere Programme.
In der SW-Version können können Bilder als reine Schwarzweissbilder oder als Graustufenbil-
der berechnet werden. Die Graustufen (fünf sind möglich) werden dabei durch Pixelmuster
(2*2 Pixel für einen Punkt) erzeugt, so dass bei ihnen die Auflösung entsprechend geringer
ist.
Zum anderen ordnet man üblicherweise die Farben der Schrittanzahl so zu, dass sich die
Farben immer wieder zyklisch wiederholen. In CHAOSultd sind dagegen maximal fünf un-
abhängige Bereiche möglich. Für jeden Bereich, der durch die maximale Schrittanzahl, für
die er noch gelten soll, festgelegt wird, kann man entweder eine feste Farbe oder aber das
zyklische Wiederholen einer bestimmten Anzahl von Farben festlegen. Im letzteren Fall muss
man angeben, welche Farben (kleinste und grösste Nummer), welche Farbe zuerst, und wie-
viele verschiedene Schrittanzahlen für eine Farbe man haben will. Zu guter letzt kann man
noch wählen, in welcher Farbe Punkte erscheinen sollen, für die die maximale Tiefe erreicht
wurde.
Ausser diesen Parametern, die den Bildinhalt beschreiben, kann man zum einen noch wählen,
ob man ein grosses, mittleres oder kleines Bild erzeugen will, was natürlich die Rechenzeit
und den Speicherbedarf beeinflusst. Zum anderen kann man zwischen zwei Berechungsrou-
tinen wählen: schnell und exakt, wobei schnell mit einem speziellen Festkommazahlenformat
arbeitet, während exakt die Rechenroutinen von Turbo/Pure C verwendet27.
(exakt ist natürlich wesentlich langsamer, weshalb ich von der Benutzung im allgemeinen
abrate).
____________________________________25
viele Apfelmännchenprogramme verwenden 2 als Abbruchbedingung, allerdings finde ich die Bi*
*lder, die
mit der Abbruchbedingung 10 entstehen, schöner
26im Berechnungsmodus exakt (s.u.) lassen sich theoretisch auch grössere Bereiche realisiere*
*n, aber wie
gesagt, finden kann man da an sich nichts
27das heisst es wird mit 80 Bit Fliesskommazahlen und einer entsprechenden Genauigkeit von 19*
* signi-
fikanten Ziffern gearbeitet. Ausserdem wird ein eventuell vorhandener Fliesskommacoprozessor au*
*tomatisch
genutzt.
34
2.2 Eingabe der Parameter
Wie Sie sehen ist für jedes Bild also eine ziemlich Anzahl an Parametern einzustellen. Dazu
kommt noch, dass die meisten Parameter doppelt vorhanden sind, um Bildfolgen, bei denen
nur das erste und letzte Bild angegeben werden, zu ermögliche - die Parameter der übrigen
Bilder werden dann durch Interpolation berechnet.
Für gewöhnliche Bilder, wie man sie mit anderen Fraktalprogrammen auch erzeugen kann,
gibt es aber einige Funktionen, die das Einstellen der Parameter erleichtern.
Um Fractale zu erzeugen klickt man in der Menüleiste den Menüpunkt Fractal(s) im
Menü Neu an. Es erscheint dann die (ziemlich umfangreiche, also nicht erschrecken) Dia-
logbox zum Eingeben der Parameter, in der (sofern die Einstellungsdatei CHS_ULT?.SET
korrekt geladen wurden) bereits Parameter voreingestellt sein sollten (diese Voreinstellung
ist jedesmal dieselbe, sie kann geändert werden, wenn man den Menüpunkt Fractal(s) mit
gedrückter SHIFT-Taste aufruft; bei einem erneuten Aufruf findet man also nicht wieder die
Parameter vor, die man zuletzt eingestellt hatte).
Im folgenden die Parameter von oben nach unten, als da wären, der Name des Bildes (der
später auf dem Desktop von CHAOSultd angezeigt wird und auch als Dateiname verwendet
wird), die Anzahl der Bilder (für Einzelbilder natürlich 1) sowie die gewünschte Bildgrösse.
Anschliessend kommen zweispaltig die einzelnen numerischen Bildparameter, wie in 2.1
erläutert. Dabei interessiert für Einzelbilder nur die linke Spalte, die rechte bleibt unbe-
nutzt.
Unterhalb der Parameter befinden sich einige Button, die das Leben erleichtern. Alle diese
Button können mit Einfach- und mit Doppelklick aufgerufen werden, wobei bei Einfachklicks
nur die numerischen Parameter, bei Doppelklicks auch Bildgrösse, Farben und Berechnungs-
modus verändert werden.
apf ermöglicht das Aufrufen einer Voreinstellung für das Urapfelmännchen, dies ist die
einfachste Möglichkeit ein Bild zu erhalten; mit dem Button clr kann man alle Einträge
löschen. Mit dem Button - > kann man die Parameter von links nach rechts kopieren.
Einen clr-Button gibt es auch je für die linke und rechte Parameterhälfte. Die anderen beiden
Button (für die Parameterhälften) funktionieren nur, wenn schon Bilder berechnet wurden:
Mit get übernimmt man die Parameter eines bestehenden Bildes, indem man das Bild auf
dem Desktop anklickt. Die Übernahme aller Parameter (beim Aufruf mit Doppelklick) ist
nur für gleiche Bildtypen (normale oder 3d Bilder) möglich, um die Funktion abzubrechen
genügt ein Doppelklick auf den Hintergrund. Mit CONTROL-get (Einfach- oder Doppelklick)
kann man die Konstante c durch Anklicken einer Position in einem (normalen) Fractal
setzen.
Mit block kann man Ausschnitte aus berechneten Bildern auswählen, allerdings nicht aus
3d Bildern. Man klickt das entsprechende Bild auf dem Desktop an, es wird angezeigt,
und man kann den Ausschnitt festlegen, indem man erst durch einen Mausklick die eine
Ecke, und dann durch einen weitere Klick die zweite Ecke festlegt. Mausklick rechts führt
zum Abbruch; drückt man beim ersten Mausklick zusätzlich die SHIFT-Taste, so ist der
Ausschnitt in seinen Proportionen beliebig, ansonsten entspricht er dem Bildschirmformat.
Nun folgt noch die Einstellung des Berechnungsmodus, schnell oder exakt.
Die Einstellung der Farben wird aus Platzgründen lediglich angezeigt (im kleinsten System-
zeichensatz), eingestellt wird sie in einer eigenen Dialogbox, in die man mit dem Button
Farben gelangt.
In dieser Dialogbox kann man - in der SW-Version - zunächst mit den beiden Button s/w
35
und grau oben in der Box wählen, ob man Schwarzweiss- oder Graustufen-Bilder haben
möchte. Dabei bewirkt ein Einfachlick das Umschalten, ohne dass die anderen Einträge in
der Dialogbox geändert werden, während ein Doppelklick gleichzeitig die Farbparameter
auf zyklisches Durchscrollen aller Farben einstellt.
Unter diesen Button sind die in den beiden Modi jeweils möglichen Farben und ihren Farb-
nummern angezeigt.
Mit den folgenden Button normal und invers wählt man, ob die Farben wie üblich (Hin-
tergrund weiss, gesetzte Pixel schwarz) oder invertiert (Hintergrund schwarz, gesetzte Pixel
weiss) dargestellt werden sollen. Übrigens lässt sich diese Einstellung (im Gegensatz zu den
anderen) jederzeit verändern, also auch wenn das Bild schon ganz oder teilweise berechnet
wurde.
In der Farbversion kann man mit dem Button zykl. ebenfalls zyklisches Durchscrollen ein-
stellen. Mit dem Button Farben einstellen kommt man in die Dialogbox zum Ändern der
Farbtabelle, die sich auch aus der Dialogbox für die Parameter mit dem Button ändern
direkt aufrufen lässt.
Nun folgen in der Dialogbox die Angaben für die fünf Farbbereiche, die aber nicht alle ge-
nutzt werden müssen. Zunächst kommt die Angabe, bis zu welcher Tiefe der Bereich gelten
soll. Der erste Bereich beginnt mit der Tiefe 0, der zweite direkt nach dem ersten usw. Der
letzte verwendete Bereich muss durch die Angabe von 9999 als Endtiefe gekennzeichnet wer-
den, folgende Bereiche werden, auch falls vorhanden nicht mehr beachtet. Bei den Bereichen
wird nicht darauf geachtet ob sie sinnvoll mit der max. Berechnungstiefe zusammenpassen,
d.h. man könnte auch bei einer max. Berechnungstiefe von meinetwegen 50 einen Bereich
von 75-100 definieren, obwohl ein solcher Bereich nie genutzt würde.
Als nächstes muss man festlegen, ob in dem Bereich die Farben zyklisch durchgewechselt
werden sollen oder nicht. Dazu dient der Button zykl.; ist er aktiviert, so werden die Farben
durchgewechselt, ansonsten nicht. Im letzteren Fall muss nur noch festgelegt werden, welche
Farbe dem Bereich zugeordnet werden soll. Dies geschieht durch den Eintrag Farbe. Dabei
gibt es eine Besonderheit, gibt man als Farbe -1 an, so wird die auf die zuletzt verwendete
Farbe folgende Farbe hergenommen, handelt es sich um den ersten Farbbereich, so wird die
Farbe 1 verwendet (auf diese Weise kann man nach zyklischen Bereichen im Farbverlauf
fortfahren ohne sich erst die letzte Farbe des Bereiches überlegen zu müssen).
Bei zyklischen Bereichen legt der Eintrag Farbe die erste verwendete Farbe fest. In den
Einträgen ... bis ... gibt man an, welche Farben hergenommen werden sollen (dabei muss der
erste Eintrag kleiner sein als der zweite) und mit Step erklärt man, wieviele Tiefenstufen in
der gleichen Farbe dargestellt werden sollen.
Als letzter Farbparameter muss schliesslich noch eingestellt werden, in welcher Farbe Punkte
dargestellt werden sollen, die "tiefer" als die max. Tiefe liegen, auch hier ist -1 als Joker
verwendbar.
Soweit zu den Parametern für die Erzeugung eines Bildes. Ich kann gut verstehen, dass
Ihnen das ganz schön kompliziert vorkommt. Es ist wohl auch nicht ganz einfach, aber zum
einen muss man ja nicht jedes Detail ausnutzen und zum anderen muss man einfach ein
bisschen herumprobieren, dann findet man sich mit der Zeit schon zurecht. Wer allerdings
geglaubt hat, schlimmeres könnte ihm nicht wiederfahren, der hat sich geirrt, es kommt
noch schlimmer:
36
2.3 Fractalbildfolgen
Wie bereits erwähnt gehört es zu den Fähigkeiten von FRACTAL, nicht nur Einzelbilder,
sondern auch Bildfolgen berechnen zu können. Dabei müssen die Bildparameter für das
erste und das letzte Bild sowie die Bildzahl angegeben werden, FRACTAL interpoliert
dann die Werte für die dazwischen liegenden Bilder. Die Parameter werden in der selben
Dialogbox eingegeben, wie die Parameter von Einzelbildern28. Dabei dient die linke Spalte
für die Parameter des ersten, und die rechte Spalte für die Parameter des letzten Bildes.
Alle Einstellungen die nur einfach vorhanden sind gelten für alle Bilder der Bildfolge, dies
sind Bildgrösse, Berechnungsmodus sowie die Farben. Bei den anderen Parametern kann
schliesslich noch die Art der Interpolation gewählt werden. Dazu dienen die Button rechts von
den Parameterangaben. Gewählt werden kann lineare (0), progressive (+) und degressive
(-) Interpolation. Bei linearer Interpolation sind die Unterschiede zwischen den Parametern
zweier aufeinanderfolgender Bilder stets gleich gross, bei progressiver Interpolation nehmen
sie zu und bei degressiver ab.
Noch eine Bemerkung zu den Bildnamen bei Bildfolgen: der in der Dialogbox angegebe-
ne Name kann höchstens sechs Zeichen lang sein (andernfalls werden die letzten Zeichen
überschrieben), ist er kürzer, so wird er mit '_' erweitert, und in den Zeichen 7 und 8 die
Nummer des jeweiligen Bildes (beginnend mit 00) eingetragen.
2.4 3d Fractale
Im Vergleich zu den normalen Fractalen mit ihrer komplizierten Farbgestaltung sind 3d
Fractale fast schon einfach.
Bei 3d Fractale wird die Berechnungstiefe durch die Tiefe oder Höhe der gezeichneten Punk-
te dargestellt.
Die Parameter entsprechen weitgehend denen von normalen Fractalen. Allerdings ist die
maximale Tiefe bei 3d Fractalen auf 115, 160 bzw. 240 bei kleinen, mittleren oder grossen
Bilder beschränkt (in der sw-Version, für die Farb-Version muss man die Werte noch mal
etwa halbieren)
Es kann auch nicht zwischen schneller und genauer Berechnungsroutine unterschieden wer-
den (verwendet wird stets die schnelle Berechnugsroutine), und die Farbeinstellung fällt
ganz weg.
Eingestellt werden muss statt dessen, ob das Fractal hoch oder tief gezeichnet werden soll,
und mit welchem Raster das Fractal dargestellt werden soll. Hier hilft Ausprobieren der
Möglichkeiten und Anschauen der Ergebnisse glaube ich besser als langatmige Erklärungen.
2.5 freie Fractale
Für freie Fractale, d.h. Bilder mit frei definierter Rekursionsformel, kommen zu den Para-
metern für 2d-Fractale noch einige hinzu, die in einer eigenen Dialogbox vor den anderen
Parametern eingegeben werden müssen.
____________________________________28
Wer also die Parametereingabe für ein Bild verstanden hat, der wird auch mit Bildfolgen ke*
*ine grossen
Probleme haben, insofern stimmt die oben gemachte Bemerkung, es käme noch schlimmer, vielleich*
*t doch
nicht so ganz.
37
Berechnungsformel
Zunächst einmal muss man natürlich die Berechnungsformel angeben. Diese ist ein beliebiger
Funktionsstring, der (komplexe) Konstante, Variable, Operatoren und Funktionen enthalten
kann.
Konstante müssen die Form Realteil + i Imaginärteil besitzen und vorsichtshalber geklam-
mert werden (normalerweise brauch man eh keine).
An Variablen kann man zn, d.h. den momentanen Wert der Rekursionsfolge, z0 den Start-
wert, d.h. die komplexen Koordinaten der Bildschirmpunktes, die reelle Zahl a und die
komplexe Zahl c (wie in den weiteren Parametern eingegeben) verwenden.
An Operationen kann die üblichen binären Operationen +, -, *, / und ^ (Potenz) verwenden;
ausserdem Klammern ( und ) und Vorzeichen -.
An (komplexen) Funktionen werden unterstützt:
Re | Realteil einer komplexen Zahl
Im | Imaginärteil einer komplexen Zahl
konj |komplex konjugieren
abs |Absolutquadrat einer komplexen Zahl (abs (x + iy) = x2 + y2)
|(der Name ist eigentlich falsch!)
quad | Quadrat
kubik | dritte Potenz
sin |Sinus
cos |Cosinus
exp |Exponentialfunktion
log |Logarithmus
Anmerkung: möchte man die n-te Potenz einer Zahl zn verwenden (n ganz), so sollte man
nicht zn^ n benutzen, sondern die Funktionen quad, kubik, und Produkte aus zn und ihnen
- z.B. zn^ 4=quad(quad(zn)) - was wesentlich schneller berechnet wird.
Beispiele für eine Berechnungsformel:
Apfelmännchen: quad(zn)-z0 Juliamengen: quad(zn)+c
Die Berechnungsformel wird zur Auswertung übrigens compiliert, d.h. in Maschinencode
übersetzt, wenn auch nicht allzu guten. Tritt dabei ein Fehler auf, so wird dieser in einer
Alertbox angezeigt, die Dialogbox kann nicht mit Ok verlassen werden.
weitere Parameter für freie Fractale
Neben der Berechnungsformel kann man auch die Abbruchbedingung und die Art des
Punkte-Setzens beeinflussen.
Bei der Abbruchbedingung hat man die Möglichkeit eine oder zwei relevante Grössen zu
bestimmen, wobei der Betrag, der Real- sowie der Imaginärteil der Folgenglieder zur Wahl
stehen (die Abbruchbedingung lautet immer: Grösse > Abbruch, wobei Abbruch der in den
Parametern wie bei normalen Fractalen angegebene Wert ist).
Wählt man zwei Grössen und damit eigentlich zwei Bedingungen, so kann man noch die
logische Verknüpfung (and, or oder xor) zwischen diesen wählen.
Ähnlich legt man die Bedingung zum Punkte-Setzen fest. Entweder man lässt die Punkte
entsprechend den Berechnungsschritten setzen - nur dann kann man bei den übrigen Para-
metern auch die Farbeinstellung wie bei normalen Fractalen vornehmen - oder man definiert
eine Bedingung die erfüllt sein muss, damit ein Punkt gesetzt wird. Diese Bedingung ent-
38
spricht der Abbruchbedingung und wird genauso festgelegt (man kann hier natürlich andere
Kombinatinen wählen), allerdings werden hier Bedingungen Grösse < Abbruch verwendet29.
Nach Verlassen der Dialogbox für frei definierte Fractale mit Ok muss man in der ganz nor-
malen Parameterdialogbox (wie für normale Fractale) noch die übrigen Parameter angeben.
Und was soll das alles?
Falls sie sich dies fragen, weil sie kaum noch verstehen, was denn nu bei welcher Einstellung
wie berechnet und gezeichnet wird, soll hier noch kurz erklärt werden, woher frei definierte
Fractale kommen.
Sie kommen von Pickover-Mengen, die im Spektrum der Wissenschaft Sonderheft Compu-
terkurzweil IV unter dem Stichwort Biomorphe beschrieben wurden.
Dabei verwendet man Berechnungsformeln z.B. vom Typ zn^n + c (n=3,4,5: :):und als
Abbruch- wie als Punktsetz-Bedingung Re or Im.
3 unterstützte Optionen
Da die Fractal-Routinen gewissermassen das Mass aller Dinge bei der Entwicklung von
CHAOSultd waren30, jedenfalls haben sie die möglichen Optionen vorgegeben, werden im
Prinzip alle möglichen Optionen von den Fractal-Routinen auch in irgendeiner Weise un-
terstüzt.
3.1 Parameter anzeigen
Alle Parameter werden angezeigt. Bei freidefinierten Fractalen muss man zur Anzeige der Be-
rechnungsformel und Abbruch- sowie Punktsetz-Bedingung in eine zweite Dialogbox (über
den Button - >frPar) verzweigen. Das gleiche gilt für die Farbtabelle in der Farb-Version.
Ändern kann man Bildnamen und Dateipfad (auch mittels Dateiselector über den Button
select) sowie die Farbeinstellung. Die Angaben werden nur übernommen, wenn man die
Dialogbox mit Ok verlässt.
3.2 Bild-Info anzeigen
Für die Fractal-Routinen steht ein umfangreiches Bild-Info für Einzelbilder zur Verfügung,
die CHAOSultd-Routine zur Anzeige von Infos über mehrere Bilder wird unterstützt.
In Einzelbild-Infos wird angezeigt:
die Anzahl der Bildpunkte (nicht Pixel!) - insgesammt und als Höhe mal Breite;
die Berechnungszeit in Stunden, Minuten und Sekunden, sowie die Zeit pro Zeile in Sekunden
und pro Punkt in Millisekunden;
die mittlere Tiefe (Zahl der Iterationen geteilt durch Anzahl der Bildpunkte) und zum
Vergleich die maximale Tiefe;
die Anzahl der Iterationen und die Zeit pro Iteration (in Mikrosekunden);
____________________________________29
natürlich sind nicht alle Kombinationen von Abbruch- und Punktsetz-Bedingung auch sinnvoll*
*, das sollte
man sich vorher überlegen
30was nicht heisst, dass das so bleiben muss
39
die Anzahl der nötigen Multiplikationen, die mittlere Zeit pro Multiplikation31 und die sich
daraus ergebende Zahl von Multiplikationen pro Sekunde.
Die Angaben über Multiplikationen sind bei freie definierter Berechnungsformel nicht
möglich.
Für Infos über mehrere Bilder entsprechen die Angaben über Iterationen, Bildpunkte und
Berechnungszeit denen der Einzelinfos.
3.3 Bilder anzeigen
Beim Bilder anzeigen werden die Optionen weitgehend unterstüzt. Die Anzeige von Koordi-
naten und Konstanten in bei 3d-Bildern natürlich unmöglich, bei den anderen Bildern wird
die Konstante c als Konstante angezeigt.
Ein Punktinfo ist nur bei normalen Fractalen möglich, wobei neben Koordinaten auch die
Tiefe angezeigt wird; ist sie grösser als die maximale Tiefe des Bildes, so wird dies durch das
unendlich-Symbol markiert.
3.4 Block zeigen
Block-Auschnitte enthalten können nur zweidimensionale Bilder. 3d Bilder können lediglich
aus Ausschnitt in einem zweidimensionalen Bild angezeigt werden.
3.5 neu berechnen
Beim neu berechnen von Fractalen können Bildgrösse, Abbruchbedingung, maximale Tiefe,
Genauigkeit, Darstellung bzw. Farbtabelle, die Farbkodierung von 2d-Bildern, das Raster
und der Modus von 3d-Bildern sowie für frei definierte Fractale die Berechnungsformel, die
Abbruchbedingung und die Punktsetz-Bedingung neu vereinbart werden.
In der Dialogbox muss dazu einerseits der gewünschte neue Wert einer Grösse angegeben
werden, der dann für alle zu neu berechnenden Bilder Verwendung findet, andererseits muss
das Neu-setzen dieses Wertes durch selektieren des zugehörigen Button aktiviert werden.
Die Einstellungen für frei definierte Fractale finden sich in einer eigenen Dialogbox, in die
man mit dem Button fr. Param. gelangt; auch die Farbtabelle wird natürlich in der üblichen
Weise eingegeben.
Bilder werden grundsätzlich nur neu berechnet, wenn sich ihre Parameter geändert haben;
hat man nur die Farbetabelle (bzw. Darstellung) geändert, so wird das Bild einfach kopiert
(soweit es bereits berechnet ist).
3.6 Vier Bilder
Die Option vier Bilder wird nicht für 3d Bilder unterstützt.
3.7 Hardcopy
Das Ausdrucken der Parameter unter eine Hardcopy wird voll unterstützt.
____________________________________31
d.h. die Berechnungszeit geteilt durch die Zahl der Multiplikationen, tatsächlich dauert e*
*ine Multiplika-
tion an sich weniger lang, wobei auch noch zwischen Quadratur einer Zahl und Multiplikation zwe*
*ier Zahlen
unterschieden werden müsste
40
Teil III
Hüpfer
1 der Algorithmus
Hüpfer basiert auf einem Algorithmus von Barry Martin, der im Computer-Kurzweil der
Zeitschrift Spektrum der Wissenschaft vorgestellt wurde.
Dabei betrachtet man eine Folge von Zahlenpaaren xn und yn mit der folgenden Iterations-
vorschrift:
q _______________
xn+1 = yn - sign(xn) . abs (b . xn - c)
yn+1 = a - xn
wobei a, b und c frei wählbare Parameter sind.
Die Punkte (xn; yn) werden in einem Koordinatensystem aufgetragen, woraus sich mehr
oder weniger interessante Figuren ergeben.
Anders als bei Fractalen (siehe Teil II) erhält man hier eine Vielfalt von Formen nicht so
sehr aus der Wahl des Koordinatenausschnittes sondern aus der Wahl der Parameter a, b
und c. Das Ergebnis hängt ausserdem - ebenfalls im Unterschied zu Fractalen - recht stark
von der Anzahl der Iterationen ab: einerseits können ganze Bildteile unter Umständen erst
nach sehr vielen Iterationen zum Vorschein kommen, andererseits können auch Strukturen
bei zu vielen Iterationen durch die vielen gezeichneten Punkte wieder überdeckt werden.
Man beachte, dass aufgrund des Algorithmus die Rechenzeit nicht von der Bildgrösse
abhängt32. Berechnet man kleine Bilder, so führt das lediglich zu einer Speicherplatz- nicht
aber zu einer Rechenzeitersparnis33.
2 Parameter
An Parametern für die Berechnung von Hüpfer-Bildern sind zunächst einmal - wie üblich -
Bildname, Anzahl der Bilder, die Bildgrösse und in der sw-Version die Darstellung (normal
oder invers) bzw. in der Farb-Version die Farbtabelle anzugeben.
Die folgenden Parameter sind wie üblich doppelt anzugeben - für das erste und für das
letzte Bild einer Bilderfolge; berechnet man nur ein Bild, so braucht man natürlich nur die
linke Spalte auszufüllen. Auch die Button für den Interpolationsmodus sind ja bekannt.
Zunächst einmal muss man die drei Parameter a, b und c der Iterationsvorschrift angeben;
es folgen die Startwerte für x und y sowie die Festlegung des Bildausschnittes. Aus tra-
ditionellen Gründen geschieht dies im allgemeinen nicht durch minimalen und maximalen
Wert für x und y sondern durch einen Vergrösserungsfaktor (scale und einen Offset, der die
Position der Bildmitte angibt (jeweils für x und y getrennt). Man kann in der Dialogbox
____________________________________32
die Rechenzeit hängt hier lediglich von der Zahl der Iterationen ab, weshalb sie auch vorh*
*er abgeschätzt
werden kann
33das Berechnen von vier Bildern dauert allerdings trotzdem viermal so lang, da dabei die vie*
*r Bilder
unabhängig von einander berechnet werden
41
auch durch Anklicken des Button auf die Eingabe der Minimal- und Maximal-Werte um-
schalten, dabei ist aber zu beachten, dass für die Interpolation bei Bildfolgen stets mit den
Vergrösserungsfaktoren und Offset's gerechnet wird (d.h. bei Verlassen der Box werden die
Werte in diesen Modus umgerechnet).
Schliesslich ist noch die Iterationsanzahl anzugeben und die Schrittweite, d.h. die Zahl der
Iterationen nach der jeweil ein Punkt gesetzt werden soll (normalerweise setzt man nach
jedem Schritt einen Punkt, d.h. Schrittweite 1).
Die Eingabe der Parameter wird wie bei Fractalen durch eine Reihe von Möglichkeiten
unterstützt. Es gibt die üblichen Button Def für eine Defaulteinstellung, Clr zum Löschen
aller Eingaben, - > zum Kopieren von links nach rechts, sowie je für die linke und rechte
Parameterhälfte get, blk und clr. Zusätzlich gibt es rnd. Bei get und blk werden stets alle P*
*a-
rameter kopiert (mit Ausnahme des Namens) man kann dabei ausschliesslich Hüpfer-Bilder
auswählen. rnd ermöglicht die Vorbelegung der Parameter a, b und c mit Zufallszahlen.
Den Bereich für diese Zufallszahlen kann man durch Aufruf des Hüpfer-Menüeintrages zu-
sammen mit der CONTROL-Taste einstellen, wobei man links den minimalen und rechts den
maximalen Wert angibt.
Ebenfalls Zufallszahlen für die Bildparameter a, b und c erreicht man durch den zusätzlichen
(zu den von den Fractal-Routinen bekannten) Interpolationstyp r wie random. Wählt man
r als Interpolationstyp, so wird nicht interpoliert sondern ein Zufallswert zwischen den zwei
angegebenen Werten ermittelt (in diesem Fall ist auch bei der Berechnung eines einzigen
Bildes die rechte Parameterhälfte (wenigstens teilweise) relevant).
Die Vorbelegung der Parameter kann man wie üblich durch SHIFT-Klick auf den Hüpfer-
Menüeintrag erreichen.
3 unterstützte Routinen
Die meisten Möglichkeiten von CHAOSultd werden unterstützt.
Berechnungsabbruch ist alle 256 Berechnungsschritte möglich - wie üblich durch Drücken
der ESC-Taste. Man kann dabei durch gleichzeitiges Drücken von CONTROL (an dieser Stelle
nur gleichzeitig mit dem Drücken von ESC, nicht mehr danach) erreichen, dass das Bild
- soweit bisher berechnet - für fertig erklärt wird, die Angabe für die Iterationsanzahl
wird dann entsprechend herabgesetzt (ohne Auswirkung auf weitere Bilder etwa in einer
Bilderfolge).
Beim Parameter anzeigen kann man umgekehrt die Iterationsanzahl wieder erhöhen, die
entsprechende Angabe in der Dialogbox ist edierbar. Man kann also die gewünschte neu
Iterationsanzahl eingeben, die aber grösser sein muss, als die Anzahl der bisher berechneten
Iterationen (andernfalls wird die Angabe schlicht ignoriert); ein bereits fertiges Bild kann
auf diese Weise wieder unfertig werden.
Weiter kann man Bilderinfos anzeigen lassen, wobei es aber kein ausführlicheres Info für
Einzelbilder gibt. Blockroutinen (Block zeigen, Koordinaten anzeigen beim Anzeigen der
Bilder) werden ebenso unterstützt wie das Ausdrucken der Parameter bei Hardcopies. Beim
ebenfalls möglichen Konstante anzeigen wird der letzte berechnete Punkt angezeigt, ein
Punkt-Info ist aber nicht möglich. Das Neu-Berechnen von Hüpferbildern ist möglich, wobei
alle Parameter (einschliesslich Bildausschnitt) verändert werden können.
42
Teil IV
Feigenbaum-Diagramme
Feigenbaum-Diagramme wurden als Beispiel für externe Berechnungsroutinen aufgenom-
men. Sie können also nur erzeugt (geladen und verwaltet) werden, wenn sich die Datei
FEIGBAUM.XCH im Ordner CHS_ULTD befindet und so beim Starten des Programmes nach-
geladen wird. Ist dies der Fall, so verhalten sich die Routinen für den Anwender allerdings
genauso als wären sie fest im Programm installiert.
Feigenbaum-Diagramme können nur bei Monochrombetrieb verwendet werden.
1 Algorithmus
Der Algorithmus von Feigenbaum-Diagrammen ist noch einfacher als der für Hüpfer.
Dabei wird eine Folge von Zahlen nach der Rekursionsformel
xn+1 = r . xn . (1 - xn)
gebildet (mit x0 6= 0, z.B. x0 = 0:5).
Aufgetragen werden die Werte, die xn annimmt, gegen den Parameter r, wobei man aller-
dings die ersten N1 Folgenglieder weglässt.
Als Ergebnis erhält man das Feigenbaumdiagramm. Warum das so aussieht wie es aussieht
kann man z.B. im Spektrum der Wissenschaft Sonderheft Computerkurzweil III nachlesen.
2 Parameter
Nötige Parameter zum Plotten von Feigenbaumdiagrammen sind minimaler und maximaler
Wert der Parameters r (üblicherweise zwischen 0 und 4) sowie der Folgenglieder x (natürlich
nur für die Ausgabe, die Werte liegen zwischen 0 und 1), der Startwert x0 (ebenfalls zwischen
0 und 1), der Zeichenmodus (hoch oder quer), die Zahl der Iterationen vor dem Plotten
der Punkte (z.B. 200) und die Zahl der Iterationen beim Plotten der Punkte (z.B. ebenfalls
200), wobei hier noch eine Schrittweite angegeben werden kann, d.h. die Zahl an Iterationen
zwischen zwei Plots (normalerweise 1, d.h. man lässt jeden Folgenwert zeichnen).
Alle diese Parameter können zusammen mit den üblichen Parametern wie Bildname, Bilder-
zahl, Bildgrösse und Farbe (normal/invers) in der Parameterdialogbox eingegeben werden.
Es gibt die üblichen Interpolationstypen falls man mehrere Bilder berechnet.
Ebenso stehen die üblichen Hilfsfunktionen zum übernehmen von Parametern aus Objek-
ten usw. zur Verfügung (allerdings ohne Unterscheidung von Doppel- und Einfachklick, es
können auch nur Feigenbaumdiagramme ausgewählt werden), der Button FGBM stellt das
Standart-Feigenbaum-Diagramm ein.
3 unterstützte Routinen
Die Feigenbaumroutinen unterstützen nicht alle Möglichkeiten von CHAOSultd. Unterstützt
werden die Anzeige der Parameter, die Anzeige von Bilderinfos (aber ohne eigenen Dialog
für Einzelbilder), Blockroutinen und das Ausdrucken der Parameter.
43
Nicht unterstützt wird die Funktion neu berechnen und das Vergrössern in vier Bilder,
Feigenbaum-Diagramme sind einfach nicht abwechslungsreich genug um diese Routinen auch
noch zu implementieren, die Routinen sollen ja insgesamt vor allem als Beispiel für exteren
Routinen und deren Realisierung dienen.
44