








           C H A O S ultd GEM



            Version 6.00



             18.7.1993



               von



        Th.  Morus  Walter


                                                                                        i



Inhaltsverzeichnis


1   Copyright                                                                 1


2   Allgemeines                                                               2
    2.1   Mglichkeiten und Grenzen  . . . . . . . . . . . . . . . . . . .    2
    2.2   Untersttzte Fraktaltypen  . . . . . . . . . . . . . . . . . . .    4


3   Installation                                                              5
    3.1   Hardwarevorraussetzungen . . . . . . . . . . . . . . . . . . . .    5
    3.2   Installation   . . . . . . . . . . . . . . . . . . . . . . . . .    5
    3.3   Lieferumfang   . . . . . . . . . . . . . . . . . . . . . . . . .    6
    3.4   allgemeine Hinweise zum Betrieb  . . . . . . . . . . . . . . . .    7


4   Danksagung                                                                7


5   Geschichtliches                                                           8
    5.1   Entwicklungsstand  . . . . . . . . . . . . . . . . . . . . . . .    8
    5.2   nderungen gegenber V5.0  . . . . . . . . . . . . . . . . . . .    9
    5.3   Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . .    9
    5.4   Updates und Bezugsmglichkeiten    . . . . . . . . . . . . . . .   10


6   Fehler (und was man dafr halten knnte)                                 11
    6.1   eliminierte Fehler   . . . . . . . . . . . . . . . . . . . . . .   11
    6.2   bekannte Fehler  . . . . . . . . . . . . . . . . . . . . . . . .   12
    6.3   unbekannte Fehler  . . . . . . . . . . . . . . . . . . . . . . .   13
    6.4   Fehler in der Anleitung  . . . . . . . . . . . . . . . . . . . .   14


7   zu dieser Anleitung                                                      14



I    CHAOSultd gem                                                           16


1   Allgemeine Bedienungshinweise                                            16
    1.1   Booten des Programmes  . . . . . . . . . . . . . . . . . . . . .   16
    1.2   Dialoge    . . . . . . . . . . . . . . . . . . . . . . . . . . .   16
    1.3   Fenster  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   18
    1.4   Objekte    . . . . . . . . . . . . . . . . . . . . . . . . . . .   18
    1.5   Selektieren von Objekten im Objekt-Fenster   . . . . . . . . . .   19
    1.6   Bedienungselemente zum Aufruf von Funktionen       . . . . . . .   21


2   Bilder erzeugen                                                          22
    2.1   neue Bilder - Eingabe der Parameter  . . . . . . . . . . . . . .   22
    2.2   bernahme von Daten aus bestehenden Objekten       . . . . . . .   26
    2.3   Berechnung von Bildern   . . . . . . . . . . . . . . . . . . . .   27
    2.4   Neu berechnen    . . . . . . . . . . . . . . . . . . . . . . . .   28
    2.5   Bilder konvertieren  . . . . . . . . . . . . . . . . . . . . . .   29
    2.6   Bilder packen  . . . . . . . . . . . . . . . . . . . . . . . . .   29

INHALTSVERZEICHNIS                                                        ii



3   Anzeigefunktionen                                                        29
    3.1   Bilder anzeigen  . . . . . . . . . . . . . . . . . . . . . . . .   29
    3.2   Bildvergleich    . . . . . . . . . . . . . . . . . . . . . . . .   31
    3.3   Block zeigen   . . . . . . . . . . . . . . . . . . . . . . . . .   31
    3.4   Bild-Parameter anzeigen  . . . . . . . . . . . . . . . . . . . .   32
    3.5   Fraktal-Parameter anzeigen   . . . . . . . . . . . . . . . . . .   32
    3.6   Info anzeigen    . . . . . . . . . . . . . . . . . . . . . . . .   33


4   Input/Output                                                             33
    4.1   Speichern    . . . . . . . . . . . . . . . . . . . . . . . . . .   33
    4.2   Laden    . . . . . . . . . . . . . . . . . . . . . . . . . . . .   34
    4.3   Drucken  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   35
    4.4   Clipboard  . . . . . . . . . . . . . . . . . . . . . . . . . . .   35
    4.5   Lschen    . . . . . . . . . . . . . . . . . . . . . . . . . . .   35


5   Einstellungen                                                            35
    5.1   Speicher-Info    . . . . . . . . . . . . . . . . . . . . . . . .   35
    5.2   Einstellungen I    . . . . . . . . . . . . . . . . . . . . . . .   36
    5.3   Einstellungen II   . . . . . . . . . . . . . . . . . . . . . . .   37
    5.4   Parameter-Voreinstellungen   . . . . . . . . . . . . . . . . . .   37
    5.5   Parameter speichern    . . . . . . . . . . . . . . . . . . . . .   37



II    die Fractal-Routinen                                                   39


1   der Algorithmus                                                          39


2   Parameter                                                                40
    2.1   bentigte Parameter  . . . . . . . . . . . . . . . . . . . . . .   40
    2.2   Eingabe der Parameter  . . . . . . . . . . . . . . . . . . . . .   41
    2.3   3d Fractale    . . . . . . . . . . . . . . . . . . . . . . . . .   43
    2.4   freie Fractale   . . . . . . . . . . . . . . . . . . . . . . . .   44


3   untersttzte Optionen                                                    46
    3.1   Parameter anzeigen   . . . . . . . . . . . . . . . . . . . . . .   46
    3.2   Bild-Info anzeigen   . . . . . . . . . . . . . . . . . . . . . .   46
    3.3   Block zeigen   . . . . . . . . . . . . . . . . . . . . . . . . .   46
    3.4   neu berechnen  . . . . . . . . . . . . . . . . . . . . . . . . .   47



III    die Hpfer-Routinen                                                   48


1   der Algorithmus                                                          48


2   Parameter                                                                48


3   untersttzte Routinen                                                    49

INHALTSVERZEICHNIS                                                        iii



IV    die Feigenbaum-Routinen                                                50


1   Algorithmus                                                              50


2   Parameter                                                                50


3   untersttzte Routinen                                                    50



V    die XCHAOS-Routinen, Barnsley und Attraktoren                           51


1   Barnsley-Fractale                                                        51


2   seltsame Attraktoren                                                     53

1   COPYRIGHT                                                                  1



1     Copyright


CHAOSultd gem V6.00 1 (c) 1993 by Never Ready Software, Th. Morus
Walter

Th. Morus Walter
Schulstr. 22
W-8401 Pentling
(Federal Republic of Germany)
Tel. 0941 949802

Dieses Programm ist Postcardware!

Das  Programm  darf  und  soll  frei  kopiert  und  weitergegeben  werden,  wo-
bei aber alle in Abschnitt 3.3 genannten Dateien kopiert werden mssen -
bzw. die diese Dateien enthaltenden Archive.
Komerzielle Nutzung ist ausgeschlossen, mit Ausnahme der fr den Vertrieb
von PD-Disketten blichen Kopiergebren. Die Aufnahme in eine Public-
Domain Disketten-Serie bedarf der Zustimmung des Autors.
Die Aufnahme des Programmes in Internet-Fileserver oder in Mailboxen ist
erlaubt und erwnscht, vorausgesetzt fr das Abrufen des Programmes wird
keine Gebr verlangt.
Wem das Programm gefllt, und wer es nutzt, ist aufgefordert, mir - dem
Autor - eine Ansichtskarte als kleines Dankeschn zu schicken. So erfahre
ich ein bisschen was ber die User meines Programmes (womglich gibt es
gar keine) und habe etwas (hoffentliche positive) Resonanz, die Rckseite
der Postkarte lsst sich ja fr Anregungen und konstruktive Kritik (andere
wird berlesen) nutzen2. Ich denke, eine solche Postkarte ist nicht zu viel
verlangt, fr ein Programm wie CHAOSultd gem.



Hinweis


Die Benutzung des Programmes geschieht auf eigene Gefahr. Der Autor ga-
rantiert  weder  fr  irgendwelche  Schden  (am  Rechner  oder  auch  am  Be-
nutzer) noch fr die korrekte Funktionsweise des Programmes. Insbesondere
wird nicht garantiert, dass den erzeugten Bildern auch wirklich die beschrie-
benen Algorithmen zugrundeliegen, auch wenn ich natrlich davon ausgehe.



noch ein Hinweis


Wider  die  neue  (und  alte)  Rechte!

Nie  wieder  Krieg!  Nie  wieder  Faschismus!
____________________________________1
    Mit  dem  Namen  geht  das  im  Moment  etwas  durcheinander,  weil  ich
mich nicht so recht entscheiden konnte, ob das GEM nu zum Namen oder
zur Version 6.00 gehrt. Insofern ist CHAOSultd gem V6.00 und CHAOS-
ultdV6.00GEM identisch; im spteren Teilen dieser Anleitung wird meist
nur noch von CHAOSultd die Rede sein
   2ich bitte allerdings um Verstndnis, dass ich schriftliche Fragen nur mit

frankiertem Rckumschlag beantworten kann

2   ALLGEMEINES                                                               2



2     Allgemeines


CHAOSultd gem ist eine Weiterentwicklung von CHAOSultd V5.0. Wie das
Suffix gem andeutet, wurde bei CHAOSultd gem - anders als bei CHAOS-
ultd V5.0 - konsequent auf GEM-Konformitt geachtet. Dazu wurde das Pro-
gramm weitgehend neu implementiert, wobei dem Programm gleich auf eine
moderneres Outfit verpasst wurde (Interface und Mydials machen's mglich).
Die GEM-Konformitt bringt Vor- und Nachteile mit sich. Vorteile sind die
allgemeine Lauffhigkeit in jeder Auflsung und auf jeder Graphikkarte, so-
weit VDI untersttzt wird3. CHAOSultd gem verwendet ausschliesslich VDI
zur Ausgabe.
Nachdem nun ein vorgegebenes Bildschirmformat nicht mehr existiert, wur-
de das Programm konsequenterweise so erweitert, dass Bilder in beliebiger
Grsse und mit variabel vielen Farben (2-256) erzeugt werden knnen, und
zwar unabhngig von der vorliegenden Bildschirmauflsung und Farbtiefe.
Dargestellt werden knnen die Bilder natrlich nur im Bildschirm-Format.
Soweit die Vorteile. Von Nachteil ist die legale Programmierung vor allem
bei der Performance. Das Programm ist teilweise langsamer (vor allem beim
Anzeigen) und manchmal auch etwas umstndlicher als CHAOSultd V5.0.
Wegen dieser Nachteile und der Tatsache, dass das Programm (noch) nicht
den gleichen Funktionsumfang wie die Version 5.0 besitzt (vgl. 5.1 und 5.2)
ist CHAOSultd gem auch nicht direkt als Nachfolger von CHAOSultd V5.0
zu sehen, sondern gewissermass als " dritte Version" zustzlich zur sw- und
Farbversion 5.0, auch wenn sich diese " dritte Version" doch stark von den
Versionen 5.0 unterscheidet. Langfristig und ganz besonders in Anbetracht
der Tatsache, dass der ST wohl schon mittelfristig vom Falcon abgelst wer-
den wird, wird allerdings nur die Version 6.x Bestand haben.
Ich muss auch - aus zeitlichen und organisatorischen Grnden - auf eine
Weiterentwicklung des Versionen 5.0 verzichten. Das heisst nicht, dass diese
Versionen berhaupt nicht mehr von mir untersttzt werden (kleinere Feh-
lerkorrekturen sind schon noch drin, wenn sich noch kleinere Fehler finden)
aber eine systematische Weiterentwicklung wird es nicht geben; auch neue
Berechnungsroutinen, die ich vielleicht mal fr V6.x schreibe, werden (von
mir, aber wer sonst sollte das tun) sicher nicht mehr an V5.0 angepasst.



2.1     Mglichkeiten und Grenzen


Abgesehen  von  der  endlichen  Rechengeschwindigkeit  und  dem  endlichen
Speicher ist CHAOSultd gem ist praktisch grenzenlos (deshalb auch das ultd,
das fr unlimited steht, im Namen). D.h. praktisch alle im normalen Betrieb
auftretenden Einschrnkungen sind durch Rechengeschwindigkeit und Spei-
chergrsse bedingt.
Daneben gibt es die folgenden programmbedingten Einschrnkungen.


    o  maximal 9999 Objekte gleichzeitig im Speicher
____________________________________
   3hoffentlich, getestet wurde nur auf einem ST mit Autoswitch-Overscan

2   ALLGEMEINES                                                               3



    o  Bildgrssen von 64-32000 x 40-32000 Pixel

       im einzelnen.


          -  minimale Bildbreite. 64 Pixel

          -  minimale Bildhhe. 40 Pixel

          -  maximale Bildbreite und -hhe. 32000 Pixel

          -  die Bildbreite muss durch 16, die Bildhhe durch 4 teilbar sein


    o  1-8 Bildebenen, d.h. 2-256 Farben; bei einer Bildebene (mono- bzw.  ge-
       nauer duochrom) sind noch 2x2 und 4x4 Raster mglich

       das ist eine echte Einschrnkung. keine High-/True-Color (bei den mei-
       sten Bildtypen ist das aber auch nicht sinnvoll)


Anmerkungen.

nicht alle Bilderzeugungsroutinen untersttzen alle Bildformate, insbeson-
dere gibt es mehrere Routinen, die nur 2 Farben (und auch keine Raster)
zulassen

die theoretisch mgliche Bildgrsse von 32000x32000 Pixeln bei 256 Farben
(8 Bildebenen) hat einen Speicherplatzbedarf von 976.5625 Megabyte (also
ca. 1 Gbyte). Zwar kann das Bild fr die Bildverwaltung gepackt werden, um
es zu berechnen oder anzuzeigen muss die Bitmap aber entpackt vorliegen.
Ich mchte auch nicht wissen, wie lange es dauern wrde ein solches Bild
mit ca. 109 Punkten zu berechnen.

Noch  eine  weitere  Anmerkung  zur  Speicherverwaltung.  CHAOSultd  gem
verwendet  an  einigen  Stellen  in  Zeigern  -1l  als  Flag.  Damit  drften  sich
Schwierigkeiten  bei  Verwendung  von  Speicher  oberhalb  von  231  =  2  Gi-
gaByte ergeben, insbesondere kann man4 wohl nicht mehr als 2 GigaByte
Speicher nutzen. Ich betrachte diese Einschrnkung allerdings als ausgespro-
chen theoretisch (um 1 GigaByte Speicher auch nur zu lschen - wenn einer
tatschlich soviel Speicher bezahlen kann - braucht eine 8 Mhz 68000 CPU
(mit sowas arbeite ich immer noch) ca. 1000 Sekunden (1 Sekunde pro Me-
gabyte habe ich mal abgeschtzt, auch wenn es wohl sicher noch schneller
geht) also eine viertel Stunde).
____________________________________
   4wer will, kann sich jeder Stelle, an der ,man' steht, ,frau' (dazu) den-

ken; der Verzicht auf diese Formen (ebenso wie auf den studentischen Plural
(wieso eigentlich studentisch, msste das nicht studentInisch oder studieren-
denisch heissen, konsequenterweise) ist nicht Ausdruck der Geringschtzung
dieser Problematik, auch wenn es jetzt vielleicht so klingt, und der Autor
zugibt nicht immer in der Lage zu sein, die Problematik so ernst zu nehmen,
wie es viele andere tun; der Verzicht ist vielmehr Ausdruck der Tatsache,
dass der Autor diese Formen nicht von Anfang an bercksichtigt hat und
der Bequemlichkeit des Autors, die ihn daran hindert, jetzt nochmal alles
daraufhin durchzusehen und zu ndern; der Autor wendet sich im brigen
gegen die Einfhrung von ,ders' als mnnlichen Artikel Plural (statt ,die
Mnner' wrde es dann ,ders Mnner' heissen)

2   ALLGEMEINES                                                               4



2.2     Untersttzte Fraktaltypen


CHAOSultd  gem  ist  modular  aufgebaut5.  Das  Programm  besteht  aus  ei-
nem Hauptteil, der die Verwaltung der Bilder, das Anzeigen, Abspeichern
etc. bernimmt, und mehreren Modulen, die Routinen zur Berechnung von
Fraktalen bestimmter Typen zur Verfgung stellen.
Derzeit existieren Module fr die folgenden Bildtypen.


    o  Fractale

       Unter  Fractalen  im  engeren  Sinn  verstehe  ich  hier  Mandelbrot-
       ,   Julia-   und   Pickover-Mengen,   letztere   mit   frei   definierbarer
       Berechnungsformel6.

       Mandelbrot- und Julia-Mengen knnen auch in Pseudo 3d dargestellt
       werden.

       Das Modul Fractale umfasst also genau die Bildtypen, die es schon in
       Fractal 4.3 (als einzige) und dann genauso in CHAOSultd V5.0 gegeben
       hat.


    o  Hpfer (nach Barry Martin)


    o  Feigenbaum-Diagramme


    o  XCHAOS

       XCHAOS  ist  ein  Modul,  das  verschiedenen  Berechungsroutinen  ge-
       meinsame Funktionen zur Parametereingabe etc. zur Verfgung stellt.
       Bei der Realisation einer solchen Berechungsroutine wird dann prak-
       tisch nur noch angegeben, welche Parameter gebraucht werden. Das
       reduziert  das  Schreiben  neuer  Routinen  im  wesentlichen  auf  die  ei-
       gentliche Zeichenroutine, so dass ich weniger zu tun habe. Das Ganze
       ist aber noch nicht vllig ausgereift (hauptschlich intern, es fehlen
       aber auch noch Routinen zum Neuberechnen von Bildern)

       Unter XCHAOS gibt es zur Zeit.


          -  Barnsley-Fraktale

          -  seltsame Attraktoren (Lorenz, Rssler, etc.)


    o  Iterierte Funktionen-Systeme, linear und nichtlinear

       Die  Iterierten  Funktionen-System  sind  bisher  undokumentiert!  Und
       zwar nicht, weil sie trivial zu bedienen sind, sondern weil ich nicht
       mehr mag (sorry). Wer weiss, was IFS sind (siehe z.B. einen recht gu-
       ten Artikel in der ST-Computer (11/91) und seiner Intuition folgt, hat
____________________________________5
    wie CHAOSultd V5.0, nur konsequenter, es gibt keine internen Berech-
nungsroutinen mehr
   6ich untescheide in dieser Anleitung zwischen Fraktalen, als Oberbegriff

fr alle berechneten Bilder (selbst wenn sie gar nicht fraktal sind), und Frac-
talen im genannten engeren Sinn

3   INSTALLATION                                                               5



       sicherlich gute Chancen, die Routinen zu verstehen, sie folgen gleichen
       Konzepten wie die anderen Routinen auch. Einziger weiterer Hinweis.
       bei den Kopierern (linear/nichtlinear) muss man nach dem Parameter-
       dialog ein Bild-Objekt auswhlen, das als Startbild verwendet wird.
       Man hte sich ansonsten vor Speichermangel (da kann ich fr nichts
       garantieren).

       Sogesehen sind die IFS-Routinen bislang freak-only!

       (Bitte keine Anfragen zu diesem Thema, ich schreibe die Anleitung
       schon noch irgendwann, und dann kann man weitersehen. Ich glaube
       es ist trotz dieses Anleitungsmangels nicht ganz unsinnig, die Routinen
       mitzugeben.)



3     Installation


3.1     Hardwarevorraussetzungen


CHAOSultd gem wurde auf einem Atari 520 ST+  mit TOS1.4, 4 MByte
Speicher und einer 85 MByte Festplatte entwickelt und getestet.
Das Programm sollte auf allen Atari ST, STE, TT und Falcon Rechnern
laufen.
CHAOSultd gem sollte mit jeder Auflsung und Graphikkarte zusammen-
arbeiten, solange ein VDI-Treiber existiert. Mindestauflsung ist allerdings
640x200 Punkte, wobei sich bei 640x200 Punkten (ST-Mid) ein paar kleinere
Unschnheiten ergeben (siehe Fehler, 6.2).
Auf  der  Festplatte  werden  etwa  vier-  bis  fnfhundert  Kilobyte  Platz
bentigtund zwar fr das Programm an sich7. Die Datenmenge berechne-
ter Bilder ist nach oben offen.
Speicher braucht das Programm natrlich auch, unter 1 MByte drfte gar
nichts gehen. CHAOSultd gem belegt ca. 300-400 kByte Speicher fr Pro-
gramm, Resourcedateien etc.8. Dazu kommt noch der Speicherbedarf fr die
Bilder. Minimum einige hunder Kilobyte, nach oben offen.
Ein Drucker gleich welcher Art wird nicht untersttzt.



3.2     Installation


Bei  CHAOSultd  gem  von  ,Installieren'  zu  reden  ist  eigentlich  eine
bertreibung9.

Das Schlimmste hat man schon hinter sich, wenn man in der Lage ist, diesen
Text zu lesen, nmlich das Auspacken der Archive. Hat man dies geschafft,
____________________________________
   7das Programm passt prinzipiell also auch auf eine Diskette
   8je nachdem, wieviele Module man ldt kann es auch weniger sein
   9auf PCs ist das Installieren von Programmen ein beliebtes Unterhaltungs-

spiel fr DiskJockeys nach dem Motto, sie haben ein Dutzend Disketten und
schieben die in bestimmter Reihenfolge in das Laufwerk; bei grsseren Pro-
grammen hat man dann wieder nur eine Scheibe, dafr aber ein CD-Rom,
dessen Inhalt die Festplatte auch problemlos (ber)fllen kann

3   INSTALLATION                                                               6



kann man entweder CHAOS.APP gleich starten, oder aber - wenn einem
der Platz an dem das Programm jetzt steht nicht gefllt, man kopiert das
Programm CHAOS.APP in ein beliebiges Verzeichnis auf der Festplatte
(oder auf eine Diskette, was aber natrlich weniger empfehlenswert ist) und
den Ordner CHS_ULTD.GEM in das gleiche Verzeichnis.
Vielleicht noch kurz ein Wort zur Erklrung. Der Ordner CHS_ULTD.GEM
enthlt die Resource-Dateien, die Einstellungsdatei und die externen Modu-
le. Letztere besitzen die Dateikennung (Extension) .XCH, was natrlich fr
eXdended CHaos steht. Mchte man nicht alle externen Module verwenden,
was ja auch Speicher kostet, so kann man die entsprechenden Module ohne
weiteres lschen (nebst zugehriger Resourcedatei; man sollte natrlich noch
irgendwo eine vollstndige Kopie haben) oder durch ndern der Dateiken-
nung deaktivieren.
Die richtige Zuordnung zwischen den Modulen und den zugehrigen Datein-
amen wird dem geneigten Leser als bungsaufgabe berlassen.



3.3     Lieferumfang


CHAOSultd gem V6.00  umfasst die folgenden Dateien und Ordner.
  CHS_ULTD.APP          das Programm
  READ_ME.TXT
  CHS_ULTD.GEM\

    CHS_ULTD.RSC        die Resourcedatei
    CHS_ULTD.SET        die Einstellungen

                        und diverse Module
    FRACTAL.XCH
    HUEPFER.XCH
    FEIGENBM.XCH
    XCHAOS.XCH
    IFS.XCH
                        sowie deren Resourcen
    FRACTAL.RSC
    HUEPFER.RSC
    FEIGENBM.RSC
    XCHAOS.RSC
    IFS.RSC

  ANLEITNG\
    CHS_ULTD.DVI        die Anleitung im TEX Format
    CHS_ULTD.TXT          und als ASCII-Text
    CHS_ULTD.TOS        die Anleitungen als Postscript-Datei
                         (selbstentpackendes Archiv)

  BEISPIEL\             Ordner mit Beispielen (unberechnet)
    ...

4   DANKSAGUNG                                                               7



3.4     allgemeine Hinweise zum Betrieb


NVDI for ever!
Es ist wenig ratsam, CHAOSultd gem auf einem 8Mhz ST ohne Bildschirm-
beschleuniger einzusetzen. Wer es doch tut ist selber schuld und muss eben
geduldig sein.
Man sollte darberhinaus stets sicherstellen, dass dem System noch Speicher

brigbleibt (kann man in den Einstellungen eintragen), da die Dialogboxen
dann den Bildschirmhintergrund sichern knnen und dieser nach verlassen
der Dialogbox nicht neu gezeichnet werden muss.
Wenn  man  sehr  grosse  Bilder  (z.B.  3200x2000  Punkte  in  2  Farben)  er-
zeugt, dann kann schon das blosse Anzeigen von Bildern mehrere Sekunden
vom Aufrufen der Funktion bis zum ffnen des Fensters (oder Umschal-
ten des Bildschirms) dauern. Schliesslich muss das Bild erst entpackt werden
etc. CHAOSultd gem zeigt diese Operationen gegenwrtig durch nichts an
(auch nicht durch den Mauszeiger), man wundere sich also nicht, wenn auf
eine Aktion in einem solchen Fall erst mal nichts passiert.
Es ist sogesehen in jedem Fall ratsam, erstmal kleinere Bilder zu erzeugen
und dann (eventuell) schrittweise zu grossen Bildern berzugehen. Dabei soll-
te man stets bedenken, dass der Speicherbedarf und der Rechenaufwand mit
der Flche des Bildes (mal Farbtiefe) und nicht mit der Seitenlnge geht
(d.h. ein Bild der Grsse 1280x800 ist viermal so gross wie 640x400 und nicht
nur doppelt) - eigentlich trivial, aber man macht sich das oft nicht klar.



4     Danksagung


CHAOSultd gem V6.00  wurde im wesentlichen mit Hilfe folgender Program-
me entwickelt.


    o  Pure C 1.0, PureDebugger


    o  Devpac Assembler


    o  Interface Resource Construction Set


    o  Tempus Editor


    o  Gemini (als Grundlage fr alles andere)


    o  Lindner-TEX (fr diese Anleitung)



CHAOSultd gem verwendet MyDials von Olaf Meisiek (Interface) mit dem
NKCC Tastaturhandler von Harald Siegmund.

besonderen Dank an


    o  Michael G.

       fr die Fliesskommaroutinen der freidefinierten Fractale
       und einige (in frheren Versionen) gefundene Fehler

5   GESCHICHTLICHES                                                         8



5     Geschichtliches


Nein, die lange Laberei ber die Vorgeschichte kommt jetzt nicht. Wer sie
noch nicht kennt und unbedingt lesen will, sei auf die Anleitung zur Version
5.0 verwiesen (Abschnitt 5.1), aber es lohnt sich eigentlich nicht.



5.1     Entwicklungsstand


CHAOSultd gem ist nicht fertig! Einerseits ist das sehr gut, denn ein fertiges
Programm ist ein totes Programm, es hat nur noch einen langsamen Zerfall
vor sich.
Andererseits ist das etwas lstig, denn einige Funktionen, die es in CHAOS-
ultd V5.0 lngst gab, fehlen. Ich habe einfach nicht so viel Zeit (und manch-
mal auch keine Lust). Einige Funktionen sind fest vorgesehen, und es exi-
stieren auch schon Menpunkte dafr, aber es gibt sie doch noch nicht.
Als da wren.

    o  Hardcopy

       CHAOSultd gem verfgt ber keinerlei Hardcopy-Routine. Logischer-
       weise auch keine Druckereinstellung. Eine Hardcopy-Routine fr 24-
       Nadel-Matrixdrucker drfte aber schon irgendwann mal (wenn mein
       Drucker repariert ist und ich gleichzeitig Zeit und Lust habe) entste-
       hen - als externes Modul, so dass man dann auch Hardcopy-Routinen
       fr andere Drucker schreiben kann10


    o  Bilder konvertieren

       wie schon angedeutet, und wie man im Laufe des Studiums dieser An-
       leitung noch im Detail sehen wird kann CHAOSultd gem Bilder in
       Formaten und vor allem Farbtiefen unabhngig vom Bildschirmforamt
       erzeugen. In der Darstellung hinkt das Programm allerdings deutlich
       zurck. Die Mglichkeit Bilder zu konvertieren (etwa von 256 Farben
       auf ebensoviele Graustufen in einer monochromen Bitmap) soll hier
       einmal Abhilfe schaffen.

       Zukunftsmusik. Zur Zeit fehlt es mir selbst noch an der Kenntnis ent-
       sprechender Algorithmen (z.B. Floyd-Steinberg, aber wie geht der?).


    o  ettliche der Anzeigeoptionen (wie etwa Punktinfo, Anzeigen der Kon-
       stante etc.) existieren in CHAOSultd gem (noch) nicht


    o  CHAOSultd V5.0 verfgte ber die Mglichkeit Filme, d.h. Bilderli-
       sten, zu erstellen. CHAOSultd gem kann bisher nichts in der Richtung.

Neben diesen fehlenden Funktionen sind einige der realisierten Funktionen
eher ein Notbehelf11 als eine endgltige Lsung und mssten deshalb schon
jetzt berarbeitet werden.
____________________________________10
    wenn mir irgendwer einen guten Laserdrucker oder einen guten Farb-
Tintenstrahl-Drucker schenkt, dann gelobe ich dafr eine Hardcopy-Routine
zu schreiben (es darf auch ein Farb-Laser sein)
  11so schlimm ist es auch nicht, aber ich drcke mich gerne radikal aus

5   GESCHICHTLICHES                                                         9



    o  der Farbselector zum Einstellen der Farbpalette ist nicht gerade genial
       - aber wie schreibt man einen Farbselector zum Einstellen von 256
       wenn man nur 2 davon anzeigen kann?


    o  die Routinen zum Anzeigen auf dem ganzen Bildschirm

       (z.B. Scroll-Mglichkeit mit der Maus)


    o  die        Routinen        zum        Zeichnen        von        Punk-
       ten und zum Packen/Konvertieren von Bitmaps knnten wohl noch
       optimiert werden


    o  viele weitere Kleinigkeiten


Und dann gibt es noch eine riesige Anzahl von Bildtypen, fr die man Be-
rechnungsroutinen schreiben knnte.



5.2     nderungen gegenber V5.0


Einige der prinzipiellen nderungen gegenber der Version 5.0 sollen hier
fr Umsteiger kurz zusammengefasst werden soweit sie nicht schon erwhnt
wurden, wie etwa die fehlenden Funktionen. Auch sonst ist die Liste vermut-
lich unvollstndig!


    o  fr die zwei Funktionen weiter und anzeigen gibt es in der Version 5.0
       zwei Meneintrge, einer um die Funktion fr alle Bilder und einer um
       die Funktion fr die selektierten Bilder aufzurufen. In Version 6.00 gilt
       fr auf Objekte wirkende Funktionen generell, dass sie auf die selektier-
       ten Bilder wirken, falls (passende) Bilder selektiert sind und auf alle
       (passenden) Bilder sonst.


    o  das Dateiformat an sich wurde nicht gendert, die Routinen der Version
       6.00 sind dennoch nicht in der Lage, die Bilder der Version 5.0 mit
       Parametern zu laden, da diese Parameterstze verndert wurden. Man
       kann Bilder die man mit Version 5.0 erzeugt hat also nur als Bilder
       ohne Parameter laden. Bilder von Version 6.00 knnen in Version 5.0
       natrlich nur dann geladen werden, wenn das Bildformat einem der
       (zweimal) drei Formate der Version 5.0 entspricht. Auch hier knnen
       keine Parameter geladen werden


    o  die ESC-Taste dient nicht mehr zum selektieren aller Bilder, dafr ist
       jetzt die CLR-Taste da

       mit der ESC-Taste kann man weiterhin die Berechnung abbrechen und
       - neu - Anzeigefenster schliessen



5.3     Ausblick


Wie schon gesagt, ist CHAOSultd gem V6.00   alles andere als fertig, die
Entwicklung  geht  also  weiter.  Ideen,  was  alles  ntzlich  sein  knnte  habe
ich jede Menge, Vorstellungen wie man diese Ideen realisieren knnte schon

5   GESCHICHTLICHES                                                        10



weniger. Am wenigsten habe ich Zeit, zumal ich mit eigentlich mit Quarks,
Mesonen und Baryonen im NJL-Modell befassen sollte, um endlich Diplom-
Physiker zu werden.
Sollte irgendwer daran interessiert sein, an CHAOSultd V6.x mitzuwirken,
so ist er (oder sie) herzlich eingeladen. Am einfachsten ist natrlich die Ent-
wicklung neuer Berechnungsroutinen, da man hier eine definierte Schnittstel-
le hat (jedenfalls knnte ich sie definieren)12. Aber auch eine bertragung
des Progammes in eine andere Sprache wre denkbar, die Text-Strings des
Hauptprogrammes sind bereits weitgehend in eine eigene Datei ausgelagert
- bei den Berechnungsroutinen muss ich dies noch machen, aber das ist kein
prinzipielles Problem - der Rest der Texte (eigentlich der Hauptteil) steht
wie es sich gehrt in der Resource-Datei.
Hier  stellt  man  natrlich  gleich  fest,  so  einfach  ist  es  auch  wieder  nicht,
Programmieren und zwar in C sollte man schon knnen. Ausserdem sollte
man ber Pure C (andere C Compiler setzen noch mehr Programmierer-
fahrung voraus, weil man dann die Kompatibilitt testen muss und die ist
schlecht, weil Pure C Parameter in Registern bergibt) und Interface (RCS)
verfgen. Sind diese Vorraussetzungen gegeben, ist das Angebot ernst ge-
meint. Nach der berragenden Resonanz auf CHAOSultd V5.0 (zwei Anrufer,
die mit dem selbstenpackenden Archiv nicht zurechtkamen) habe ich aller-
dings kaum noch Illusionen und deshalb wie gesagt erst mal darauf verzichtet
die Schnittstelle auszuarbeiten und zu dokumentieren.
Sollte jemand tatschlich Probleme haben, interessante neue Fraktal-Typen
fr CHAOSultd zu finden, dann sollte er - (pardon) sie - sich mal FractInt
anschauen, ein PC (leider) Programm, das jede Menge Fraktal-Typen bietet.



5.4     Updates und Bezugsmglichkeiten


Updates wird es also sicher geben - irgendwann.
Ich sehe mich ausserstande, selbst Updates zu vertreiben, auch nicht gegen
Leerdiskette und frankierten Rckumschlag, ich habe schon genug zu tun -
sorry.
Wie  also  kommt  man  eventuelle  neue  Versionen  von  CHAOSultd.  Erste
Mglichkeit sind PD-Versender, ich gehe davon aus, dass CHAOSultd gem
wie CHAOSultd V5.0 Aufnahme in die ST-Computer PD-Sammlung findet,
und werde dort auch Updates abliefern.
Gnstiger ist die zweite von mir selbst untersttzte Mglichkeit, CHAOS-
ultd gem und kommende Updates via Internet zu beziehen. Gnstiger, weil
es nichts kostet und weil Updates dort im allgemeinen schneller verfgbar
sein werden. Internet ist ein Internationales Netzwerk, an das bespielsweise
____________________________________12
    im Moment ist die Schnittstelle noch nicht definiert, und sollte vor ei-
ner  Definition  auch  noch  mal  berarbeitet  werden  (solang  nur  ich  daran
rumpfusche scheint mir das nicht so wichtig). Da mir nicht bekannt ist, dass
irgendwer ausser mir die Schnittstelle der Version 5.0 fr CHAOSultd-Module
verwendet hat, spare ich mir diese Definition erstmal. Sollte es aber ernst-
hafte Interessenten geben, so lsst sich dieser Schritt allemal nachholen.

6   FEHLER (UND WAS MAN DAFR HALTEN KNNTE)            11



die Universitten angeschlossen sind, und in dem unter anderem FTP (File-
Transfer-Protocoll) - Server existieren, von denen man PD-Software beziehen
kann.
Ich selbst werde CHAOSultd gem wie auch Updates auf den Servern der Uni
Stuttgart (ftp.uni-stuttgart.de) und der TU Clausthal (ftp.tu-clausthal.de)
deponieren, und hoffe, die Programme werden von den Betreuern der Ser-
ver in das Angebot aufgenommen (CHAOSultd V5.0 findet sich schon im
Clausthaler Server, ich sehe da kein Problem).13 Sollte es einmal eine engli-
sche Version von CHAOSultd gem geben, so werde ich sie wohl auch noch
in atari.archive.umich.edu (was irgendwo in Ami-Land liegt) schicken.
Als dritte Mglichkeit bte sich die Verteilung via Mailboxen (z.B. Maus-
Netz) an, da ich aber kein Modem besitze, kann ich hier nur dazu auffordern,
dass irgendwer (oder die Betreiber der Boxen) das Programm dort ablegt.



6     Fehler  (und  was  man  dafr  halten  knnte)



" Programme  laufen  nicht"  lautet bekanntlich eine mgliche Formulierung
von Murphy's Gesetz fr Programmierer.
Nun am Ende der Programm-Entwicklung hat man es meist geschafft, diesen
Satz im konkreten 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, schwchere Folgerung aus Murphy's Ge-
setz die besagt, dass jedes nicht-triviale Programm mindestens einen Fehler
enthlt. Mit an Sicherheit grenzender Wahrscheinlichkeit trifft dies auch hier
zu.
Bevor Sie jetzt entsetzt das Programm wegwerfen, sollten Sie sich berle-
gen, dass Sie das dann konsequenterweise mit allen anderen Programmen
(einschliesslich des Betriebssystems) auch tun mssten.
Ich habe CHAOSultd soweit mglich getestet14 und es luft. Das Programm
ist soweit mglich fehlertolerant, sollte also auch bei Fehlbedienung nicht
gleich schlappmachen15.



6.1     eliminierte Fehler


Der schlimmste (und peinlichste) Fehler, den ich in Version 5.0 gefunden
habe, und der in V6.00 natrlich beseitigt wurde (in V5.0 steckt er noch
____________________________________13
    Die beiden Server habe ich ausgewhlt, weil Stuttgart eine der schnell-
sten Verbindungen nach Regensburg hat, und weil Clausthal das - soweit
mir bekannt - bestorganisierte PD-Angebot fr Atari hat, sowohl was den
Umfang betrifft, vor allem aber wegen der Kommentierung der Programme
- an dieser Stelle herzlichen Dank an den Betreuer des Servers.
  14naja, die weiteren Tests knnen jetzt Sie bernehmen
  15  allerdings  ist  es  bei  Parametern  von  Berechnungsroutinen  teilweise

mglich ist, unsinnige Angaben zu machen, die nicht von der Eingaberoutine
zurckgewiesen werden, dadurch aber auch nicht sinnvoll werden

6   FEHLER (UND WAS MAN DAFR HALTEN KNNTE)            12



immer, man kann mit ihm leben) ist die falsche Implementierung des GEM-
Image-Dateiformates bei mehr als einer Bildebene. Das Ganze ist auf eine
Fehlinformation meinerseits zurckzufhren.
In V6.00 werden korrekte GEM-Image-Dateien geschrieben. Von der Farb-
version der Version 5.0 geschriebene GEM-Image-Dateien kann man allen-
falls noch mit V5.0 selbst wieder laden.
Ansonsten fallen mir keine nennenswerten behobenen Fehler ein.



6.2     bekannte Fehler


Einige kleinere Macken, die ich jetzt nicht mehr behebe sind mir in V6.00
schon bekannt.


    o  Versucht man aus dem Clipboard ein Bild zu laden ohne das eins drin
       ist, dann erhlt man die nicht ganz passende Fehlermeldung, CHAOS-
       ultd htte eine Datei nicht gefunden und breche das Laden ab.


    o  Startet man CHAOSultd in mittlerer-ST-Auflsung (bzw. irgendeiner
       Auflsung die einen 8x8-Font verwendet), so gibt es drei kleinere Pro-
       bleme mit den Dialogboxen.

       Das kleinste liegt im Programminfo, die erste Dialogbox, in der Bit-
       Image-Objekte angezeigt werden gert etwas durcheinander. Aber die
       dient eh nur meiner Angeberei und ist nicht so wichtig.

       Die beiden anderen Probleme befinden sich bei der Anzeige der Farbco-
       dierung von Fractalen (in der Haupteingabe-Dialogbox fr Fractalpara-
       meter) und in der Anzeige der Trafos linearer IFS in der Haupteingabe-
       Dialogbox  fr  IFS-Parameter  (linear).  In  beiden  Fllen  werden  die
       Informationen nicht korrekt angezeigt, entweder berdecken sich die
       Zeilen partiell oder einzelne Zeilen werden ganz verdeckt. Es ist lei-
       der nicht so viel Platz in den beiden Dialogen vorhanden, um dieses
       Problem zu beseitigen. (Die Daten werden aber korrekt verwaltet und
       knnen bei Aufruf der Unter-Dialoge fr ihre Eingabe gesichtet wer-
       den.)


    o  ndert  man  die  Farbe  eines  Bildes,  das  gerade  angezeigt  wird  (via
       Popup-Men Farbe oder ber die Bildparameter und den Button Farbe
       kann man den Farbselektor aufrufen), so wird die nderung der Farbe
       nicht  gleich  angezeigt.  Die  neue  Farbe  wird  erst  gesetzt,  wenn  das
       Bild neu angezeigt wird (etwa durch weiter- und zurckschalten in der
       Bildliste; ist nur ein Bild vorhanden, so kann man durch weiterschalten
       dennoch erreichen, dass das Bild neu angezeigt wird).


    o  Schneidet man Blcke aus Bildern aus, so hat man die Mglichkeit,
       das  Markieren  des  Blockes  mit  oder  ohne  SHIFT  zu  starten  (durch
       Mausklick). Mit SHIFT kann man den Block mit beliebigem Verhlt-
       nis Hhe zu Breite definieren, ohne SHIFT ist das Verhltnis fest und
       entspricht dem Verhltnis der Bildhhe zur Bildbreite. Dies soll eigent-
       lich dazu dienen, Blcke unverzerrt auszuschneiden. Unverzerrt bleiben

6   FEHLER (UND WAS MAN DAFR HALTEN KNNTE)            13



       die Blcke aber nur, wenn das neue Bild das gleiche Hhen/Breiten-
       Verhltnis  aufweist  wie  das,  aus  dem  man  den  Block  ausschneidet.
       Andernfalls fhrt diese Methode genau zu den Verzerrungen die doch
       eigentlich vermieden werden sollten.


Ansonsten enthlt auch CHAOSultd gem V6.00  den schon in V5.0 bekann-
ten Fehler bei den frei-definierten Fractalen (obwohl das jetzt eigentlich kein
Fehler in CHAOSultd sondern einer in einer der Berechnungsroutinen ist).
Berechnet man freie Fractale und verwendet in der Abbruchbedingung die
'xor'-Verknpfung,  so  erhlt  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 Berech-
nung freier Fractale ignorieren Fliesskommafehler jeglicher Art, insbesondere
auch berlufe16.
Verwendet man nun die 'xor'-Verknpfung, so wird die Berechnung nicht ab-
gebrochen, falls beide Bedingungen erfllt sind17, so dass es leicht zu einem
berlauf kommen kann (das kann 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 er-
geben. Dabei ist das Ergebnis der schnellen Berechnungsroutine dasjenige,
das (logischen berlegungen folgend, d.h.  vielleicht) richtiger ist - richtiger
insofern, als hier trotz der Fliesskomma-berlufe 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  Bild-
schirmecke zu beherzigen. Sie wurde unter anderem zu diesem Zweck dort
installiert18.
Sollten Sie einen Fehler finden, so drfen Sie ihn zunchst einmal behalten.
Sollte der Fehler reproduzierbar sein, so wre ich darberhinaus fr eine
ausfhrliche Beschreibung des Fehlers und seiner Erzeugung dankbar (be-
____________________________________16
     als ich die Routinen geschrieben habe, bin ich davon ausgegangen, dass
keine Fliesskommafehler auftreten; eine aufwendige Behandlung der Fliess-
kommafehler schien also berflssig und wrde nur Zeit kosten (beim Ent-
wickeln der Routine wie beim Berechnen der Bilder); sie jetzt einzufgen ist
mir im Moment zu viel Arbeit
  17 wenn man an dieser Stelle ber den Sinn der Abbruchbedingung nach-

denkt wird einem natrlich klar, dass 'xor' hier a priori nicht besonders sinn-
voll ist, aber der Vollstndigkeit gehrt es halt auch dazu
  18  darberhinaus  soll  diese  Bemerkung  natrlich  zur  Verbreitung  von

CHAOSultd beitragen, D. Adams zufolge ist sie dazu bestens geeignet

7   ZU DIESER ANLEITUNG                                                  14



halten mssen Sie ihn natrlich trotzdem erst mal, es besteht dann aber
eine Chance, dass ich ihn eliminiere).



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 Programm19.

Fr 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 Erfolgserleb-
nissen geben, wenn sie welche finden. Insbesondere fehlen wahrscheinlich jede
Menge Kommata.
Wiederholungen in der Anleitung mgen den einen oder anderen aufmerksa-
men Leser (gibt's solche etwa) verwundern, sie entstanden einfach, weil ich
die Anleitung nicht von vorn bis hinten geschrieben habe, und man eigentlich
alles berall und auf einmal erklren msste.



7     zu  dieser  Anleitung


Real programmers don't read manuals heisst es, und ich mache das hufig
genauso.
Dennoch mchte ich an dieser Stelle jedem die Lektre der Anleitung (auch
wenn sie recht lang geworden ist) nahelegen. Man sollte sie wenigstens mal

berflogen haben, da das Programm zwar mehr oder weniger konsequent in
GEM eingebunden ist, viele der Mglichkeiten und Details des Programmes
aber nicht sofort ersichtlich sind.
Die  Anleitung  entstand  unter  Verwendung  von  Teilen  der  Anleitung  von
CHAOSultd V5.0, teilweise wrtlich wie etwa der letzte oder der folgende
Absatz. Wer CHAOSultd V5.0 kennt, kann die Anleitung sicherlich sehr viel
schneller lesen, sollte die Anleitung aber trotzdem durchsehen. Der letzte Teil
der Anleitung - Dateiformate und Schnittstelle fr die externen Routinen -
fehlt, siehe Abschnitt 5.3.
Die Anleitung ist - entsprechend der Modularitt des Programmes - in meh-
rere Abschnitte aufgeteilt. Im ersten Abschnitt wird lediglich die allgemeine
Benutzung  des  Verwaltungsteiles,  im  wesentlichen  ohne  konkreten  Bezug
auf irgendwelche Berechnungsroutinen, beschrieben. Die Beschreibung der
Berechnungsroutinen fr Fractale, Hpfer, Feigenbaumdiagramme etc. folgt
dann in den weiteren Abschnitten.
Bei der Beschreibung von CHAOSultd gehe ich im folgenden in etwa in der
Reihenfolge vor, wie man sie auch bei der Benutzung des Programmes ge-
braucht.  Da  keine  konkreten  Bilderzeugungsroutinen  beschrieben  werden,
sollte man eventuell parallel entsprechende Abschnitte der folgenden Teile
____________________________________19
     an sich wre es ja umgekehrt auch ganz nett, aber das Risiko ist mir zu
gross, die Anleitung anzupassen ist in jedem Fall das kleinere bel

7   ZU DIESER ANLEITUNG                                                  15



lesen, wobei die Fractal-Routinen wohl am ausfhrlichsten beschrieben sind.
Bei den anderen Routinen wird ihre Kenntnis teilweise vorausgesetzt.
Auch ist es natrlich sinnvoll, die diversen Mglichkeiten gleich auszupro-
bieren; mglicherweise wird erst an Hand des Programmes selbst, klar, wie
die eine oder andere Bemerkung in der Anleitung gemeint ist (sorry, aber
noch ausfhrlicher kann ich das Programm wirklich nicht beschreiben).

Wird in der Anleitung auf Meneintrge 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.)

Die  zugrundeliegenden  Algorithmen  und  die  sich  daraus  ergebenden  For-
men werden nur ansatzweise beschrieben. Ich mchte deshalb hier auf die
einschlgige 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 erhltlich, dafr gemeinsam in Buchform. Dort
finden sich auch weitere Literaturangaben.
In einem Artikel in der ST-Computer (11/91) ber Iterierte Funktionensy-
steme 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, Birkhuser 1987

                                                                                      16



Teil  I


CHAOSultd  gem



1     Allgemeine  Bedienungshinweise


1.1     Booten des Programmes


Wird CHAOSultd gem gestartet20, so wird zunchst die (Haupt-)Resource-
Datei geladen, dann die Routinen, diese werden initialisiert, wobei sie ihre
eigenen Resource-Dateien laden. Schliesslich werden noch die Voreinstellun-
gen geladen, die Menleiste angezeigt und ein Fenster geffnet.
Whrend des Ladens der Module wird eine Dialogbox angzeigt, in der dar-
gestellt wird, welches Modul gerade geladen wird und welche Fraktal-Typen
zur Verfgung gestellt werden. Scheitert die Initialisierung einer Routine, so
wird diese gesperrt, was in der Dialogbox durch helle Schrift angezeigt wird,
solche Routinen lassen sich nicht aufrufen.



1.2     Dialoge


CHAOSultd verwendet FlyDial analoge MyDials (von Olaf Meisiek (Inter-
face) mit dem NKCC Tastaturhandler von Harald Siegmund), die gegenber
herkmlichen GEM-Dialoge ettliche Vorteile bieten. Auch wenn solche Dia-
logboxen mittlerweile recht bekannt sein drften - sie finden schliesslich im-
mer fter Verwendung - sollen diese hier nochmals kurz erlutert werden
(ohne Anspruch auf Vollstndigkeit).
`Fliegen'  knnen  die  Dialoge  durch  das  Eselsohr  rechts  oben  (nur  wenn
der Speicher zum Sichern des Hintergrundes gereicht hat, sonst fehlt das
Eselsohr). Klickt man das Eselsohr an, so kann man den Dialog auf dem
Bildschirm  verschieben.  Lohnt  sich  vor  allem  auf  Grossbildschirmen,  oder
(gelegentlich) wenn der Dialog etwas verdeckt (wobei dann aber meist kein
Platz ist, den Dialog weit genug wegzuschieben). Man kann einstellen, ob
Dialoge jedesmal beim Aufrufen zentriert werden sollen oder ob sie an der
alten Stelle erscheinen sollen (vgl. 5.2).
Des weiteren sind MyDials weitgehend tastaturbedienbar. Button kann man
anwhlen, indem man den in ihnen unterstrichenen Buchstaben zusammen
mit der Alternate-Taste drckt.
Der Abbruch-Button (oder ein anderer der Exit-Button, auch Ok, wenn das
der einzige Exit-Button ist) kann auch mit Undo ausgelst werden.
Button zum Selektieren einzelner Optionen erscheinen mit vorangestelltem
Quadrat, das im selektierten Zustand angekreuzt wird, 'Radiobutton' also
____________________________________20
    wie man dies macht, ist nicht Gegenstand dieser Anleitung, wer nicht
weiss, wie man ein Programm startet, wird vermutlich auch nicht mehr aus
CHAOSultd herausfinden, da auch das Beenden des Programmes nicht Ge-
genstand dieser Anleitung ist. Ich will aber nicht schuld sein, wenn jemand
bis zu seinem Lebensende mein Programm laufen lassen muss.

1   ALLGEMEINE BEDIENUNGSHINWEISE                               17



Button von denen immer nur einer selektiert sein kann erhalten einen voran-
gestellten Kreis, der beim selektierten Button ausgefllt wird. Das Ganze ist
irgendwie Mac-hnlich und sieht jedenfalls im Vergleich zu herkmmlichen
ST-Dialogen sehr edel aus.
In Text-Feldern hat man die zustzlichen Mglichkeiten mit Shift-Cursor
links ans den Anfang, mit Shift-Cursor  rechts an das Ende des Text-
Feldes und mit Control-Cursor  links bzw. rechts Wortweise nach links
und rechts springen.
Im Prinzip kann man auch noch den Cursor in Text-Feldern mit der Maus
setzen, dies funktioniert aber wegen eines Fehlers in den Routinen nicht rich-
tig, wenn das Text-Feld ausser dem edierbaren Eintrag noch einen Maskentext
enthlt.
Dafr hat man in allen Text-Feldern, in denen beliebige Zeichen eingegeben
werden knnen (also nicht nur alphanumerische Zeichen sondern der gan-
ze Ascii-Code) die Mglichkeit durch Drcken der Insert-Taste eine Box
mit allen Sonderzeichen aufzurufen, aus der man mit der Maus ein Zeichen
auswhlen kann (braucht man zwar in CHAOSultd nicht, ist aber trotzdem
nett).
Weiterhin werden Popup-Mens untersttzt, von denen CHAOSultd auch
ausgiebig Gebrauch macht.

Dialoge in CHAOSultd knnen auch in Fenster gelegt werden. CHAOSultd
verwendet auch in Fenstern ausschliesslich modale Dialoge, d.h. solange ein
Dialog-Fenster geffnet ist, kann nicht weitergearbeitet werden, sondern es
muss der Dialog bearbeitet und geschlossen werden bevor es weiter geht.
Der  Vorteil  von  Dialogfenstern  ist  begrenzt,  wenn  man  nicht  ein  Multi-
Tasking-Betriebssystem verwendet (MultiGem, Magix, vor allem aber Multi-
Tos). Ohne Multi-Tasking-Betriebssystem erlauben Fenster-Dialoge lediglich
den Zugriff auf Accessories, mit erlauben sie anderen gleichzeitig laufenden
Programmen weiterzulaufen und Ausgaben auf den Bildschirm (in Fenster
natrlich) zu machen.
In  diesem  Zusammenhang  noch  ein  allgemeiner  Hinweis.  Pseudo-Multi-
Tasking-Systeme  wie  MultiGem  und  Magix  sind  darauf  angewiesen,  dass
von  den  laufenden  Programmen  regelmssig  AES-Event-Aufrufe  kommen
(was  immer  das  sein  mag),  da  sie  nur  dann  Prozesswechsel  durchfhren
knnen (d.h. zwischen den Programmen umschalten). CHAOSultd stellt dies
whrend der Berechnung von Bildern nicht sicher, das wrde zuviel Rechen-
zeit kosten. Bei der Berechnung von Bildern mit Bildschirmanzeige (vgl. ref-
makepic) wird ohnedies der gesammte Bildschirm fr CHAOSultd reserviert,
bei der Berechnung von Bildern ohne Bildschirmdarstellung ist man trotz-
dem auf ein echtes Multi-Tasking wie von MultiTos angewiesen (wobei der
Info-Dialog im Fenster ausgegeben werden muss, sonst ist ebenfalls der ganze
Bildschirm gesperrt).
Da ich weder MultiGem noch Magix noch MultiTos (was sollte ich mit letz-
terem auch auf meinem alten ST) habe, wurde CHAOSultd in keiner Weise
mit solchen (Pseudo)-Multi-Taskting-Systemen getestet! Obige Bemerkun-
gen sind insofern rein theoretisch.

1   ALLGEMEINE BEDIENUNGSHINWEISE                               18



So jetzt aber zu den Nachteilen der Dialogfenster, die auf einem altersschwa-
chen System wie ich es nutze (8Mhz 68k) doch sehr erheblich sind. Es ist
prinzipbedingt nicht mglich, den Hintergrund von Fenstern zu speichern,
so dass nach dem Schliessen des Fenster-Dialoges der Hintergrund jedesmal
neu gezeichnet werden muss und das braucht Zeit. Nicht ewig, aber deut-
lich lnger als das Restaurieren des Hintergrundes von normalen Dialogen,
wo der Hintergrund (gengend Speicher vorausgesetzt, das habe ich schon
mal erwhnt) zwischengespeichert wird und so von der Dialogroutine selbst
restauriert werden kann, was erheblich schneller geht.



1.3     Fenster


CHAOSultd  verwendet  als  GEM-konformes  Programm  natrlich  Fenster.
Und zwar


    o  ein Objekt-Fenster, in dem die vorhandenen (Bild-)Objekte angezeigt
       werden

       in der Info-Zeile des Objekt-Fensters wird die Zahl der vorhandenen
       Objekte, die Zahl der selektierten Objekte und der verbleibende freie
       Speicher angezeigt


    o  Anzeigefenster fr ein oder mehrere Bild-Objekte

       im Titel des Fensters wird der Name des gerade angezeigten Bildes
       genannt


    o  Anzeigefenster  fr  Bildvergleiche/Blcke  (sie  unterscheiden  sich  von
       den anderen Anzeigefenstern dadurch, dass dem angezeigten Bild kein
       Objekt zugeordnet ist)


    o  Dialogfenster, die schon erklrt wurden



1.4     Objekte


CHAOSultd kennt zwei Typen von Objekten.


   1.  Fraktale

       Unter Fraktalen verstehe ich alle Bilder, die durch irgendwelche Be-
       rechnugsroutinen in CHAOSultd erzeugt werden. Insofern ist die Be-
       zeichnung Fraktale natrlich nicht ganz richtig, da solche Bilder nicht
       notwendig fraktal sein mssen21.


   2.  Bilder

       gemeint  sind  parameterlose  Bilder,  die  entweder  geladen  oder  nach
       Bildvergleich (vgl. 3.2) erzeugt wurden
____________________________________21
     Bisweilen ist in dieser Anleitung auch von Fractalen die Rede, gemeint
sind dann speziell Bilder, die mit den Routinen des Moduls 'Fractal' unter
den Menpunkten Fractal(e), freie Fract. und 3d Fractal(e) erzeugt wurden.

1   ALLGEMEINE BEDIENUNGSHINWEISE                               19



       Bilder ohne Parameter sind hauptschlich der Vollstndigkeit halber
       integriert, sie spielen im folgenden kaum eine Rolle


Anders als in der Version 5.0 gibt es (noch) keine Filme. Bilder (Fractale
oder  einfache  Bilder)  knnen  jede  Grsse  und  Farbtiefe  mit  den  eingangs
angegebenen Beschrnkungen besitzen.

Jedes im Speicher vorhandene Objekt wird durch ein Icon im Objekt-Fenster
angezeigt.
Dabei werden die verschiedenen Typen von Fraktalen durch verschiedene
Icon dargestellt. Ebenso gibt es ein eigenes Icon fr reine Bild-Objekte.
Neben dem Objekt-Typ kann man am Icon ablesen, ob das zugehrige Ob-
jekt gespeichert ist oder nicht. Ist das Objekt gespeichert, so wird das Objekt
abgehakt dargestellt (was man allerdings nur im nichtselektierten Zustand
sehen kann).
Bei Fraktalen kann man darberhinaus sehen, ob das Bild schon vollstndig
berechnet wurde oder ob es noch nicht fertig ist. Unfertige Bilder werden
ohne Rahmen, fertige mit Rahmen angezeigt.
Nebeneinander  werden  im  Objekt-Fenster  stets  nur  so  viele  Objekte  an-
gezeigt, wie bei der gerade gewhlten Fenster-Breite in das Fenster hinein
passen.  Sind  mehr  Objekte  vorhanden,  als  im  Fenster  dargestellt  werden
knnen, so kann man mit dem vertikalen Scroll-Balken des Fensters einstel-
len, ab welchem Objekt die Objekte angezeigt werden sollen.



1.5     Selektieren von Objekten im Objekt-Fenster


Maus


Mit der Maus knnen


    o  einzelne  Objekte  angeklickt  werden  -  sie  nderen  dann  ihren  Sta-
       tus. D.h. selektierte Objekte werden deselektiert, nicht selektierte aus-
       gewhlt.


    o  Gummibnder  aufgezogen  werden,  wie  man  das  vom  Desktop  her
       kennt. Gummibnder konnen (anders als auf dem Desktop) auch von
       rechts unten nach links oben aufgezogen werden. Whrend des Auf-
       ziehens wird der Mauszeiger nicht als Pfeil sondern als zeigende Hand
       dargestellt. Angesprochen werden damit alle Objekte, die ganz oder
       teilweise innerhalb des aufgezogenen Rechteckes liegen.

       Der Zustand dieser Objekte wird je nach dem Status der Sondertasten
       verndert. ist keine Sondertaste gedrckt, so werden die Objekte se-
       lektiert, ist eine Shift-Taste gedrckt deselektiert und bei gedrckter
       Control-Taste wird der Objekt-Status gendert.


    o  Analog zur Vorgngerversion von CHAOSultdkann man auch Objekt-
       bereiche ansprechen, indem man zunchst einen Shift-Klick auf das
       erste Objekte ausfhrt. Klickt man nun ein weiteres Objekt an, so wer-
       den alle Objekte zwischen dem zuerst und dem dann angeklickten Ob-
       jekt angesprochen. Diese werden wieder je nach Sondertasten-Status

1   ALLGEMEINE BEDIENUNGSHINWEISE                               20



       beim zweiten Klick selektiert, deselektiert oder gendert (letzteres ist
       nicht mehr analog zur Version 5.0).

       Zwischem dem ersten (Shift-)Klick und dem Auswhlen des zweiten
       Objektes wird der Mauszeiger innerhalb des Objektfensters als zeigen-
       de Hand dargestellt (wie beim Aufziehen eines Gummibandes). Damit
       soll gewissermassen der andere Zustand, in dem sich der Mauszeiger
       jetzt befindet, deutlich gemacht werden. Ein Mausklick in diesem Zu-
       stand hat ja eine andere Wirkung als sonst.

       Mchte nach der Auswahl des ersten Objektes doch auf die Selektion
       eines Objektbereiches verzichten, so kann man neben eines der Objekte
       klicken, der Sonderzustand der Maus wird dann aufgehoben.



Popup-Men


Viele der Funktionen von CHAOSultd knnen auch ber Popup-Mens auf-
gerufen werden, auch zum Selektieren steht ein solches bereit. Aufgerufen
wird es durch Doppelklick auf ein Objekt oder durch einfachen Mausklick
neben die Objekte.
Das Popup-Men stellt vier Bereiche zur Verfgung, zum Selektieren, Des-
elektieren, ndern und exklusivem Selektieren. In jedem Bereich kann man
whlen, welche Objekte angesprochen werden sollen. Objekt (nur, wenn man
auf ein Objekt geklickt hat), Zeile (nur, wenn man in eine Zeile geklickt hat),
usw..



Tastatur


Neben den Mauskommandos und dem Popupmen stehen man noch eine
Reihe von Tastaturkommandos zum Selektieren von Bilder zur Verfgung.
Mit den Tasten F1 bis F10 selektiert man eine Zeile (1 bis 10) im Objektfen-
ster; whlt man dabei eine Zeile, die kein Objekt enthlt, so wird die letzte
nichtleerer Zeile eingestellt - hat man mehr als zehn Zeilen im Objektfen-
ster, dann kann man nur die ersten zehn Zeilen mittels Tastatur ansprechen
(kann mir mangels Bildschirmauflsung nicht passieren).
Mit  den  Tasten  1  -  9,  0  und  ss,  '  sowie  #  kann  man  dann  die  einzelnen
Objekte dieser Zeile ansprechen (wiederum maximal das 13. Objekte aber
wer hat schon einen so breiten Bildschirm), mit TAB die ganze Zeile.
CLR wirkt auf alle Objekte (unabhngig der eingestellten Zeile).
Die  Taste  INS  bezieht  sich  auf  alle  genderten,  aber  nicht  gespeicherten
Objekte, DEL auf alle fertigen Bilder,   auf alle nicht fertigen. Die Tasten .
und - wirken jedes zweite bzw. vierte Objekt.
Dabei wird das Objekt bzw. werden die Objekte bei normalem Tastendruck
selektiert, mit SHIFT-Taste deselektiert, mit CONTROL gendert und mit ALT
als einziges Objekt selektiert.
Mittels Cursor  Up und Down kann man die Objekte nach oben oder unten
scrollen, und zwar zeilenweise falls man die Cursor-Tasten alleine und seiten-
weise, falls man gleichzeitig die SHIFT-Taste drckt (anstatt den Scrollbalken
des Fensters zu bemhen).

1   ALLGEMEINE BEDIENUNGSHINWEISE                               21



Die Tastaturbefehle fr das Desktop sind auch in einer Dialogbox zusam-
mengefasst, die man durch Drcken der HELP-Taste aufrufen kann.

Allgemein ist zum Selektieren von Objekten noch zu bemerken, dass selektier-
te Objekte selektiert bleiben, auch wenn sie aus dem Fenster herausgescrollt
werden und deshalb nicht sichtbar sind.



1.6     Bedienungselemente zum Aufruf von Funktionen


Bevor die Funktionen von CHAOSultd im einzelnen erlutert werden, stelle
ich zunchst die Mglichkeiten diese Funktionen aufzurufen kurz dar.



Men


Die GEM-Menleiste ist ja wohl allgemein bekannt.
Dennoch gibt es ein paar Besonderheiten zu beachten und zwar fr viele
Funktionen die sich auf Objekte von CHAOSultd - also Bilder, Fraktale etc. -
beziehen. Bei der Frage, auf welche Objekte sich die Auswahl einer solchen
Funktion jeweils bezieht, muss man zunchst unterscheiden, welches Fenster
bei Auswahl des Menpunktes gerade aktiv ist. Unterschieden wird zwischen
Objekt-Fenster, Anzeigefenstern fr Bildlisten (die natrlich auch nur ein
Bild umfassen knnen) und speziellen Anzeigefenstern (beim Anzeigen von
Bildvergleichen oder Blcken).
Ist kein Fenster von CHAOSultd aktiv (etwa weil ein Fenster eines Accesso-
ries aktiv ist) so bezieht sich die Objekt-Auswahl auf das letzte aktive Fenster
von CHAOSultd. Ist kein Fenster von CHAOSultd offen, so gilt dasselbe wie
bei aktivem Objekt-Fenster.


    o  Objekt-Fenster aktiv


          -  ist kein Objekt selektiert, so bezieht sich die Funktion auf alle
             Objekte (bzw. alle Fraktale, falls die Funktion fr einfache Bilder
             keinen Sinn macht, oder auch alle nicht fertigen Bilder oder was
             auch immer)

          -  sind Objekte selektiert, so bezieht sich die Funktion auf die selek-
             tierten Objekte (soweit sie weitere notwendige Kriterien erfllen),

             es seie denn,

          -  es wurde bei der Menauswahl gleichzeitig mit dem Mausklick
             (links) die rechte Maustaste oder eine der Shift-Tasten gedrckt.
             In diesem Fall bezieht sich die Funktion wiederum auf alle Ob-
             jekte.


    o  Anzeigefenster (Bildliste) aktiv


          -  die "normale" Menauswahl bezieht sich auf das gerade angezeig-
             te Bild

          -  die Menauswahl mit gedrckter Shift- oder rechter Maustaste
             bezieht sich auf alle Bilder der Bildliste

2   BILDER ERZEUGEN                                                       22



    o  Anzeigefenster (Bildvergleich oder Block) aktiv

       Die Menauswahl bezieht sich auf das angezeigte Bild.


Die  Auswahlmglichkeiten,  also  die  Frage,  welche  Menpunkte  man
auswhlen kann, und welche gesperrt sind, hngen natrlich von diesen Re-
geln ab. Bei Funktionen die nur fr einzelne Objekte sinnvoll sind, werden
Versuche, sie fr alle Objekte aufzurufen (durch Shift-Klick oder gedrckte
rechte Maustaste) ignoriert. Diese Funktionen beziehen sich immer auf die
selektierten Objekte beziehungsweise auf das eine angezeigte Bild.



Popup-Mens


Mit Hilfe der Popup-Mens kann man die Funktionen der Menleiste eben-
falls aufrufen. Im Objekt-Fenster gibt es mehrere Popup-Mens. das schon
besprochene Men zum Selektieren von Objekten sowie zwei Mens zum
Auswhlen von Funktionen.
Die letzten zwei erreicht man durch Mausklickt rechts, wobei unterschieden
wird, ob man auf ein Objekt klickt oder nicht (deswegen zwei Popup-Mens,
die unterschiedliche Funktionen enthalten).
Klickt man auf ein Objekt, so beziehen sich alle folgenden Auswahlen auf ge-
nau dieses eine Objekt, ansonsten gelten die gleichen Auswahlregeln wie bei
der Auswahl mit dem Drop-Down-Men bei aktivem Objekt-Fenster. (statt
gleichzeitig gedrckter rechter Maustaste, wird das Popup-Men allerdings
mit rechter (oder linker) Maustaste verlassen).
Die Auswahl mit dem Popup-Men kann auch erfolgen, wenn das Objekt-
Fenster zwar offen aber nicht aktiv ist (mit einem Mausklick rechts zum
Aufruf des Mens wird es auch nicht aktiviert).
Weitere Popup-Mens stehen in Anzeigefenstern fr Bildlisten und Anzeige-
fenstern fr Block/Vergleich zur Verfgung22.



2     Bilder  erzeugen


2.1     neue Bilder - Eingabe der Parameter


Um neue Bilder zu erzeugen whlt man im Men Neu den Menpunkt, der
zum gewnschten Bildtyp gehrt. Anklicken des Menpunktes mit gedrck-
ter Shift- oder Control-Taste hat eine Sonderbedeutung (s.u.), diese Son-
dertasten drfen also nicht gedrckt sein.



Einstellen des Bildformates


Zunchst wird ein Dialog dargestellt, in dem man die Zahl der zu erzeugen-
den Bilder23, den Namen der Bilder (oder des Bildes, man kann natrlich
____________________________________
  22stimmt nicht, den Popup in Block/Vergleich Anzeigefenstern habe ich

wohl vergessen, er existiert nur im Resourcefile
  23CHAOSultd erlaubt es Bilderfolgen zu erzeugen, bei denen nur die Pa-

rameter des ersten und letzten dieser Bilder eingegeben werden. Unter Zahl

2   BILDER ERZEUGEN                                                       23



auch nur ein Bild erzeugen) angibt, sowie die Grsse und Farbtiefe des Bil-
des festlegt. Letzteres geschieht ber Popup-Mens fr die Breite, die Hhe
und die Zahl der Farben (bzw. Raster)24. Bei Breite und Hhe enthlt das
Popupmen natrlich nur eine Auswahl mglicher Grssen, dazu gibt es die
Mglichkeit, den Eintrag frei im Popup-Men einzustellen und die Breite
(bzw. Hhe) als Zahl einzugeben. Falls ntig wird diese Angabe modulo 16
bei der Breite und modulo 4 bei der Hhe (ab)gerundet (d.h. so, dass das
Ergebnis durch 16 bzw. 4 teilbar ist). Hinter dem Popup-Men fr die Zahl
der Farben wird noch die Zahl der dafr ntigen Bitmaps (Bildebenen) an-
gegeben.
Es ist mglich, dass bestimmte Routinen nicht alle Bildgrssen und vor allem
Farbanzahlen untersttzen. Insbesondere gibt es jetzt schon einige Routinen,
die nur zweifarbige Darstellung zulassen. Die Auswahlmglichkeit ist dann
eingeschrnkt.
Neben der expliziten Eingabe von Breite, Hhe und Farbzahl kann man auch
ein Format als Ganzes auswhlen, ebenfalls via Popupmen. Die Einstellun-
gen fr Breite, Hhe und Farbzahl werden entsprechend den Parametern des
gewhlten Formates gesetzt.
Der erste Eintrag dieses Popup-Mens steht fr das gerade verwendete Bild-
schirmformat, es folgen eine Reihe von mglichen anderen Formaten (einfach
ausprobieren) ein nicht anwhlbarer Eintrag unbekannt, der angezeigt wird,
falls man mit der Einstellung fr Breite, Hhe und/oder Farbtiefe ein Format
gewhlt hat, fr das kein Eintrag im Popupmen existiert, und ein Eintrag

bernehmen. Mit diesem letzten Eintrag kann man die Parameter von einem
geladenen Objekt bernehmen (vgl. 2.2).
Unter dem Format-Popup wird angezeigt, wieviel Speicher noch frei ist, wie-
viel Speicher ein Bild des gewhlten Formates bentigt und wieviel Speicher
alle Bilder zu berechnenden Bilder brauchen wrden25. Die Anzeige wird
nach der Anwahl eines der Popup-Mens aktualisiert, man kann dieses Ak-
tualisieren auch durch Anklicken der Anzeige erreichen26.
Zum Verlassen der Dialogbox gibt es die blichen Button Ok und Abbruch,
links neben diesen gibt es noch einen Button Farben, der in den Farbselector
verzweigt (s.u.).



Anpassen der voreingestellten Formate


Dieser Abschnitt richtet sich nur an Insider, wer sich nicht mit Resource-
Files auskennt oder kein Resource-Construction-Set besitzt kann die folgen-
____________________________________
der Bilder ist die Zahl der zwischen diesen Bildern durch Interpolation zu
erzeugenden Bilder gemeint
  24  CHAOSultd  kann  in  monochromen  Bitmaps  durch  Rasterung  5  (2x2

Raster) bzw. 17 (4x4 Raster) Graustufen erzeugen
  25 ungepackt, d.h. die Bilder belegen, falls sie gepackt werden, letztenden-

des weniger Speicherplatz
  26falls Breite oder Hhe auf frei eingestellt ist, wird der gerade eingegebene

Wert fr diese Anzeige nur ausgelesen, wenn man nochmals auf frei in diesem
Popup-Men klickt oder die Anzeige durch Anklicken aktualisiert

2   BILDER ERZEUGEN                                                       24



den Zeilen getrost berlesen.
Mit Hilfe eines RCS ist es mglich, die voreingestellten Formate (und ihre
Namen) zu ndern. Zu diesem Zweck lade man die Resource-Datei CHA-
OS.RSC - eine Sicherheitskopie wird vorausgesetzt - in das RCS (wobei
man tunlichst verhindern sollte, dass irgendwas an der Struktur der Resource-
Datei verndert wird, etwa indem man in Interface Objektnummern fest ein-
stellt) und ffnet den zweite Objektbaum. Er enthlt alle Popup-Mens von
CHAOSultd  gem  V6.00  .  Links  unten  befindet  sich  das  Popup-Men  fr
den  Format-Popup,  rechts  daneben  sind  innerhalb  einer  eigenen  Box  in
Strings  die  zugehrigen  Parameter  (Breite  Hhe  Farbanzahl)  angegeben.
Durch ndern der Texte (und nur dieser, wer die Anzahl der Objekte und
damit die Struktur ndert, wird mit der genderten Resource-Datei nicht
mehr glcklich werden) kann man andere Formate fr den Format-Popup
realisieren.
Andere nderungen an der Resource-Datei sind untersagt!



Farbselector


Der Farbselector dient dem Einstellen der Farben, und das ist leichter gesagt
als getan. Das Problem des Farbselectors ist, dass er auch bei monochromer
Bildschirmdarstellung die Einstellung von bis zu 256 Farben zulassen muss,
und  das  ist  nicht  so  einfach  zu  realisieren,  wenn  man  gleichzeitig  hohen
Komfort bei der Eingabe der Farben erreichen will.
Die Bequemlichkeit des jetzt existierenden Farbselectors ist denn auch bei
vielen Farben nicht so ganz berzeugend, wenngleich Interpolationsfunktio-
nen auch die rasche Einstellung vieler Farben erlauben.

Der Farbselector zeigt prinzipiell nur die Einstellung einer Farbe an. Diese
kann man links unten mit den Button << und >> auswhlen, wobei Dop-
pelklick zur ersten bzw. letzten Farbe schaltet. Stehen auf dem Bildschirm
vier oder mehr Farben zur Verfgung so wird die gerade eingestellte Farbe
in dem Balken unter der Farbnummer angezeigt (wobei alle Vernderungen
sofort angezeigt werden). Die Farbeingabe wirkt ansonsten nicht direkt auf
die eingestellte Farbtabelle.
Den grssten Teil des Farbselectors nehmen die beiden Ksten mit den Ein-
stellbalken fr die Farbe ein. Links hat man die Mglichkeit, die RGB- (Rot-,
Grn- und Blau-) Werte der Farbe einzustellen, und zwar auf einer Skala von
0 bis 1000 (entsprechend den GEM-Konventionen) - rechts kann man alter-
nativ die Farbe im HLS-Modell (hue, lightness, saturation; d.h Farbwert,
Helligkeit und Sttigung) einstellen, wobei die Einstellung im einen Modell
jeweils automatisch in die Anzeige des anderen bernommen wird.
Mit der Auswahl der einzustellenden Farbnummer und der Einstellung der
gewnschten Farbe im RGB- oder HLS-Modell kann man nun die Farbpalette
zusammenstellen, was bei vielen Farben aber recht langwierig ist, weshalb
es noch einige Hilfsfunktionen gibt. Dazu dienen die Button links von der
Farbnummernanzeige.
Mit  Interp.  kann  man  die  zwischen  zwei  Farbnummern  liegenden  Farben
durch Interpolation deren Werte berechnen. Klickt man den Button zum er-

2   BILDER ERZEUGEN                                                       25



sten Mal an, so wird die aktuell eingestellte Farbnummer als Startnummer
gespeichert, der Button wird zur Erinnerung abgehakt dargestellt. Klickt
man den Button jetzt noch einmal bei einer anderen Farbnummer an (es
muss  mindestens  eine  Farbnummer  zwischen  der  Startnummer  und  dieser
anderen Farbnummer liegen, sonst wre das Ganze wenig sinnvoll), so er-
scheint ein Popup-Men, in dem man auswhlen kann, ob man im RGB-
oder HLS-Modell interpolieren will (interpoliert wird stets linear zwischen
den Anfangs- und End-Werten). Klickt man neben das Popup-Men, so wird
die Funktion abgebrochen, ansonsten werden die Farben interpoliert (kann
bei vielen Farben vor allem im HLS-Modell etwas dauern).
bernehmen steht fr die bernahme der aktuell auf dem Bildschirm ein-

gestellten Farben. Damit kann man - wenn man Fensterdialoge verwendet,
und die einzustellende Farbtabelle nicht mehr Farben als die Bilderschirm-
darstellung enthlt - die Farben mit einem externen Accessory einstellen,
und dann in CHAOSultd bernehmen.
Holen bedeutet, dass man die Farben aus einem bereits bestehenden Bild-
Objekt in CHAOSultd auslesen lassen kann. Whlt man den Menpunkt
an,  so  kann  man  auf  dem  Objektfenster  durch  Doppelklick  ein  Objekt
auswhlen, dessen Farben dann bernommen werden (siehe auch 2.2).
Standart setzt die Farben auf eine (eher mssige) Standarteinstellung, die
auch vor Aufruf des Farbselectors eingestellt wird (s.u.).
U neben den Button zum Verlassen (Abbruch und Ok) ist der Undo-Button,
mit dem man den Zustand wiederherstellen kann, in dem man den Farbse-
lector aufgerufen hat.

Noch ein Wort zur Voreinstellung der Farben. Der Aufruf des Farbselectors
von der Dialogbox zum Einstellen des Bildformates ist nicht obligatorisch.
Dennoch mssen die Farben natrlich irgendwie gesetzt werden. Ebenso soll-
te man beim Aufruf des Farbselectors irgendeine wenigstens einigermassen
passende Voreinstellung vorfinden (zumindest mssen die Werte zwischen 0
und 1000 liegen, sonst spielt der Farbselector nmlich verrckt).
Um dies zu erreichen, erzeugt CHAOSultd fr die Farbtabelle eine Vorein-
stellung (Standarteinstellung)27. Und zwar entweder unmittelbar vor dem
Aufruf des Farbselectors oder bei Verlassen der Dialogbox zum Einstellen
des Bildformates, wenn der Farbselector nicht aufgerufen wurde und noch
keine Farbtabelle erzeugt wurde. Das Problem dabei ist die unbekannte Zahl
von Farben, die sich mit der Einstellung des Bildformates ndern kann. Wird
die Zahl der Farben nach Aufruf des Farbselectors erhht, so geht CHAOS-
ultd davon aus, dass keine Farbtabelle existiert. Wird die Zahl der Farben
verringert, so wird die Farbtabelle abgeschnitten, was aber nicht unbedingt
zu einem brauchbaren Resultat fhren muss - in diesem Fall ist der Anwen-
der gefragt. Man sollte deshalb immer zuerst die Zahl der Farben einstellen
____________________________________
  27die Voreinstellung ist derzeit bei zwei Farben scharz und weiss (genauge-

nommen umgekehrt); bei 4 bis 16 Farben werden die Farben einer 16 farbigen
Farbtabelle entnommen und bei mehr als 16 Farben zwischen den Farben
dieser 16 farbigen Tabelle interpoliert

2   BILDER ERZEUGEN                                                       26



(und dann konstant lassen) und sich dann um die Einstellung der Farbtabelle
kmmern; dann sollten keine Probleme auftreten.



Fraktal-Parameter


Nach der Eingabe des Bildformates und eventuell der Farbtabelle mssen
noch die Fraktal-Parameter, die von den Berechnungsroutinen abhngen und
das zu erzeugende Bild im einzelnen festlegen, eingegeben werden. Die De-
tails dieser Eingabe hngen von den Berechungsroutinen ab.



2.2     bernahme von Daten aus bestehenden Objekten


Bei der Einstellung des Bildformates und der Farbtabelle, aber (meist) auch
bei der Eingabe von Fraktal-Parametern, ist es mglich, die Daten aus einem
schon  bestehenden  Objekt  zu  bernehmen,  bei  Fraktal-Parametern  kann
man teilweise darberhinaus Blcke oder einzelne Punktkoordinaten in Bil-
dern mit der Maus auswhlen.
Ruft man in der entsprechenden Dialogbox diese Funktion(en) auf, so wird
zunchst die Dialogbox geschlossen und der Desktop angezeigt, man befindet
sich in einer Art Auswahl-Zustand von CHAOSultd. Viele der Funktionen
von CHAOSultd lassen sich auch in diesem Zustand aufrufen, nicht aller-
dings das Verlassen des Programmes und alle Funktionen zum Erzeugen von
Bildern. Es ist prinzipiell unmglich, diesen Zustand aus diesem Zustand
heraus nochmal aufzurufen (wenn man etwa die Bildparameter und dann
den Farbselektor aufruft, kann man die Funktion holen nicht aufrufen).
Wie kann man nun aber Objekte oder Blcke bzw. Koordinaten auswhlen?
Was man auswhlen kann, hngt von der aufrufenden Funktion ab, ebenso
wie die Frage, welche Daten dann bernommen werden; mglich ist es, nur
eine der drei Optionen auswhlen zu lassen oder aber alle drei.
Objekte werden ausgewhlt, indem man auf ein Objekt im Objekt-Fenster
doppelklickt. Dabei ist es mglich, dass sich die Objekt-Auswahl auf Objekte
eines  speziellen  Objekttypes  beschrnkt,  die  Auswahl  eines  Objektes  mit
einem anderen Objekttyp bewirkt dann den Abbruch der Auswahl.
Blcke werden ausgewhlt, indem man in ein Bild-Fenster klickt und dann
einen Rahmen aufzieht, der dem gewnschten Block entspricht. Das geht
nicht bei allen Bildern, da nicht immer eine Zuordung der Bildpunkte zu
Koordinaten mglich ist (beispielsweise nicht bei 3d Fractalen; auch bei bei
Block anzeigen oder Bildvergleichen werden keine Koordinaten verwaltet,
deshalb kann man hier keine Blcke ausschneiden).
Koordinaten eines Bildpunktes whlt man durch Einfach- oder Doppelklick
in  ein  Bild28  aus,  wobei  ein  Doppelklick  erforderlich  ist,  wenn  man  auch
einen Block auswhlen knnte und ein Einfachklick deshalb den Beginn des
Markierens eines Blockes darstellt.
Abbrechen kann man die Auswahl von Daten durch einen Doppelklick ins
Objektfenster, neben ein Objekt.
____________________________________
  28mit den gleichen Einschrnkungen wie bei Blcken

2   BILDER ERZEUGEN                                                       27



Whrend dieses Auswahlzustandes kann man mit der Help-Taste einen Hilfs-
dialog anzeigen, der diese Optionen kurz wiederholt, wobei nicht mgliche
Optionen grau dargestellt werden. Ausserdem wird angezeigt, wofr man die
Daten auswhlt, und ob ein beliebiges Objekt oder nur ein Objekt eines
speziellen Objekttypes (der dann genannt wird) ausgewhlt werden soll.



2.3     Berechnung von Bildern


Berechnungsmodi


Es  gibt  zwei  grundstzlich  verschiedene  Berechnungsmodi  in  CHAOSultd
gem V6.00 . Im einen wird auf dem (gesamten) Bildschirm das Ergebnis
der laufenden Berechnung angezeigt (soweit es draufpasst). Im anderen wird
die Berechnung ohne gleichzeitige Anzeige auf dem Bildschirm durchgefhrt.
Dann weist lediglich ein Info-Dialog rechts oben auf dem Bildschirm (gege-
benenfalls im Fenster) auf die Berechnung hin. Dadurch spart man sich die
Punktzeichnerei auf dem Bildschirm, die wegen der GEM-konformen Aus-
gabe halt auch ihre Zeit braucht. Wird der Info-Dialog nicht in ein Fenster
gelegt, so wird durch ihn der ganze Bildschirm fr GEM-Ausgaben gesperrt!.
Zum Mitzeichnen auf den Bildschirm ist noch zu sagen, dass stets die lin-
ke obere Ecke angezeigt wird, falls das Bild grsser als der Bildschirm ist,
ansonsten wird das Bild in die Bildschirmmitte zentriert.
Bei  diesem  Mitzeichnen  kann  (bisher  nur  bei  monochromen  Bildern  oder
Bildschirmen) das Ausgeben der Punkte gepuffert werden, was man aber
auch abstellen kann (dann geht es noch langsamer). An dieser Stelle findet
sich ein Fehler, nicht in CHAOSultd aber in NVDI. Macht man das Ganze
in mittlerer Auflsung (aber mit zweifarbigem Fraktal), dann wird von den
gepufferten Punkten immer nur einer gezeichnet (betrifft nur die Bildschirm-
darstellung; intern wird das Bild korrekt erzeugt). Dieser Fehler liegt nicht
bei CHAOSultd (er verschwindet, wenn man NVDI rausschmeisst), am ein-
fachsten umgeht man ihn, indem man die Pufferung der Ausgabe abschaltet.



Berechnungsunterbrechung


Die aktuelle Berechnung eines Bildes kann (soweit von den Berechnungsrou-
tinen untersttzt) auf zweierlei Weise unterbrochen werden.
Durch Drcken der Space-Taste kann man einen Info-Dialog aufrufen, in
dem  angezeigt  wird,  welches  Bild  gerade  berechnet  wird,  wie  weit  dieses
Bild schon berechnet wurde etc..
Durch Drcken der Esc-Taste kann man die Berechnung des aktuellen Bildes
abbrechen.  Drckt  man  gleichzeitig  die  Shift-Taste,  so  werden  eventuell
noch folgende Bilder nur noch erzeugt, ihre Berechnung aber nicht mehr
begonnen. Drckt man gleichzeitig die Alternate-Taste, so werden weitere
Bilder auch nicht mehr erzeugt (wobei vorher eventuell noch nachgefragt
wird, ob man dies wirklich will).

2   BILDER ERZEUGEN                                                       28



Weiterberechnen von Bildern


Durch Anklicken von weiter im Extra-Men kann man unfertige Bilder wei-
terberechnen lassen.
Die Berechnung kann genauso wie beim Berechnen neuer Bilder abgebrochen
werden.
Ist ein Algorithmus nicht in der Lage ein Bild nach Berechnungsabbruch
weiterzuberechnen, so kann er bei Berechnungsabbruch das Bild fr fertig
erklren; weiter lsst sich in diesem Fall natrlich nicht mehr verwenden.
Lsst man die Berechnung anzeigen, so wird beim Weiterberechnen auf dem
Bildschirm nur der neu berechnete Teil angezeigt - im eigentlichen Bild bleibt
der schon vorhandene Teil natrlich erhalten.



2.4     Neu berechnen


Dieser Menpunkt dient dazu, Bilder mit teilweise genderten Parametern
neu zu berechnen - etwa wenn man Bilder testweise in einem kleinen Bild-
schirmformat berechnet hat, und jetzt grosse Bilder haben will, aber auch
wenn man einen der Parameter aller Bilder (z.B. die Berechnungstiefe von
Apfelmnnchen) ndern will.
Zunchst kann man eventuelle nderungen des Bildschirmformates einge-
ben. Dazu dient die gleiche Dialogbox, in der man auch das Bildschirmfor-
mat neuer Bilder einstellt, allerdings mit einigen nderungen. Zum einen
kann man bei den Parametern des Bildschirmformates angeben, welche der
Parameter verndert werden sollen. Dazu dienen die Button links von den
Parametern. Ein Parameter wird gendert, wenn der Button selektiert ist.
Zum anderen kann man die Box statt mit Ok mit zwei anderen Button ver-
lassen, nmlich Neu und berschr., wobei der erste Button bedeutet, dass
vernderte Bilder neu erzeugt werden29, der zweite Button bedeutet, dass
vernderte Bilder die alten Bilder berschreiben.

Werden die Bilder neu erzeugt, so wird ihr Bildname aus dem alten Bildna-
men wie folgt erzeugt.
ist der Name weniger als 7 (6 oder weniger) Zeichen lang, so wird _N an den
alten Namen angehngt
ist der Name genau 7 Zeichen lang, so wird N angehngt.
ist der Name 8 Zeichen lang, so lsst sich nichts mehr anhngen; in diesem
Fall wird das letzte Zeichen ermittelt, das noch keine Ziffer ist; endet der
Name nicht auf eine Ziffer, so wird eben der letzte Buchstabe verwendet;
enthlt der Name nur Ziffern, so wird die erste dieser Ziffern herangezogen.
Dieses letzte Zeichen wird nun eins weitergezhlt (aus A wird B etc.). Z wird
zu _, _ und 9 wird zu A.

Nach der Eingabe der zu ndernden Format-Parameter wird fr alle Bildty-
pen der betroffenen Bilder, die die Funktion untersttzen30, eine Dialogbox
____________________________________
  29natrlich nur, wenn sie wirklich verndert wurden
  30mglicherweise auch - wie bei Fractalen, s.u. - fr mehrere Bildtypen

gemeinsam

3   ANZEIGEFUNKTIONEN                                                   29



angezeigt, in der die zu ndernden Parameter und ihre neuen Werte eingeben
werden knnen. Verlsst man eine solche Dialogbox 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
genderten Parametern (soweit ntig) neu berechnet.



2.5     Bilder konvertieren


Es gibt im Extra-Men einen Eintrag Bilder konvertieren, aber bisher kei-
ne entsprechende Funktion. Dementsprechend lsst sich dieser Menpunkt
grundstzlich nicht aufrufen.
Geplant ist hier eine Mglichkeit zu schaffen, (wenigstens) farbige Bilder auf
zweifarbige Bitmaps abzubilden.



2.6     Bilder packen


CHAOSultd  ist  in  der  Lage,  Bilddaten  im  Speicher  zu  komprimieren
(packen), so dass sie weniger Speicherplatz belegen. Andererseits mssen ge-
packte Bilder vor dem Anzeigen entpackt werden, was natrlich Zeit braucht.
Deshalb kann man einerseits in den Einstellungen whlen, ob Bilder gepackt
werden sollen oder nicht und andererseits gepackte Bilder auspacken oder
nicht gepackte Bilder packen lassen. Zum letzteren dient der Menpunkt
Bilder packen, man kann hier Bilder packen aber auch entpacken.
Nach Anwahl des Menpunktes Bilder packen erscheint eine Dialogbox, in
der angezeigt wird, wieviel Speicher die entpackten Bilder, die gepackten
Bilder und die gepackten Bilder entpackt belegen. Ausserdem wird die Grsse
des freien Speichers angezeigt.
Verlassen kann man die Box ausser mit Abbruch mit Packen oder Entpacken,
so dass man nicht gepackte Bilder packen oder gepackte Bilder entpacken
kann.



3     Anzeigefunktionen


3.1     Bilder anzeigen


Wenn  man  Bilder  einmal  erzeugt  hat,  dann  will  man  sie  natrlich  auch
anschauen. Dazu gibt es in CHAOSultd zwei prinzipielle Mglichkeiten. das
Anzeigen in einem Fenster und das Anzeigen auf dem ganzen Bildschirm.
Letzteres entspricht (in etwa, d.h. modulo interner Details, die sich aber auf
Geschwindigkeit etc. auswirken) der Anzeige in der Version 5.0, insbesondere
mit der Mglichkeit Bilder automatisch weiterschalten zu lassen. Allerdings
entfallen praktisch alle Optionen beim Anzeigen, die in Version 5.0 existieren
- teilweise sind sie nur von der Anzeige im Fenster bzw. vom Desktop aus
erreichbar (wie das Anzeigen der Parameter), teilweise existieren sie (noch)

3   ANZEIGEFUNKTIONEN                                                   30



nicht31. In der Ganzseiten-Anzeige kann man nur noch die Anzeigeoptionen
einstellen. Problematisch ist die Anzeige bergrosser Bilder. Bilder, die die
grsser als der Bildschirm sind, knnen nur in Fenstern gescrollt werden, in
der Ganzseitenanzeige wird stets die Bildmitte angezeigt32.
In beiden Darstellungsarten gibt es noch ein weiteres Problem. die Farbe.
Bei Bildern mit mehr Farben (bzw. Farbebenen) als auf dem Bildschirm
dargestellt werden knnen stellt CHAOSultd nur die ersten Farbebenen33
dar, der Rest der Information geht verloren. CHAOSultd verfgt im Moment

ber keinerlei Mglichkeit Bilder durch Rasterung oder andere Algorithmen
zu konvertieren34.
Bei der Anzeige im Fenster fhrt die Anzeige der Farben des Bildes natrlich
zur nderung der Farben auf dem ganzen Desktop. Die Farben eines Bildes
werden immer dann angezeigt, wenn das Fenster dieses Bildes das aktive
Fenster ist; ist das Objekt-Fenster aktiv, so werden die Standartfarben des
Desktops (wie sie beim Laden eingestellt waren) angezeigt.

Die  Anzeige  im  Fenster  wird  durch  den  Menpunkt  Fenster  im  Zeigen-
Men  aufgefufen,  die  Anzeige  auf  dem  ganzen  Bildschirm  durch  den
Menpunkt Bildschirm.
In  jedem  Fall  wird  zunchst  intern  eine  Bildliste  aller  betroffenen  Bilder
erstellt, die im weiteren die im Fenster dargestellten Bilder festlegt. Diese
Bildliste ist unabhngig von spteren Vernderungen der Objekte, sie bleibt
unverndert, auch wenn man zustzliche Bilder selektiert oder deselektiert
(was natrlich nur beim Anzeigen in einem Fenster mglich ist, die Ganzsei-
tendarstellung ermglicht natrlich keinen Zugriff auf das Objekt-Fenster).

Die Anzeigeoptionen entsprechen denen der Version 5.0, allerdings ist kon-
tinuierliches Anzeigen (bisher?) nur in Ganzseitendarstellung mglich. Dies-
bezgliche Einstellungen werden in Bildfenstern einfach ignoriert.
Darberhinaus verwaltet CHAOSultd jetzt fr jede Bildliste (also fr jedes
Fenster)  eigene  Optionen,  man  kann  bei  deren  Einstellen  whlen,  ob  die
Einstellungen nur fr diese lokalen Optionen gelten sollen, oder ob sie auch
global bernommen werden sollen, was aber nur heisst, dass sie dann fr die
im folgenden geffneten Bildfenster gelten.
Einstellen lassen sich die Anzeigeoptionen zusammen mit weiteren Parame-
tern unter dem Menpunkt Optionen.
____________________________________31
    Keine Mglichkeit gibt es bisher etwa zum Anzeigen von Konstanten und
Koordinaten sowie fr Punktinfos. Auch eine Mglichkeit zur Farbanimation
existiert nicht.
  32irgendwann wird man vielleicht auch mal in der Ganzeseitenanzeige scrol-

len knnen
  33dies fhrt dazu, dass die Farben modulo (d.h. Teilungsrest) der Farbzahl

auf dem Bildschirm gerechnet werden. Auf diese Weise werden Farbabfolgen
(wie Farbe 1, Farbe 2, Farbe 3 etc.) wieder zu Farbabfolgen (mit weniger
Farben), so dass Strukturen erkennbar bleiben
  34auch kann man auf knftige Versionen hoffen, die aber noch in den Ster-

nen stehen

3   ANZEIGEFUNKTIONEN                                                   31



Dort kann man zunchst den Anzeigemodus mit Warten auf Taste und Kon-
tinuierlich einstellen.
Darunter kann man die Wartezeiten fr ein Bild und am Ende der ange-
zeigten Bilder einstellen, wobei man die Zeiten sowohl numerisch (in ms)35
wie auch mit Hilfe eines Sliders whlen kann (dabei dient das Anklicken des
grauen Balkens nicht zum Verschieben des Sliders, sondern der Slider wird
entsprechend des als Text angezeigten Wertes gesetzt).
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 wieder-
holt angezeigt werden sollen (nur dann findet die Wartezeit am Anzeigeende
Verwendung), und ob im zweiten Fall dann wieder mit dem ersten Bild an-
gefangen werden soll ('- > - >') oder ob die Bilder abwechselnd vor- und
rckwrts durchgegangen werden sollen ('- > < -').



3.2     Bildvergleich


Mit der Funktion Bildvergleich knnen Bilder (genauer die Infomation in den
Bitmaps der Bilder) durch logische Verknpfung verglichen werden. Anders
als sonst, wirkt diese Funktion stets nur auf die selektierten Bilder.
Wird die Funktion aufgerufen, so muss man zunchst in einer Dialogbox an-
geben, welche Verknpfung (and, or oder xor) ausgefhrt werden soll. Sind
die Bilder verschieden gross so wird das resultierende Bild so gross wie das
grsste der Bilder. In diesem Fall kann man noch whlen, ob die kleineren Bil-
der relativ zu diesem Grssten zentriert oder im linken oberen Eck eingesetzt
werden sollen.
Nach dem Verlassen des Dialoges werden die Bilder verknpft und das Er-
gebnis in einem Bild-Fenster dargestellt.
Man beachte, dass es je nach Bilderzahl und Bildgrsse unter Umstnden et-
was lnger dauern kann, bis die Verknpfung der Bilder durchgefhrt wurde
und das Anzeigefenster geffnet wird.
Bildvergleiche zweier Bilder fhrt man am besten mit der Verknpfung xor
durch, dann bleiben im resultierenden Bild genau die Teile der Bilder brig,
die nicht gleich sind.



3.3     Block zeigen


Auch diese Funktion wirkt nur auf die selektierten Bilder. Allerdings arbeitet
die Funktion anders als in V5.0 auch mit mehr als zwei Bildern, es werden
dann eben mehrere Blcke angezeigt.
Wie beim Bildvergleich wird ein Bild-Fenster geffnet, in dem das Ergeb-
nis angezeigt wird. Ergebnis ist in diesem Fall das Bild, das den grssten
Ausschnitt besitzt, in diesem sind die Ausschnitte, die die anderen Bilder
____________________________________35
     aus technischen Grnden nur in 5 ms Schritten, ist der Wert nicht durch
5 teilbar wird er abgerundet

3   ANZEIGEFUNKTIONEN                                                   32



darstellen als Rechtecke markiert. (Ob es sich dann wirklich um Blcke han-
delt ist natrlich eine andere Frage).
Die Funktion wird nicht von allen Bildtypen untersttzt. Es muss zum einen
ein Koordinatensystem existieren, damit man berhaupt von einem Aus-
schnitt sprechen kann, und dieses Koordinatensystem muss in einfacher Wei-
se auf die Bitmap abgebildet sein, damit Blcke markiert werden knnen.
(Die erste Vorraussetzung erfllen bisher alle Routinen, die zweite wird etwa
von 3d-Fractalen verletzt).



3.4     Bild-Parameter anzeigen


Unter Bildparameter im Zeigen-Men kann man sich die allgemeinen Bildpa-
rameter eines Bildes anzeigen lassen. Angezeigt wird


    o  Bildname und Dateipfad

       Name und Pfad knnen ediert oder durch Anklicken des Quadrates
       rechts ber dem Pfad mittels der Dateiselectorbox gendert werden


    o  Bildtyp, etwa Bild (fr einfaches Bild) oder der Fraktaltyp


    o  Bildgrsse

       hier wird die Grsse in Bild-Punkten angegeben. bei unfertigen Bildern
       wird neben der Hhe des fertiggerechneten Bildes in Klammern die
       aktuell vorliegende Grsse des berechneten Teilbildes angegeben

       Ausserdem wird die Zahl der Farben angegeben


    o  Grsse der Bitmap (Breite mal Hhe mal Zahl der Bitmaps)

       kann bei Verwendung von Rastern von der Bildgrsse abweichen, dann
       wird bei der Bildgrsse ein Rasterpunkt als ein Punkt, bei der Grsse
       der Bitmap als 2x2 bzw. 4x4 Punkte gezhlt


    o  Speicherbedarf  des  gespeicherten  (meist  also  gepackten)  Bildes  und
       Speicherbedarf des vollstndig berechneten entpackten Bildes


Ausserdem hat man von hier Zugriff auf die Farbtabelle des Bildes, mit dem
Button Farben kann man in den Farbselektor verzweigen.
nderungen des Bildnamens und Pfades werden mit Ok bernommen, mit

Abbruch verworfen. nderungen der Farbtabelle bleiben auch bei Abbruch
bestehen, wenn man den Farbselektor mit Ok verlassen hat.



3.5     Fraktal-Parameter anzeigen


Mit dem Menpunkt Parameter im Zeigen-Men kann man sich die Parame-
ter eines Fraktals anzeigen lassen. Details sind Sache der Berechnungsrouti-
nen.

4   INPUT/OUTPUT                                                            33



3.6     Info anzeigen


Unter Info kann man eine Dialogbox aufrufen, in der man einige mehr oder
weniger (eigentlich weniger) interessante Informationen ber die berechneten
Bilder anschauen kann, im wesentlichen die Berechnungszeit, die Zahl der
berechneten Iterationen und die Zahl der gezeichneten Punkte.
Ist genau ein Fraktal selektiert, so kann die Berechnungsroutine fr das Bild
eine detaillierte Info-Box ausgeben, die dann natrlich von der Berechnugs-
routine abhngt.
Stellt die Berechnungsroutine eine solche Funktion nicht zur Verfgung, un-
tersttzt aber die Ausgabe von Bildinfos36, oder sind mehrere Bilder betrof-
fen, so wird eine Info-Box angezeigt, in der die Anzahl der Bildpunkte, die
Zahl der berechneten Iterationen37 sowie die bentigte Rechenzeit - insge-
samt und pro Punkt bzw. Iteration - ausgegeben wird.



4     Input/Output


4.1     Speichern


Mit den Menpunkten Speichern und Speichern . . .kann man Objekte ab-
speichern.
Fr Fraktale gibt es ein eigenes Dateiformat, Bilder knnen im GEM-Image-
Format (inclusive XIMG-Header) und (aus Grnden der Tradition) im Stad-
Format gespeichert werden; beim Stad-Format wird nur eine Bitplane (wie
beim Anzeigen auf einem Monochromen Bildschirm) und gegebenfalls nur die
linke obere Ecke gespeichert. Fraktale lassen sich ebenfalls in diesen Bildfor-
maten speichern, dabei werden aber die Bild-Parameter nicht mit abgespei-
chert, so dass als Bild gespeicherte Fraktale nicht als gespeichert betrachtet
und gekennzeichnet werden.
Speichern . . .unterscheidet sich von Speichern dadurch, dass man zunchst
in  der  Fileselectorbox  ein  Dateipfad  und  optional  ein  Extension  angeben
kann. Der Pfad wird dann zum Defaultpfad, der fr alle Objekte vorgeschla-
gen wird; mit dem Extension kann der Bildtyp gewhlt werden (PAC Stad,
IMG GEM-Image). Ist ein Extension angegeben, so werden auch Fraktale
defaultmssig 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.
Fr jedes zu speichernde Objekt wird nun zunchst eine Dialogbox aufge-
baut, in der die Nummer des Objektes, der Objekttyp (Fraktal oder Bild)
und der Objektstatus (gendert oder unverndert,d.h. gespeichert) angezeigt
wird.
____________________________________36
     indem sie dem Verwaltungsteil Informationen ber Berechnungszeit so-
wie Iterations- und Punktanzahl zur Verfgung stellt
  37  was  im  einzelnen  unter  einer  Iteration  zu  verstehen  ist  liegt  bei  der

Berechnungsroutine; korrekter wre vieleicht auch die Bezeichnung Berech-
nungsschritte - nicht alle Routinen sind iterativ

4   INPUT/OUTPUT                                                            34



Unter diesen zur Information dienenden Angaben befindet sich der Bildna-
me und der Dateipfad, ausserdem wird das Dateiformat angezeigt. Dieses
kann man durch Anklicken eines der Button ndern, es wird dann auto-
matisch das entsprechende Extension in den Namen eingetragen. Mit dem
Quadrat-Button  knnen  Namen  und  Pfad  via  Dateiselectorbox  gendert
werden, natrlich ist dies auch direkt mit der Tastatur mglich.
Der Dateityp, unter dem ein Bild oder auch ein Fraktal abgespeichert wird,
wird durch das hier eingestellte Dateiextension festgelegt. CHS ist nur bei
Fraktalen mglich und bedeutet das Abspeichern als Fraktal; mit PAC oder
IMG wird das Fraktal oder das Bild im entsprechenden Dateityp gespei-
chert. Andere Extension sind nicht mglich; versucht man mit einem anderen
Extension zu speichern, so korrigiert CHAOSultd das Extension, gibt eine
Meldung aus und verlsst die Dialogbox nicht.
Zum Verlassen der Box stehen vier Button zur Verfgung. bei Speichern wird
das Bild gespeichert und die Dialogbox fr das nchste Bild angezeigt, weiter
geht zum nchsten 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 fr die
noch folgenden zu speichernden Bilder keine Eingaben mehr gemacht werden
knnen. 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 lsst 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 berprfen, ob die
Speicherfunktion auch das tut, was man wollte.). In diesem Fall kann das
Abspeichern durch Drcken der ESC-Taste abgebrochen werden.
Kommt es beim Speichern zu einem Namenskonflikt (eine Datei soll erzeugt
werden, die schon besteht) so wird dies (abhngig von den Einstellungen
des Programms) in einer der Dialogbox beim Speichern sehr hnlichen Box
angezeigt. Man kann hier den Namen nochmals ndern, und die Box wie-
derum auf viererlei Weise verlassen. berschreiben speichert das Objekt mit
dem eingestellten (eventuell gendertem) Namen ohne sich um eine eventu-
ell bestehende Datei zu kmmern, Weiter und Speichern arbeiten wie oben
beschrieben; Msg. aus schaltet analog zu Info aus die Warnung von ber-
schreiben ab.
Gespeicherte Objekte werden auf dem Desktop abgehakt dargestellt, Frak-
tale, die als Bilder gespeichert wurden gelten wie gesagt nicht als gespeichert.



4.2     Laden


Mit dem Eintrag Laden im Men Datei kann man Objekte wieder einladen.
Ausser den speicherbaren Bildformaten knnen auch das Degas-Format (mo-
nochrom!, PIC) und das (nichtgepackte) Degasformat (PI1-3) geladen wer-
den.
Es erscheint die Dateiselectorbox, mit der einzelne oder auch mehrere Bilder
ausgewhlt werden knnen.
Gibt man explizit einen Dateinamen an, so wird diese eine Datei geladen.

5   EINSTELLUNGEN                                                          35



Gibt man aber keinen Dateinamen an, so werden alle in der Dateiselectorbox
gerade  dargestellten  Dateien,  sofern  sie  CHAOSultd  gem  V6.00  -Objekte
sind (also alle Dateien mit den Extension CH?, PIC, PI?, PAC und IMG)
geladen. Das Einladen lsst sich durch Drcken der Esc-Taste abbrechen.



4.3     Drucken


Alles was von Druckroutinen in CHAOSultd existiert sind die Menpunkte
Bilder drucken und Druckparameter.
Irgendwann soll es einmal Hardcopyroutinen als externe Routinen geben.
Von mir sicher nur fr 24Nadler, eventuell auch fr GDOS.



4.4     Clipboard


CHAOSultd untersttzt das Clipboard, obwohl ich nicht so recht weiss, wofr
man  das  eigentlich  braucht.  Man  kann  einerseits  Bilder  (nein  ein  Bild,
das  ist  ja  das  Dumme  am  Clipboard)  aus  dem  Clipboard  laden,  sofern
eine SCRAP.IMG Datei im Clipboard liegt. Andernfalls erscheint eine Feh-
lermeldung, dass CHAOSultd eine Datei nicht gefunden htte und das Laden
abbricht. Das ist natrlich ein Fehler (die Fehlermeldung), aber erstmal wer-
de ich das nicht beheben.
Zum anderen kann man ein Bild (wenn genau eins selektiert ist) im Clipboard
als SCRAP.IMG Datei (und nur als solche) ablegen. Alle eventuell vorhandenen
SCRAP-Dateien werden gelscht.



4.5     Lschen


Mchte man Objekte lschen, so selektiert man diese und klickt anschliessend
den Menpunkt Objekte lschen im Datei-Men an. (Man kann sich das se-
lektieren auch sparen, dann werden aber alle Objekte gelscht).
Nach einer eventuellen Warnung (vgl. Einstellungen, 5.3) werden die Objekte
gelscht.
Es ist nicht mglich, Bilder die sich in einer Bildliste fr ein Anzeige-Fenster
befinden zu lschen; versucht man dieses, so wird man in einer Dialogbox
darauf  hingewiesen.  Sind  die  betreffenden  Bilder  selektiert,  so  kann  man
fortfahren, indem man weiter whlt. Dann werden die Bilder der Bildliste
vom Lschen ausgenommen.



5     Einstellungen


5.1     Speicher-Info


Das Speicher-Info gehrt natrlich eigentlich auch nicht zu den Einstellungen
ist aber im gleichen Menpunkt Optionen gelandet.
Im Speicher-Info kann man sich anzeigen lassen, wieviel (interner) Speicher
gerade wofr bentigt wird . . .

5   EINSTELLUNGEN                                                          36



ber dem Speicher-Info findet sich brigens noch ein Eintrag, in dem man

das Objekt-Fenster ein- und ausschalten kann. (Ausschalten kann man es
natrlich auch durch schliessen des Fensters.)


Jetzt aber zu den eigentlichen Einstellungen.
Diese sind aus Platzgrnden auf zwei Dialogboxen verteilt.



5.2     Einstellungen I


Hier finden sich die Einstellungen fr Dialogfenster, Berechnung und Rnder
beim Anzeigen. Im einzelnen kann man whlen.


    o  Dialoge in Fenster legen


    o  Dialoge zentrieren


    o  Info-Dialoge in Fenster legen (gilt nur fr die Dialoge beim Berechnen;
       die Info-Dialoge beim Laden/Speichern werden nicht in Fenster gelegt)


    o  die Positionierung der Info-Dialoge, an der letzten Position, zentriert
       oder rechts oben


    o  Darstellung des Randes beim Anzeigen auf dem Bildschirm. weiss, grau
       oder schwarz

       Darstellung des Randes beim Anzeigen in Fenstern


    o  Berechnung von Bildern anzeigen oder verdeckt berechnen


    o  Puffern der Ausgabe auf den Bildschirm


    o  Gong am Berechnungsende; der Button hinter dem Text, dient zum
       Testen des Gonges

       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 vorausge-
       setzt) auch ertnt, wenn man neben eine Dialogbox klickt. Dazu ist
       es ntig, dass in den Systemvariablen das entsprechende Flag gesetzt
       ist, das man eben auch lschen kann, beispielsweise mit dem Kontrol-
       feld. Deswegen setzt CHAOSultd diese Flag beim Programmstart und
       setzt es beim Verlassen wieder auf den alten Wert zurck. ndert man
       nun whrend CHAOSultd luft mit einem Accessory dieses Flag, so
       wird erstens (beim Lschen des Flags) der Gong beim Berechnungs-
       ende 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.


    o  im Prinzip ist auch noch vorgesehen, hier die Cursor-Form bei Block
       einzustellen. Gegenwrtig wird nur der Maus-Cursor untersttzt, so
       dass die Einstellung sich erbrigt

5   EINSTELLUNGEN                                                          37



5.3     Einstellungen II


Im zweiten Teil der Einstellungen kann man whlen.


    o  welcher Dateipfad standartmssig zum Laden bzw. Speichern verwen-
       det wird


    o  ob vor dem Speichern die Info-Dialogbox angezeigt werden soll


    o  welche Sicherheitsabfragen CHAOSultd ttigen soll

       vor dem berschreiben von Dateien

       vor dem (unwiederuflichen) Abbrechen der Berechnung

       vor dem Lschen von Objekten und

       vor dem Verlassen des Programmes


    o  wieviel Speicher CHAOSultd freilassen soll


    o  ob neue/geladene Bilder gepackt werden sollen



5.4     Parameter-Voreinstellungen


Mittels Shift-Klick auf einen der Eintrge zum Erzeugen neuer Bilder eines
bestimmten Fraktal-Types kann man die Voreinstellungen der Parameter fr
diese Fraktal-Typ aufrufen und die Parameter ndern - soweit diese Funktion
untersttzt wird, was aber (bislang) meist der Fall ist.
Seltener vorhanden ist eine Funktion die bei Control-Klick auf einen dieser
Eintrge aufgerufen wird, und fr die es keine fest vorgesehene Verwendung
gibt, sie wird einfach fr irgendwelche zustzlichen Aktionen, die womglich
gebraucht werden, bereitgehalten.



5.5     Parameter speichern


Durch Auswahl des Menpunktes Parameter speichern kann man die einge-
stellten Parameter abspeichern. Die Parameter werden ausschliesslich in der
Datei CHS_ULTD.SET im Ordner CHS_ULTD.GEM gespeichert.
Zu  den  Parameter  die  gespeichert  werden  gehren  die  Einstellung  von
CHAOSultd, die der verschiedenen Routinen (soweit geladen) und die Posi-
tionen der Dialoge.
Allerdings ist das Speichern der Parameter noch etwas unzulnglich.
erstens gehen Parameter von externen Routinen verloren, wenn die Routinen
gerade nicht geladen sind, auch wenn man sie frher einmal eingestellt und
abgespeichert hat.
zweitens werden die Dialogpositionen nur direkt in Rasterkoordinaten ge-
speichert, was den erheblichen Nachteil hat, dass die Dialoge bei Start des
Programmes in einer anderen Auflsung an womglich hchst unpassenden
Stellen geffnet werden.
drittens  werden  noch  nicht  alle  Parameter  gespeichert.  Nicht  gespeichert
werden etwa die Fensterpositionen und das eingestellte Bild-Format.

5   EINSTELLUNGEN                                                          38



(dieser Punkt gehrt deshalb zu den ersten Eintrgen in der Liste der zu
verbessernden Dinge)

                                                                                      39



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 Apfelmnnchen be-
kannt.
Apfelmnnchen beruhen bekanntlich auf Folgen komplexer Zahlen, die durch
die Rekursionsformel


                                    zn+1  = z2n- z0


definiert sind38.
Das Bild entsteht dann so, dass man einen Teil der komplexen Ebene auf den
Bildschirm abbildet und fr jeden Punkt z0 untersucht, ob und wenn wann
die Glieder der zugehrigen Folge dem Betrage nach einen bestimmeten Wert
(die Abbruchbedingung) berschreitet. Die Farbe des Punktes bestimmt sich
dann  aus  der  der  Anzahl  der  ntigen  Iterationen  bis  zum  Erreichen  der
Abbruchbedingung.
Julia-Mengen werden fast genauso berechnet, allerdings lautet die Rekursi-
onsformel hier


                                    zn+1  = z2n+ c


wobei c eine fr 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.
Apfelmnnchen erhlt 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  Menpunk-
ten  Fractal(e)  und  3d  Fractal(e)  erzeugt  werden,  zugrunde.  Bei  pseudo-
dreidimensionalen  Bilder  wird  dabei  die  Berechnungstiefe  eines  Punktes
nicht  durch  seien  Farbe  dargestellt,  sondern  direkt  als  Hheninformation
verwendet.
Fr freie Fract. kann die Berechnungsformel explizit angegeben werden so
dass man selbst experimentieren kann.
____________________________________
  38 statt des '-' findet man teilweise auch ein '+'

2   PARAMETER                                                                40



2     Parameter


2.1     bentigte Parameter


Wie gesagt, wird ein Ausschnitt der komplexen Zahlenebene auf den Bild-
schirm abgebildet. Dazu muss man natrlich diesen Ausschnitt, durch den
minimalen und maximalen Real- und Imaginrteil festlegen. Des weiteren
muss ff, die Konstante c (Real- und Imaginrteil), die Abbruchbedingung39,
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 sptestens abgebrochen wird,
festgelegt werden.
Die max. Tiefe kann bis 9999 gross werden, je grsser sie ist, desto lnger
dauert allerdings auch die Berechnung des Bildes. (Bei einer Tiefe von 9999
kann die Berechnung eines einzigen Bildes durchaus mehrere Tage in An-
spruch nehmen. Im allgemeinen verwendet man kaum Tiefen ber 250).
Die Abbruchbedingung kann aufgrund des fr schnelle Berechnungen (s.u.)
verwendeten Festkommazahlenformates nicht grsser als 11 werden, aufgrund
ihrer Definition ist sie stets positiv, also grsser 0. Fr die anderen Parame-
ter wird lediglich geprft, ob der minimale Real-/ Imaginrteil auch wirklich
kleiner als der maximale ist, ebenfalls aufgrund des Zahlenformates drfen
diese  Parameter  dem  Betrage  nach  nicht  grsser  als  ca.  127  sein.  Da  die
interessanten Strukturen aber ohnedies im Bereich von 3 real und 2 ima-
ginr liegen (zumindest in etwa) sollten sich damit trotz der an dieser Stelle
fehlenden Sicherheitsabfragen keine Probleme ergeben40.
Weiterhin muss man natrlich festlegen, wie die Anzahl der Rekursionsschrit-
te in Farben umgesetzt werden soll. Auch hier erlaubt CHAOSultd wesentlich
mehr Einstellungsmglichkeiten als andere Programme.
Gewhnlich ordnet man die Farben der Schrittanzahl so zu, dass sich die
Farben immer wieder zyklisch wiederholen. In CHAOSultd sind dagegen ma-
ximal fnf unabhngige Bereiche mglich. Fr jeden Bereich, der durch die
maximale Schrittanzahl, fr 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 an-
geben, welche Farben (kleinste und grsste Nummer), welche Farbe zuerst,
und wieviele verschiedene Schrittanzahlen fr eine Farbe man haben will.
Zu guter letzt kann man noch whlen, in welcher Farbe Punkte erscheinen
sollen, fr die die maximale Tiefe erreicht wurde.
Ausser diesen Parametern, die den Bildinhalt beschreiben, kann man zwi-
schen zwei Berechungsroutinen whlen. schnell und exakt, wobei schnell mit
einem speziellen Festkommazahlenformat arbeitet, whrend exakt die Re-
____________________________________39
      viele  Apfelmnnchenprogramme  verwenden  2  als  Abbruchbedingung,
allerdings finde ich die Bilder, die mit der Abbruchbedingung 10 entstehen,
schner
  40 im Berechnungsmodus exakt (s.u.) lassen sich theoretisch auch grssere

Bereiche realisieren, aber wie gesagt, finden kann man da an sich nichts

2   PARAMETER                                                                41



chenroutinen von Turbo/Pure C verwendet41.
(exakt ist natrlich wesentlich langsamer, weshalb ich von der Benutzung im
allgemeinen abrate).



2.2     Eingabe der Parameter


Wie Sie sehen ist fr jedes Bild also eine ziemlich Anzahl an Parametern ein-
zustellen. Dazu kommt noch, dass die meisten Parameter doppelt vorhanden
sind, um Bildfolgen, bei denen nur das erste und letzte Bild angegeben wer-
den, zu ermgliche - die Parameter der brigen Bilder werden dann durch
Interpolation berechnet.
Fr gewhnliche Bilder, wie man sie mit anderen Fraktalprogrammen auch
erzeugen kann, gibt es aber einige Funktionen, die das Einstellen der Para-
meter erleichtern.
Um Fractale zu erzeugen klickt man in der Menleiste den Menpunkt Frac-
tal(s) im Men Neu an. Es erscheint dann die (ziemlich umfangreiche, also
nicht erschrecken) Dialogbox zum Eingeben der Parameter, in der (sofern die
Einstellungsdatei CHS_ULTD.SET korrekt geladen wurden) bereits Parame-
ter voreingestellt sein sollten (diese Voreinstellung ist jedesmal dieselbe, sie
kann gendert werden, wenn man den Menpunkt Fractal(s) mit gedrckter
SHIFT-Taste aufruft; bei einem erneuten Aufruf findet man also nicht wieder
die Parameter vor, die man zuletzt eingestellt hatte).



Einzelbilder


Zunchst sollen der Einfachkeit halber nur die Parameter erlutert werden,
die man fr die Erzeugung eines einzelnen Bildes bentigt, wenn man also
in den allgemeinen Parametern unter Bilderzahl 1 eingetragen hat.
Oben links wird angezeigt, welchen Bildnamen, Bilderzahl und Bildgrsse
man eingestellt hat.
Darunter kommen zweispaltig die einzelnen numerischen Bildparameter, wie
in 2.1 erlutert. Dabei interessiert fr Einzelbilder nur die linke Spalte, die
rechte bleibt unbenutzt; auch die Button rechts von den Parametern brau-
chen vorerst nicht zu interessieren.
Nun folgt noch die Einstellung des Berechnungsmodus, schnell oder exakt.
Die Einstellung der Farben wird aus Platzgrnden lediglich angezeigt (im
kleinsten Systemzeichensatz), eingestellt wird sie in einer eigenen Dialogbox,
in die man mit dem Button Farbcod. gelangt.

In dieser Box gibt man die Angaben fr bis zu fnf Farbbereiche ein, die
aber nicht alle genutzt werden mssen. Zunchst 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
____________________________________41
     das heisst es wird mit 80 Bit Fliesskommazahlen und einer entsprechen-
den Genauigkeit von 19 signifikanten Ziffern gearbeitet. Ausserdem wird ein
eventuell vorhandener Fliesskommacoprozessor automatisch genutzt.

2   PARAMETER                                                                42



durch die Angabe von 9999 als Endtiefe gekennzeichnet werden, folgende Be-
reiche 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  knnte  auch  bei  einer  max.  Berechnungstiefe
von meinetwegen 50 einen Bereich von 75-100 definieren, obwohl ein solcher
Bereich nie genutzt wrde.
Als  nchstes  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 letz-
teren Fall muss nur noch festgelegt werden, welche Farbe dem Bereich zu-
geordnet 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 er-
sten 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 mssen).
Bei zyklischen Bereichen legt der Eintrag Farbe die erste verwendete Farbe
fest. In den Eintrgen ... bis ... gibt man an, welche Farben hergenommen
werden sollen (dabei muss der erste Eintrag kleiner sein als der zweite; beim
zweiten Eintrag kann man -1 fr die grsste mgliche Farbe, abhngig von
der Farbzahl angeben) und mit Step erklrt 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.

hnlich  wie  man  mit  Farbcod.  in  die  Farbeinstellung  gelangt,  kann  man

mit Allg. Par. die Dialogbox fr die Einstellung der allgemeinen Parameter
aufrufen, etwa um Bildformat, Name oder Bilderzahl nochmal zu ndern.

Was jetzt noch fehlt, sind die Button -> alles, -> links und -> rechts. Mit
diesen ruft man Popup-Mens auf, die verschiedene Funktionen zur Eingabe
der Parameter bieten.
Das alles-Popup bietet Funktionen, die sich auf alle Parameter (d.h. die Para-
meterstze fr das erste und die fr das letzte Bild, auch wenn ich fr letztere
auf den nchsten Abschnitt verweisen muss) beziehen. Hier kann man erstens
alle Eintrge im gesammten Dialog lschen, zweitens die Voreinstellung auf-
rufen (die schon bei Aufruf des Dialoges eingestellt war) und drittens, die
Parameter links nach rechts kopieren.
Die links- und rechts-Popups sind gleich, sie unterschiedet nur die Tatsa-
che, dass links auf die linke und rechts auf die rechte Parameter-Hlfte wirkt,
und teilweise - wenn man bei der Auswahl im Popup-Men gleichzeitig die
SHIFT-Taste  drckt  -  jeweils  auf  die  gemeinsamen  Parameter.  In  diesem
Popup stehen die folgenden Optionen zur Verfgung. man kann die Para-
meter lschen, man kann aus Objekten Daten holen und man kann sich das
Verhltnis von Hhe zu Breite der Parameter und des Bildformates ansehen.
Es existiert noch ein weiterer Eintrag im Popup-Men, nmlich Random,

2   PARAMETER                                                                43



der aber bei Fractalen nicht aktiv ist42. Beim Holen von Daten kann man
entweder nur die nach rechts und links getrennten Daten bernehmen oder
mit SHIFT alle (natrlich nur, wenn das Objekt ein Fractal ist). Mglich ist
die Auswahl eines (beliebigen) Objektes, eines Blockes oder einer Konstante
(die dann bei c eingetragen wird). Ist das Objekt kein Fractal, so wird nur
der Bildausschnitt (wie bei Block) bernommen.
Soweit  zu  den  Parametern  fr  die  Erzeugung  eines  Bildes.  Ich  kann  gut
verstehen,  dass  Ihnen  das  ganz  schn  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 knnte ihm nicht wiederfahren, der hat sich geirrt, es kommt
noch schlimmer.



Fractalbildfolgen


Wie bereits erwhnt gehrt es zu den Fhigkeiten von FRACTAL, nicht nur
Einzelbilder, sondern auch Bildfolgen berechnen zu knnen. Dabei mssen
die Bildparameter fr das erste und das letzte Bild sowie die Bildzahl an-
gegeben werden, FRACTAL interpoliert dann die Werte fr die dazwischen
liegenden Bilder. Die Parameter werden in der selben Dialogbox eingegeben,
wie die Parameter von Einzelbildern43. Dabei dient die linke Spalte fr die
Parameter des ersten, und die rechte Spalte fr die Parameter des letzten
Bildes. Alle Einstellungen die nur einfach vorhanden sind gelten fr alle Bil-
der der Bildfolge, dies sind Bildgrsse, Berechnungsmodus sowie die Farben.
Bei den anderen Parametern kann schliesslich noch die Art der Interpolation
gewhlt werden. Dazu dienen die Button rechts von den Parameterangaben.
Gewhlt werden kann lineare (0), progressive (+) und degressive (-) Inter-
polation. Bei linearer Interpolation sind die (absoluten) Unterschiede zwi-
schen den Parametern zweier aufeinanderfolgender Bilder stets gleich gross,
bei progressiver Interpolation nehmen sie zu und bei degressiver ab. Fr
den Bildausschnitt existiert noch l, hier wird so interpoliert, dass der relative
Unterschied (in der Bildflche) konstant ist (irgendwie so).



2.3     3d Fractale


Im Vergleich zu den normalen Fractalen mit ihrer komplizierten Farbgestal-
tung sind 3d Fractale fast schon einfach. 3d Fractale knnen nur zweifarbig
erzeugt werden.
Bei 3d Fractale wird die Berechnungstiefe durch die Tiefe oder Hhe der
gezeichneten Punkte dargestellt.
____________________________________
  42 die Popups existieren in gleicher Form (aber mit teilweise anderen Ein-

schrnkungen) auch bei den anderen Berechnungsroutinen
  43 Wer also die Parametereingabe fr ein Bild verstanden hat, der wird

auch mit Bildfolgen keine grossen Probleme haben, insofern stimmt die oben
gemachte Bemerkung, es kme noch schlimmer, vielleicht doch nicht so ganz.

2   PARAMETER                                                                44



Die Parameter entsprechen weitgehend denen von normalen Fractalen. Al-
lerdings ist die maximale Tiefe bei 3d Fractalen entsprechend der Bildhhe
und Breite begrenzt, damit das Bild immer in die Bitmap hineinpasst.
Es kann auch nicht zwischen schneller und genauer Berechnungsroutine un-
terschieden werden (verwendet wird stets die schnelle Berechnugsroutine),
und die Farbeinstellung fllt 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 Mglichkeiten und Anschauen der Ergebnisse glaube
ich besser als langatmige Erklrungen.



2.4     freie Fractale


Fr freie Fractale, d.h. Bilder mit frei definierter Rekursionsformel, kommen
zu den Parametern fr 2d-Fractale noch einige hinzu, die in einer eigenen
Dialogbox vor den anderen Parametern eingegeben werden mssen.



Berechnungsformel


Zunchst einmal muss man natrlich die Berechnungsformel angeben. Die-
se ist ein beliebiger Funktionsstring, der (komplexe) Konstante, Variable,
Operatoren und Funktionen enthalten kann.
Konstante mssen die Form Realteil + i Imaginrteil besitzen und vorsichts-
halber geklammert werden (normalerweise brauch man eh keine).
An Variablen kann man zn, d.h. den momentanen Wert der Rekursionsfolge,
z0 den Startwert, 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 binren Operationen +, -, *, / und ^  (Po-
tenz) verwenden; ausserdem Klammern ( und ) und Vorzeichen -.
An (komplexen) Funktionen werden untersttzt.
  Re     | Realteil einer komplexen Zahl
  Im     | Imaginrteil 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. mchte 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 fr eine Berechnungsformel.

2   PARAMETER                                                                45



Apfelmnnchen. 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 fr freie Fractale


Neben der Berechnungsformel kann man auch die Abbruchbedingung und
die Art des Punkte-Setzens beeinflussen.
Bei der Abbruchbedingung hat man die Mglichkeit eine oder zwei relevante
Grssen zu bestimmen, wobei der Betrag, der Real- sowie der Imaginrteil
der  Folgenglieder  zur  Wahl  stehen  (die  Abbruchbedingung  lautet  immer.
Grsse > Abbruch, wobei Abbruch der in den Parametern wie bei normalen
Fractalen angegebene Wert ist).
Whlt man zwei Grssen und damit eigentlich zwei Bedingungen, so kann
man  noch  die  logische  Verknpfung  (and,  or  oder  xor)  zwischen  diesen
whlen.
hnlich  legt  man  die  Bedingung  zum  Punkte-Setzen  fest.  Entweder  man

lsst die Punkte entsprechend den Berechnungsschritten setzen - nur dann
kann man bei den brigen Parametern auch die Farbeinstellung wie bei nor-
malen Fractalen vornehmen - oder man definiert eine Bedingung die erfllt
sein  muss,  damit  ein  Punkt  gesetzt  wird.  Diese  Bedingung  entspricht  der
Abbruchbedingung und wird genauso festgelegt (man kann hier natrlich
andere Kombinatinen whlen), allerdings werden hier Bedingungen Grsse
< Abbruch verwendet44.
Nach Verlassen der Dialogbox fr frei definierte Fractale mit Ok muss man
in der ganz normalen Parameterdialogbox (wie fr 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
erklrt werden, woher frei definierte Fractale kommen.
Sie kommen von Pickover-Mengen, die im Spektrum der Wissenschaft Son-
derheft Computerkurzweil 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.
____________________________________44
     natrlich sind nicht alle Kombinationen von Abbruch- und Punktsetz-
Bedingung auch sinnvoll, das sollte man sich vorher berlegen

3   UNTERSTTZTE OPTIONEN                                            46



3     untersttzte  Optionen


Da die Fractal-Routinen gewissermassen das Mass aller Dinge bei der Entwick-
lung von CHAOSultd waren45, jedenfalls haben sie die mglichen Optionen
vorgegeben, werden im Prinzip alle mglichen Optionen von den Fractal-
Routinen auch in irgendeiner Weise unterstzt.



3.1     Parameter anzeigen


Alle Parameter werden angezeigt. Bei freidefinierten Fractalen muss man zur
Anzeige der Berechnungsformel und Abbruch- sowie Punktsetz-Bedingung
in eine zweite Dialogbox (ber den Button - >frPar) verzweigen.



3.2     Bild-Info anzeigen


Fr die Fractal-Routinen steht ein umfangreiches Bild-Info fr Einzelbilder
zur Verfgung, die CHAOSultd-Routine zur Anzeige von Infos ber mehrere
Bilder wird untersttzt.
In Einzelbild-Infos wird angezeigt.
die Anzahl der Bildpunkte (nicht Pixel!) - insgesammt und als Hhe 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);
die   Anzahl   der   ntigen   Multiplikationen,   die   mittlere   Zeit   pro
Multiplikation46 und die sich daraus ergebende Zahl von Multiplikationen
pro Sekunde.
Die Angaben ber Multiplikationen sind bei freie definierter Berechnungs-
formel nicht mglich.
Fr Infos ber mehrere Bilder entsprechen die Angaben ber Iterationen,
Bildpunkte und Berechnungszeit denen der Einzelinfos.



3.3     Block zeigen


Block-Auschnitte enthalten knnen nur zweidimensionale Bilder. 3d Bilder
knnen lediglich aus Ausschnitt in einem zweidimensionalen Bild angezeigt
werden. Ebenso knnen keine Blcke aus 3d Bildern entnommen werden.
____________________________________
  45 was nicht heisst, dass das so bleiben muss
  46  d.h. die Berechnungszeit geteilt durch die Zahl der Multiplikationen,

tatschlich dauert eine Multiplikation an sich weniger lang, wobei auch noch
zwischen Quadratur einer Zahl und Multiplikation zweier Zahlen unterschie-
den werden msste

3   UNTERSTTZTE OPTIONEN                                            47



3.4     neu berechnen


Beim neu berechnen von Fractalen knnen Abbruchbedingung, maximale
Tiefe, Genauigkeit, Darstellung bzw. Farbtabelle, die Farbkodierung von 2d-
Bildern, das Raster und der Modus von 3d-Bildern sowie fr frei definierte
Fractale die Berechnungsformel, die Abbruchbedingung und die Punktsetz-
Bedingung neu vereinbart werden.
In der Dialogbox muss dazu einerseits der gewnschte neue Wert einer Grsse
angegeben werden, der dann fr alle zu neu berechnenden Bilder Verwendung
findet, andererseits muss das Neu-setzen dieses Wertes durch selektieren des
zugehrigen Button aktiviert werden.
Die Einstellungen fr frei definierte Fractale finden sich in einer eigenen Dia-
logbox, in die man mit dem Button fr. Param. gelangt; auch die Farbtabelle
wird natrlich in der blichen Weise eingegeben.
Bilder werden grundstzlich nur neu berechnet, wenn sich ihre Parameter
gendert haben.

                                                                                      48



Teil  III


die  Hpfer-Routinen



1     der  Algorithmus


Hpfer 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 fol-
genden Iterationsvorschrift.


                                                 q _________________
                    xn+1    =   yn - sign(xn ) .   abs  (b . xn - c)

                    yn+1    =   a - xn



wobei a, b und c frei whlbare Parameter sind.
Die Punkte (xn ; yn ) werden in einem Koordinatensystem aufgetragen, wor-
aus sich mehr oder weniger interessante Figuren ergeben.
Anders als bei Fractalen (siehe Teil II) erhlt 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 hngt ausserdem - ebenfalls
im Unterschied zu Fractalen - recht stark von der Anzahl der Iterationen
ab. einerseits knnen ganze Bildteile unter Umstnden erst nach sehr vielen
Iterationen zum Vorschein kommen, andererseits knnen 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
Bildgrsse abhngt47. Berechnet man kleine Bilder, so fhrt das lediglich zu
einer Speicherplatz- nicht aber zu einer Rechenzeitersparnis48.



2     Parameter


Die Parameter sind wie blich doppelt anzugeben - fr das erste und fr
das letzte Bild einer Bilderfolge; berechnet man nur ein Bild, so braucht
man natrlich nur die linke Spalte auszufllen. Auch die Button fr den
Interpolationsmodus sind ja bekannt.
Zunchst einmal muss man die drei Parameter a, b und c der Iterationsvor-
schrift angeben; es folgen die Startwerte fr x und y sowie die Festlegung des
Bildausschnittes. Aus traditionellen Grnden geschieht dies im allgemeinen
nicht durch minimalen und maximalen Wert fr x und y sondern durch einen
Vergrsserungsfaktor (scale) und einen Offset, der die Position der Bildmitte
____________________________________47
      die  Rechenzeit  hngt  hier  lediglich  von  der  Zahl  der  Iterationen  ab,
weshalb sie auch vorher abgeschtzt werden kann
  48 das Berechnen von vier Bildern dauert allerdings trotzdem viermal so

lang, da dabei die vier Bilder unabhngig von einander berechnet werden

3   UNTERSTTZTE ROUTINEN                                            49



angibt (jeweils fr x und y getrennt). Man kann in der Dialogbox auch durch
Anklicken des Button min/max auf die Eingabe der Minimal- und Maximal-
Werte umschalten, dabei ist aber zu beachten, dass fr die Interpolation bei
Bildfolgen stets mit den Vergrsserungsfaktoren 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 (nor-
malerweise setzt man nach jedem Schritt einen Punkt, d.h.   Schrittweite
1).
Die Eingabe der Parameter wird wie bei Fractalen durch eine Reihe von
Mglichkeiten untersttzt. Zustzlich zu den Mglichkeiten die man bei Frac-
talen hat, kann man mit Random die zufllige Vorbelegung der Parameter a,
b und c erreichen. Den Bereich fr diese Zufallszahlen kann man durch Auf-
ruf des Hpfer-Meneintrages zusammen mit der CONTROL-Taste einstellen,
wobei man links den minimalen und rechts den maximalen Wert angibt. Die
Mglichkeit das Verhltnis von Bildbreite zu Hhe anzuzeigen fehlt.
Ebenfalls Zufallszahlen fr die Bildparameter a, b und c erreicht man durch
den zustzlichen (zu den von den Fractal-Routinen bekannten) Interpola-
tionstyp r wie random. Whlt 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 Parameterhlfte (wenigstens teilweise) relevant).
Die Vorbelegung der Parameter kann man wie blich durch SHIFT-Klick auf
den Hpfer-Meneintrag erreichen.



3     untersttzte  Routinen


Die meisten Mglichkeiten von CHAOSultd werden untersttzt.
Berechnungsabbruch ist alle 256 Berechnungsschritte mglich - wie blich
durch Drcken der ESC-Taste. Man kann dabei durch gleichzeitiges Drcken
von CONTROL erreichen, dass das Bild - soweit bisher berechnet - fr fertig
erklrt wird, die Angabe fr die Iterationsanzahl wird dann entsprechend
herabgesetzt (ohne Auswirkung auf weitere Bilder etwa in einer Bilderfolge).
Beim Parameter anzeigen kann man umgekehrt die Iterationsanzahl wieder
erhhen, die entsprechende Angabe in der Dialogbox ist edierbar. Man kann
also die gewnschte neu Iterationsanzahl eingeben, die aber grsser sein muss,
als die Anzahl der bisher berechneten Iterationen (andernfalls wird die An-
gabe schlicht ignoriert); ein bereits fertiges Bild kann auf diese Weise wieder
unfertig werden.
Weiter kann man Bilderinfos anzeigen lassen, wobei es aber kein ausfhrli-
cheres Info fr Einzelbilder gibt. Blockroutinen werden ebenso untersttzt.
Das  Neu-Berechnen  von  Hpferbildern  ist  mglich,  wobei  alle  Parameter
(einschliesslich Bildausschnitt) verndert werden knnen.

                                                                                      50



Teil  IV


die  Feigenbaum-Routinen



Feigenbaum-Diagramme knnen nur in 2 Farben erzeugt werden.



1     Algorithmus


Der Algorithmus von Feigenbaum-Diagrammen ist noch einfacher als der fr
Hpfer.
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 allerdings die ersten N 1 Folgenglieder weglsst.
Als Ergebnis erhlt man das Feigenbaumdiagramm. Warum das so aussieht
wie es aussieht kann man z.B. im Spektrum  der  Wissenschaft Sonderheft
Computerkurzweil III nachlesen.



2     Parameter


Ntige Parameter zum Plotten von Feigenbaumdiagrammen sind minimaler
und maximaler Wert der Parameters r (blicherweise zwischen 0 und 4) sowie
der Folgenglieder x (natrlich nur fr 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  lsst
jeden Folgenwert zeichnen).
Es gibt die blichen Interpolationstypen falls man mehrere Bilder berech-
net. Ebenso stehen die blichen Hilfsfunktionen zur Parametereingabe zur
Verfgung.



3     untersttzte  Routinen


Die Feigenbaumroutinen untersttzen nicht alle Mglichkeiten von CHAOS-
ultd. Untersttzt werden die Anzeige der Parameter, die Anzeige von Bilde-
rinfos (aber ohne eigenen Dialog fr Einzelbilder) und Blockroutinen.
Nicht untersttzt wird die Funktion neu berechnen. Feigenbaum-Diagramme
sind einfach nicht abwechslungsreich genug um diese Routinen auch noch zu
implementieren, die Routinen sollten ursprnglich ja vor allem als Beispiel
fr extere Routinen und deren Realisierung dienen.

                                                                                      51



Teil  V


die  XCHAOS-Routinen,  Barnsley


und  Attraktoren



Die XCHAOS-Routinen erlauben es, neue Berechnungsroutinen zu realisie-
ren, ohne dass man sich jedesmal mit den Dialogboxen zur Parametereingabe
herumschlagen  kann.  Man  kann  einfach  definieren,  welche  Parameter  ge-
braucht werden, und die XCHAOS-Routinen passen mit diesen Daten dann
einen fr alle XCHAOS-Routinen gemeinsamen Eingabedialog an und ber-
nehmen die Eingabe der Parameter. Konkret geschrieben werden muss fr
den neuen Fraktal-Typ dann nur noch die eigentliche Berechnungsroutine,
was natrlich sehr viel weniger Arbeit darstellt.
Natrlich unterliegt man dabei ettlichen Einschrnkungen, wieviele Parame-
ter mglich sind usw., dennoch stellen die XCHAOS-Routinen fr nicht zu
komplizierte Fraktale eine elegante Lsung dar.
Die Unterroutinen zum Modul XCHAOS werden allerdings nicht mehr extern
nachgeladen, sondern sind integraler Bestandteil des Moduls, man kann hier
also nicht mehr auswhlen, welche der Routinen man laden will, entweder
man ldt alle oder - durch Entfernen des Moduls XCHAOS - garkeine.
Bisher habe ich zwei Bildtypen mit XCHAOS realisiert, Barnsley-Fractale
mit denen ich die Routinen entwickelt habe und seltsame Attraktoren. Beide
Bildtypen sind gewissermassen Ober-Typen fr mehrere Berechnungsformeln,
die aber jeweils eng miteinander zusammenhngen.
Bei der Parametereingabe hat man die blichen Hilfen, zustzlich existiert
ein Popup-Men Voreinst., das verschiedene Voreinstellungen fr die linke
Parameterhlfte vorsieht. (Diese Mglichkeit wurde geschaffen, weil ich stets
mehrere Bildtypen zusammengefasst habe, und die Grundbilder teilweise ver-
schiedene Parameter bentigen, die so miteingestellt werden knnen. Wenn
man also die Routinen ausprobieren will, schaltet man am besten mit die-
sem Popup-Men zwischen den Bildtypen um, nicht direkt mit den dafr
vorgesehenen Button.)
Noch eine Anmerkung zu den Button.
aus technischen Grnden werden alle Button stets wie Radio-Button darge-
stellt (also mit Kreis), das heisst aber nicht automatisch, dass sie auch welche
sind.
Von den XCHAOS-Routinen werden die Funktionen von CHAOSultd un-
tersttzt, mit Ausnahme des Neuberechnens von Bildern (kommt noch, ir-
gendwann).



1     Barnsley-Fractale


Die Formeln fr Barnsley-Fractale wurden aus dem PC-Programm Fractint
entnommen, sie wurden von M. Barnsley entdeckt (oder erfunden, wie immer
man will). CHAOSultd kennt vier verschiedene Barnsley-Fractale, eins mehr
als Fractint, weil die Beschreibung und die Realisierung im Programm eines

1   BARNSLEY-FRACTALE                                                   52



der Fractale in Fractint irgendwie nicht bereinstimmt (so ganz verstehe ich
gerade auch nicht, was da eigenlich los ist, was ich berechne und was das mit
der Berschreibung von Fractint zu tun hat; einerlei, die Routinen sind jetzt
wie sie sind. CHAOSultd rechnet jedenfalls so wie unten angegeben).
Von  jeder  dieser  vier  Varianten  gibt  es  zwei  Versionen.  Mandelbrot-  und
Juliamengen. Generell entspricht die Berechnung der Bilder derjenigen von

blichen Mandelbrot- und Juliamengen. Damit ist auch der Unterschied zwi-
schen den beiden Versionen klar. bei Julia-Versionen gibt es eine globale,
d.h. fr alle Punkte des Bildes gleiche Konstante c, die man in den Parame-
tern angibt, bei den Mandelbrot-Versionen wird diese Konstante fr jeden
Punkt mit dessen Koordinaten initialisiert. Dafr werden in der Mandelbrot-
Version als Startwert fr die Iteration nicht die Koordinaten sondern die
Parameter verwendet. Iteriert wird in den einzelnen Bildtypen (1-3 und I)
wie folgt (zn und c sind komplexe Zahlen, mit <c ist der Realteil, mit =c der
Imaginrteil von c gemeint).


    o  Typ 1 (entspricht Beschreibung, falls mit 'modulus' das Absolutqua-
       drat gemeint ist).


                     zn+1   =    (zn - 1) . c   falls<zn  0

                     zn+1   =    (zn + 1) . c = (zn + 1) . |c|2=c   sonst


    o  Typ I (entspricht Algorithmus in Fractint).


                           zn+1   =    (zn - 1) . c   falls<zn  0

                           zn+1   =    (zn + 1) . c   sonst


    o  Typ 2.


                  zn+1   =    (zn - 1) . c   falls<zn . =c + <c . =zn  0

                  zn+1   =    (zn + 1) . c   sonst


    o  Typ 3.


       zn+1   =    (<z2n- =z2n- 1) + i . (2<zn . =zn )   falls<zn > 0

       zn+1   =    (<z2n- =z2n- 1) + <c . <zn + i . (2<zn . =zn + =c . <zn )   sonst


In den Parametern gibt man wie bei Fractalen den Bildausschnitt an, also
den minimalen und maximalen Wert des Real- und Imaginrteils, die hier
aber mit minimalem und maximalem x- bzw. y-Wert bezeichnet werden. Es
folgen Real- und Imaginrteil der Konstante c (bzw. des Startwertes z0), die
Abbruchbedingung und die maximale Tiefe (letztere wiederum anlog zu den
Parametern bei Fractalen).
Schliesslich whlt man noch, welchen Bildtyp (1, I, 2 oder 3) und welche
Version (Juliamenge oder Mandelbrotmenge) man wnscht.
Ausserdem gibt es schnelle und exakte Berechungsroutinen, ebenfalls wie bei
Fractalen; allerdings ist die Bilderzeugung von Barnsley-Fractalen generell
langsamer als bei Fractalen.

2   SELTSAME ATTRAKTOREN                                             53



2     seltsame  Attraktoren


Unter (seltsame) Attraktoren sind mehrere Kurven (d.h. Lsungen von Dif-
ferentialgleichungen)  bzw.  Punktmengen  (analog  zum  Hpferalgorithmus)
zusammengefasst. Auch diese Bildtypen wurden dem Programm FractInt -
bzw. seiner Beschreibung - entnommen.
Attraktoren heissen die Dinger, weil sich die Kurven bzw. Punkte irgendwann
nur noch in bestimmten, eigenartig geformten (deshalb ,seltsam'), Raum-
bzw. Flchenbereichen finden. Auf die Details soll hier (so unbefriedigend
das sein mag, aber zu allgemeinen Theorie-Erklrungen habe ich jetzt ein-
fach keine Lust) nicht weiter eingegangen werden. Wer nicht weiss, das eine
Differentialgleichung (DGL) ist, der muss sich eben ohne Verstndnis an der
Kurve freuen oder es sein lassen.
Im einzelnen hat man.


    o  Lorenz-Attraktor

       dem Lorenz-Attraktor liegt das DGL-System


                                     _x  =   -ax + ay

                                     _y  =   bx - y - zx

                                     _z  =   -cz + xy


       zugrunde, wobei a, b und c anzugebende Parameter sind


    o  Rssler-Attraktor

       ebenfalls ein DGL-System.


                                     _x  =   -y + z

                                     _y  =   x + ay

                                     _z  =   b + xz - cz


    o  Pickover-Atttrakor

       keine DGL, sondern eine diskrete Punktfolge mit


                                 x  =    sin(ay) - z cos(bx)

                                 y  =    z sin(cx) - cos(dy)

                                 z  =    sin(x)


       (scheint nicht so recht zu funktionieren, aber ich weiss auch nicht, wie
       die Bilder berhaupt ausschauen sollen)


    o  Henon-Attraktoren

       auch eine Punktmenge, diesmal nur noch zweidimensional


                                     x   =   1 + y - ax2

                                     y   =   bx

2   SELTSAME ATTRAKTOREN                                             54



    o  der Gingerbreadman


                                     x   =    1 - y + |x|

                                     y   =    x



       (die Parameter a und b werden als Startwert fr x und y verwendet)


Alle diese Routinen wurden zusammengefasst, wodurch Parameter teilweise

berzhlig sind.
Bei den 3d-Routinen (Lorenz, Rssler und Pickover) muss man sich fr ein
Darstellungsebene entscheiden, d.h. es gibt keine 3d-Darstellung, sondern es
werden nur zwei der drei Koordinaten dargestellt. Bei den 2d-Routinen ist
die Darstellungsebene natrlich immer die xy-Ebene. Bei der Bezeichnung
minimale/maximale x/y-Werte (oben in den Parametern) bezieht sich das
x/y auf den Bildschirm, nicht auf die Koordinaten, d.h. whlt man die zx-
Ebene, so ist minimales x der kleinste z-Wert, der ganz links am Bildschirm
angezeigt wird (usw.).
Die Differentialgleichungs-Systeme werden auf die allerprimitivste Weise, al-
so durch Diskretisierung (kein Runge-Kutta oder sonst was besseres) gelst,
wobei der Zeitschritt eingestellt werden kann (dt). Je kleiner dieser ist, des
genauer die Lsung, desto lnger aber auch die Berechung. Neben der Grsse
des Zeitschrittes gibt man noch die Zahl der Zeitschritte (bzw. Iterationen)
an.
Die Startwerte von x, y und z fr die Berechnung sind (ausser beim Ginger-
breadman) fest vorgegeben. x = y = z = 1.0.
