



             CHAOSultd  gem



             Version  6.40



               1.1.1994



                  von



          Th.  Morus  Walter







INHALTSVERZEICHNIS                                                                  i

Inhaltsverzeichnis

1   Copyright                                                                             1

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

3   Installation                                                                          4
    3.1     Hardwarevorraussetzungen .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    4
    3.2     Installation    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    4
    3.3     Lieferumfang    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    5

4   Danksagung                                                                            6

5   Entwicklungsstand                                                                     7
    5.1     nderungen gegenber frheren Versionen    .  .  .  .  .  .  .  .  .  .  .    7
    5.2     Helfer gesucht!    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    7
    5.3     Updates und Bezugsmglichkeiten   .  .  .  .  .  .  .  .  .  .  .  .  .  .    8

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

7   zu dieser Anleitung                                                                   11


I    CHAOSultd  gem                                                                       13

1   Allgemeine Bedienungshinweise                                                         13
    1.1     Hinweise zum Betrieb     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    13
    1.2     Booten des Programmes    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    13
    1.3     Speicherverwaltung    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    13
    1.4     Dialoge   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    15
    1.5     CHAOSultd und Multitasking  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    16
    1.6     Fenster   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    17
    1.7     Objekte   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    17
    1.8     Selektieren von Objekten im Objekt-Fenster       .  .  .  .  .  .  .  .  .    18
    1.9     Bedienungselemente zum Aufruf von Funktionen           .  .  .  .  .  .  .    20
    1.10    Online-Hilfe    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    21

2   Bilder erzeugen                                                                       22
    2.1     neue Bilder - Eingabe der Parameter  .  .  .  .  .  .  .  .  .  .  .  .  .    22
    2.2     Eingabehilfen   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    24
    2.3     Berechnung von Bildern   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    26
    2.4     Neu berechnen   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    27
    2.5     extended Neu, Block, . . .     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    28

3   Bilder verwalten                                                                      29
    3.1     Film edieren    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    29
    3.2     Bilder packen   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    30
    3.3     Bilder konvertieren   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    30
    3.4     Lschen   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    31

4   Anzeigefunktionen                                                                     32
    4.1     Bilder anzeigen    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    32
    4.2     Bildvergleich   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    34
    4.3     Block zeigen .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    34
    4.4     Konstante anzeigen    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    34
    4.5     Koordinaten anzeigen     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    34
INHALTSVERZEICHNIS                                                                 ii

    4.6     Punktinfo    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    35
    4.7     neues Objekt    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    35
    4.8     Bild-Parameter anzeigen     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    35
    4.9     Farben    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    36
    4.10    Fraktal-Parameter anzeigen     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    36
    4.11    Info anzeigen      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    36

5   Input/Output                                                                          36
    5.1     Speichern    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    36
    5.2     Laden     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    37
    5.3     Drucken   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    38
    5.4     Clipboard    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    38

6   Einstellungen                                                                         38
    6.1     Einstellungen I    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    38
    6.2     Einstellungen II   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    39
    6.3     Parameter-Voreinstellungen     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    40
    6.4     Parameter speichern      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    40


II    die  Fractal-Routinen                                                               41

1   der Algorithmus                                                                       41

2   Parameter                                                                             41
    2.1     bentigte Parameter      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    41
    2.2     Eingabe der Parameter    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    42
    2.3     3d Fractale     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    45
    2.4     freie Fractale     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    45

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


III    die  Hpfer-Routinen                                                               48

1   der Algorithmus                                                                       48

2   Parameter                                                                             48

3   untersttzte Routinen                                                                 49


IV    die  L-System-Routinen                                                              50

1   Definition der Parameter                                                              50

2   Eingabe der Parameter                                                                 52

3   Berechnung von L-Systemen                                                             53


V    die  Feigenbaum-Routinen                                                             54


VI    die  XCHAOS-Routinen                                                                55

1   Barnsley-Fractale                                                                     55
1   COPYRIGHT                                                                            1

2   seltsame Attraktoren                                                                  56
3   Diffusion                                                                             57
4   Popcorn                                                                               58
5   Kreis2                                                                                58


VII    Hardcopy-Routinen                                                                  60

1   24 Nadel-Matrixdrucker-Treiber                                                        60
2   Gdos-Treiber                                                                          62




1      Copyright

CHAOSultd gem V6.40  geschrieben von Th. Morus Walter

CHAOSultd  gem  V6.40   (c)  1993/4  by  Never  Ready  Software,  Th.
Morus Walter

Th. Morus Walter
Schulstr. 22
93080 (W-8401 Pentling)
(Federal Republic of Germany)
Tel. 0941 949802
e-Mail: morus.walter@rphs1.physik.uni-regensburg.de

Dieses Programm ist Postcardware!

Das  Programm  darf  und  soll  frei  kopiert  und  weitergegeben  werden,  aber
nur vollstndig. D.h. es mssen alle Dateien, die man mit CHAOSultd erhal-
ten hat, auch weitergegeben werden - 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  verpflichtet,
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) Reso-
nanz, die Rckseite der Postkarte lsst sich ja fr Anregungen und konstruk-
tive Kritik (andere wird berlesen) nutzen (ich bitte allerdings um Verstnd-
nis, dass ich schriftliche Fragen nur bei frankiertem Rckumschlag beantwor-
ten kann). 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 auch nicht garantiert, dass den erzeugten Bildern wirklich die beschrie-
benen Algorithmen zugrundeliegen, wenngleich ich natrlich davon ausgehe.


Wider  die  neue  (und  alte)  Rechte!
Nie  wieder  Krieg!  Nie  wieder  Faschismus!
2   ALLGEMEINES                                                                        2

2      Allgemeines

CHAOSultd gem V6.40  ist die neueste und vorlufig endgltige Version von
CHAOSultd gem, das eine Weiterentwicklung von CHAOSultd V5.0 ist.
CHAOSultd gem ist, wie das Suffix gem schon andeutet, konsequent GEM-
konform  programmiert  (von  Programmfehlern  abgesehen).  Das  Programm
sollte  deshalb  in  jeder  Auflsung  und  auf  jeder  Graphikkarte  laufen.  Zur
Ausgabe wird ausschliesslich das VDI verwendet.
Trotz der Tatsache, dass die GEM-Konformitt immer noch wenigstens zwei
Nachteile gegenber der Version 5.0 mit sich bringt, erklre ich CHAOSultd
gem V6.40  hiermit (anders als noch V6.00 und V6.01) zum Nachfolger der
Versionen V5.0x.
Die Nachteile sind zum einen, die geringere Anzeigegeschwindigkeit, ein Ef-
fekt, der sich in Grenzen halten drfte (nachgemessen hab ich's nicht) und
(schlimmer) die Unmglichkeit der Darstellung in ST-low durch Umschalten
der Auflsung. Letzteres ist schon bitter, auf der anderen Seite arbeite ich
eh meist in monochromer Auflsung.



2.1      Mglichkeiten  und  Grenzen


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


    o   maximal 9999 Objekte gleichzeitig im Speicher


    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

        echte Einschrnkung: keine Untersttzung von High-/True-Color (bei
        den meisten Bildtypen wre das aber eh nicht sinnvoll)


    o   maximal 32767 Bilder pro Film


Anmerkungen:

nicht  alle  Bilderzeugungsroutinen  untersttzen  alle  Bildformate,  insbeson-
dere gibt es 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  man1  wohl  nicht  mehr  als  2  GigaByte
     ______________________________________________
    1wer  will,  kann  sich  jeder  Stelle,  an  der  ,man'  steht,  ,frau'  (dazu)  den-
ken; der Verzicht auf diese Formen (ebenso wie auf den studentischen Plural
2   ALLGEMEINES                                                                        3

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.



2.2      Untersttzte  Fraktaltypen


CHAOSultd gem ist modular aufgebaut - analog zu CHAOSultd V5.0x, nur
konsequenter,  es  gibt  keine  internen  Berechnungsroutinen  mehr.  Das  Pro-
gramm  besteht  aus  einem  Hauptteil,  der  die  Verwaltung  der  Bilder,  das
Anzeigen, Abspeichern etc. bernimmt, und mehreren Modulen, die Routi-
nen zur Berechnung von Fraktalen bestimmter Typen zur Verfgung stellen.
Maximal sind 32 Fraktal-Typen mglich (wobei eine Routine auch mehrere
Typen umfassen kann).
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
        Berechnungsformel2 .

        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   L-Systeme


    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
        ist zwar nicht so flexibel wie spezielle Eingaberoutinen, reduziert aber
        das Schreiben neuer Routinen im wesentlichen auf die eigentliche Zei-
        chenroutine, so dass ich weniger zu tun habe und sich vielleicht auch
        mal andere daran wagen, Routinen fr CHAOSultd zu realisieren.

        Unter XCHAOS gibt es zur Zeit:


           -   Barnsley-Fraktale

           -   seltsame Attraktoren (Lorenz, Rssler, etc.)
     ______________________________________________
(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)
    2ich unterscheide 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                                                                        4

           -   Diffusion
           -   Popcorn


           -   Kreis2


    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
        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, Falcon und Eagle Rech-
nern laufen - mangels Hardware wurde das Programm aber nur auf der oben
genannten Konfiguration getestet.
CHAOSultd gem sollte mit jeder Auflsung und Graphikkarte zusammen-
arbeiten, solange ein VDI-Treiber existiert (mit Ausnahme von High-/True-
Color-Auflsungen). 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 bentigt
und zwar fr das Programm an sich. Prinzipiell kann man das Programm also
auch ohne Festplatte auf Diskette verwenden. Die Datenmenge berechneter
Bilder ist nach oben offen.
Speicher braucht das Programm natrlich auch, unter 1 MByte drfte we-
nig gehen. CHAOSultd gem belegt - abhngig von der Zahl der Module die
man  verwendet  -  ca.  250-500  kByte  Speicher  fr  Programm,  Resourceda-
teien  etc..  Dazu  kommt  noch  der  Speicherbedarf  fr  die  Bilder.  Minimum
einige hundert Kilobyte, nach oben offen.
Zum  Ausdrucken  von  Bildern  gibt  es  eine  Schnittstelle  fr  ein  externes
Hardcopy-Modul. Bisher existiert nur ein Modul fr 24 Nadel-Matrixdrucker.



3.2      Installation


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

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,
    3______________________________________________
     auf 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                                                                        5

dann  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 und den Ordner CHS_ULTD.GEM in
ein beliebiges Verzeichnis auf der Festplatte (oder auf eine Diskette, was aber
natrlich weniger empfehlenswert ist).
Vielleicht noch kurz ein Wort zur Erklrung. Der Ordner CHS_ULTD.GEM
enthlt  die  Resource-Dateien,  die  Einstellungsdatei,  die  externen  Module
und im Ordner HELP die Hilfs-Texte fr das Hilfs-System.
Die externen (Berechnungs-)Module besitzen die Dateikennung (Extension)
.XCH, was natrlich fr eXdended CHaos steht. Mchte man nicht alle ex-
ternen  Module  verwenden,  was  ja  auch  Speicher  kostet,  so  kann  man  die
entsprechenden Module ohne weiteres lschen (nebst zugehriger Resource-
datei;  man  sollte  natrlich  noch  irgendwo  eine  vollstndige  Kopie  haben)
oder durch ndern der Dateikennung deaktivieren.
Die richtige Zuordnung zwischen den Modulen und den zugehrigen Datein-
amen wird dem geneigten Leser als bungsaufgabe berlassen.
Das Hardcopy-Modul besitzt die Kennung .HCP.



3.3      Lieferumfang


CHAOSultd gem V6.40   umfasst die folgenden Dateien und Ordner (nach
vollstndigem  Entpacken  aller  Archive;  hat  man  CHAOSultd  via  Internet
bezogen,  so  hat  man  unter  Umstnden  nicht  alle  Dateien,  wenn  man  sich
nicht alle Archive geholt hat (was ja durchaus sinnvoll sein kann, vgl. auch
README.TXT):

 CHS __ULTD.APP             das Programm
 READ_ME.TXT
 GRRRRRRR.TXT               READ IT!
 CHANGES.TXT                aktuelle nderungen
 CHNG_ALT.TXT               ltere nderungen (in der Anleitung enthalten)
 ERRORS.TXT                 vorhandene Fehler
 CHAOS.FAQ                  Fragen und Antworten zu CHAOSultd

 *.TXT                      was ich womglich sonst noch zu sagen habe
 CHS __ULTD.GEM\
     CHS_ULTD.RSC           die Resourcedatei
     CHS_ULTD.SET           die Einstellungen

     24NADEL.HCP            die Hardcopy-Routine
                            und diverse Module
     FRACTAL.XCH
     HUEPFER.XCH
     IFS.XCH
     LSYSTEM.XCH
     FEIGENBM.XCH
     XCHAOS.XCH
     *.XCH                  neue Module?
4   DANKSAGUNG                                                                         6

                                                sowie deren Resourcen

     24NADEL.RSC
     FRACTAL.RSC
     HUEPFER.RSC
     IFS.RSC
     LSYSTEM.RSC
     FEIGENBM.RSC
     XCHAOS.RSC
     *.RSC                              neue Resource-Files?
     HELP\
        *.HLP                           die Hilfstexte

 ANLEITNG\
     CHS_ULTD.DVI,  -.TXT,  -.PS        die Anleitung im TEX , ASCII und Postscript-Format

 BEISPIEL\                              Ordner mit Beispielen (unberechnet)
     *.CHS
     PARAM\                             Ordner mit Parameterdateien
        *.L                               fr L-Systeme
        *.IFS                             und IFS

 CHAOS_PG\                              Ordner mit der Entwicklerdokumentation



4      Danksagung


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


    o   Pure C 1.0, PureDebugger


    o   PASM 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.

Koautor (in spe): Rene Fritz
(Farbselektor, Farbrotation)

besonderen Dank an


    o   die Programmierer von FractInt:

        the Stone Soup Group:

        Main authors (in historical order):


               Bert Tyler
               Timothy Wegner
               Mark Peterson
               Pieter Branderhorst


        Contributing authors (in alphabetic order);


               Joseph  A  Albrecht,  Kevin  C  Allen,  Rob  Beyer,  John  W.
               Bridges,  Michael  D.  Burkey,  Robin  Bussell,  Lee  Daniel
               Crocker,  Monte  Davis,  David  Guenther,  Michael  L.  Kauf-
               man, Wesley Loewer, Adrian  Mariano, Joe McLain, Bob
               Montgomery,  Roy  Murphy,  Ethan  Nagel,  Jonathan  Osuch,
               Marc Reinig, Prof. JM Richard-Collard, Lee H. Skinner, De-
               an Souleles Chris J Lusby Taylor, Scott Taylor, Paul Varner,
               Phil Wilson
5   ENTWICKLUNGSSTAND                                                           7

        (ich hoffe, ich habe nicht zufllig einen vergessen)

        FractInt ist ein PC-Programm zur Erzeugung von Fractalen, das vor
        allem  durch  die  Vielzahl  mglicher  Fractal-Typen  und  die  grosse  Re-
        chengeschwindigkeit besticht.
        Leider gibt es fr den ST nur eine partielle Implementation der Version
        12, die nochdazu sehr instabil ist (beim PC ist FractInt nunmehr bei
        Version 18 angelangt).
        Angesichts  erheblicher  Mengen  an  80(x)xx-Assembler-Code  lsst  sich
        das Programm auch nur sehr schwer auf den ST umsetzen. (das manu-
        elle bersetzen von 80(x)xx Code in 68000 Code ist grausig, besonders,
        wenn man 80(x)xx Assembler berhaupt nicht beherrscht)
        Allerdings muss es ja nicht gleich das ganze Programm sein, so diente
        FractInt (dessen Sourcen frei und frei zugnglich sind) als Quelle zwei-
        er  Fractaltypen  fr  CHAOSultd.  (FractInt  stand  ja  schon  Pate  bei
        Barnsley-Fractalen und den Attraktor-Routinen, bei den L-Systemen
        und der Diffusion habe ich auch auf den Code von FractInt zurckge-
        griffen, weshalb die Autoren der Original-Routinen auch im Program-
        minfo als Co-Autoren erscheinen).


    o   Michael G.

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


    o   Wolfgang Ley

        fr die Betreuung des FTP-Servers in Clausthal


    o   Stefan Haake

        fr die Betreuung des FTP-Servers in Stuttgart



5      Entwicklungsstand


5.1      nderungen  gegenber  frheren  Versionen


siehe hierzu die Dateien CHNG_ALT.TXT und CHANGES.TXT.
CHNG __ALT.TXT enthlt alle nderungen der verschiedenen Versionen von
V6.31 bis zurck zu V6.00. Alle diese nderungen sind in dieser Version der
Anleitung bercksichtigt.
Die Datei CHANGES.TXT enthlt gegebenfalls alle nderungen, die ber
den Stand dieser Anleitung hinausgehen.



5.2      Helfer  gesucht!


CHAOSultd gem ist nicht fertig!
Es wird auch nie fertig werden; natrlich kann es irgendwann passieren, dass
ich keine Lust mehr habe, an CHAOSultd weiterzuarbeiten4 .
Ich denke allerdings, dass die Entwicklung des Hauptprogrammes inzwischen
weitgehend abgeschlossen ist, das heisst, ich plane momentan keine grsseren
Erweiterungen  mehr.  Was  noch  bleibt  ist  das  Entfernen  von  Fehlern,  die
sicher  immer  wieder  auftauchen  werden,  sowie  verschiedene  interne  Berei-
nigungen und Optimierungen. In diesem Zusammenhang wird es wohl auch
noch zu kleineren nderungen an Funktionen kommen.
Was die externen Routinen angeht, so sind dort noch einige Macken zu be-
seitigen und Funktionen zu ergnzen.
Daneben gbe es natrlich noch jede Menge Fraktal- und andere Bildtypen,
fr die man Berechnungsroutinen schreiben knnte.
Die Entwicklung an CHAOSultd geht also weiter. Leider fehlt mir die Zeit,
auch nur das zu realisieren, was unmittelbar ansteht. An neue Routinen ist
    4______________________________________________
     nein,  die  Jammerei,  dass  ich  keine  Resonanz  auf  CHAOSultd  bekomme
werde ich jetzt nicht wiederholen (ausnahmsweise)
5   ENTWICKLUNGSSTAND                                                           8

momentan nicht zu denken (ich brauche einfach mal wieder eine Rechner-
Pause).  Insbesondere  sollte  ich  mich  eigentlich  mit  Quarks,  Mesonen  und

Baryonen im NJL-Modell befassen, um endlich Diplom-Physiker zu werden.
Sollte irgendwer daran interessiert sein, an CHAOSultd V6.xx 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. Aber auch eine bertragung des Progammes in eine andere Sprache
wre denkbar, die Text-Strings des Hauptprogrammes sind bereits weitge-
hend 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, Pro-
grammieren und zwar in C sollte man schon knnen. Ausserdem sollte man

ber Pure C (andere C Compiler setzen noch mehr Programmiererfahrung
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 gemeint. Nach
der  berragenden  Resonanz  auf  CHAOSultd  V5.0x  (zwei  Anrufer,  die  mit
dem selbstenpackenden Archiv nicht zurechtkamen) habe ich allerdings kaum
noch Illusionen.
Trotzdem  ist  die  Schnittstelle  mittlerweile  dokumentiert.  Die  Dokumenta-
tion  findet  sich  -  nebst  Beispielen  und  der  ntigen  Header-Datei  -  in  der
Entwicklerdokumentation zu CHAOSultd; diese findet man entweder in ei-
nem eigenen Archiv CHAOS_PG.LZH (Internet) oder im selbstentpackenden
Archiv CHAOS_PG.TOS.
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.3      Updates  und  Bezugsmglichkeiten


Updates wird es also sicher geben - irgendwann.
Ich  sehe  mich  ausserstande,  selbst  Updates  zu  vertreiben,  auch  nicht  ge-
gen  Leerdiskette  und  frankierten  Rckumschlag,  ich  habe  schon  genug  zu
tun - sorry. Ausnahmen mache ich natrlich bei Leuten, die sich aktiv um
CHAOSultd bemhen, sei es durch Fehlermeldungen, Routinen, verbesserte
Dokumentation (Hilfstexte) usw.
Wie also kommt man an eventuelle neue Versionen von CHAOSultd.
Erste Mglichkeit sind PD-Versender, ich gehe davon aus, dass CHAOSultd
gem wie CHAOSultd V5.0x Aufnahme in die ST-Computer PD-Sammlung
findet, und werde dort auch Updates abliefern.
Gnstiger ist die zweite von mir selbst untersttzte Mglichkeit, CHAOSultd
gem  und  kommende  Updates  via  Internet  zu  beziehen.  Gnstiger,  weil  es
nichts kostet und weil Updates dort wesentlich schneller verfgbar sein wer-
den (V6.01 ist noch immer nicht in der PD-Sammlung verffentlicht). Inter-
net ist ein Internationales Netzwerk, an das bespielsweise 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.5  In  Stuttgart  findet  man  das  Programm  (bis-
    5______________________________________________
     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 die Betreuer der beiden Server Stefan
Haake (Stuttgart) und Wolfgang Ley (Clausthal).
P.S. Suttgart musste zuletzt auf Updates verzichten, weil der File-Transfer
irgendwie gestrt war; jedenfalls ist mir der Rechner, von dem aus ich bert-
6   FEHLER (UND WAS MAN DAFR HALTEN KNNTE)               9

her)  im  Verzeichnis  SOFT/ATARI/APPLICATIONS/MATH  in  Clausthal
in /PUB/ATARI/GRAPHICS/FRACTALS.

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 getestet6  und es luft. Das Programm
ist  soweit  mglich  fehlertolerant,  sollte  also  auch  bei  Fehlbedienung  nicht
gleich schlappmachen7 .



6.1      eliminierte  Fehler


siehe hierzu ebenfalls die Dateien CHANGES.TXT und CHNG_ALT.TXT.



6.2      bekannte  Fehler


Einige  kleinere  Macken,  die  sich  nicht  so  einfach  beheben  lassen,  sind  mir
schon bekannt:


    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 in 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.)

        Dies gilt gegebenenfalls auch an anderen Stellen, an denen Ausgaben
        im kleinen Zeichensatz gemacht werden.
     ______________________________________________
ragen habe nach einiger Zeit abgestrzt (natrlich ein DOSen-Rechner). Ich
hoffe aber, dass ich das demnchst doch auch noch hinkriege, und dann liegt
auch in Stuttgart wieder eine neue Version.
    6naja man sollte das nicht zu wrtlich nehmen, die weiteren Tests knnt

ja jetzt ihr bernehmen
    7allerdings  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)              10

    o   wird die (angezeigte) Berechung eines Bildes fr ein Berechnungsinfo
        unterbrochen (Space-Taste) und kann fr den Info-Dialog der Hinter-

        grund nicht gespeichert werden, so wird das Bild danach nicht wieder
        angezeigt sondern der Bildschirm gelscht. Die korrekte Erzeugung des
        Bildes ist davon nicht betroffen, nur die unmittelbare Ausgabe auf den
        Bildschirm whrend des Berechnens.


    o   bereits seit V5.0x gibt es einen Fehler bei den frei-definierten Fracta-
        len,  der  auch  in  CHAOSultd  gem  V6.40   erhalten  blieb  (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 Ergebnis-
        se, je nachdem ob man mit der schnellen oder der exakten Berechnung
        arbeitet.

        This is not a feature, this is a bug!

        Das  Ganze  hat  vermutlich  folgenden  Hintergrund:  die  Routinen  zur
        Berechnung freier Fractale ignorieren Fliesskommafehler jeglicher Art,
        insbesondere auch berlufe8 .

        Verwendet  man  nun  die  'xor'-Verknpfung,  so  wird  die  Berechnung
        nicht  abgebrochen,  falls  beide  Bedingungen  erfllt  sind9 ,  so  dass  es
        leicht  zu  einem  berlauf  kommen  kann  (das  kann  man  sich  im  De-
        bugger auch anschauen). Anscheinend reagieren die beiden verschiede-
        nen Fliesskomma-Routinen nun bei und nach dem berlauf anders, so
        dass  sich  verschiedene  Resultate  ergeben.  Dabei  ist  das  Ergebnis  der
        schnellen Berechnungsroutine dasjenige, das (logischen berlegungen
        folgend, d.h.  vielleicht) richtiger ist - richtiger insofern, als hier trotz
        der Fliesskomma-berlufe die Punkte als unendlich tief erscheinen.


Weitere  bekannte  Fehler  sind  gegebenenfalls  in  der  Datei  ERRORS.TXT
beschrieben.



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
installiert10 .
Wer einen Fehler findet, darf ihn zunchst einmal behalten.
Sollte  der  Fehler  reproduzierbar  sein,  so  wre  ich  darberhinaus  fr  eine
ausfhrliche  Beschreibung  des  Fehlers  und  seiner  Erzeugung  dankbar  (be-
halten muss man ihn natrlich trotzdem erst mal, es besteht dann aber eine
Chance, dass ich ihn eliminiere).
    8______________________________________________
     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
    9wenn man an dieser Stelle u"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
   10darberhinaus  soll  diese  Bemerkung  natrlich  zur  Verbreitung  von

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

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

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.
Der  Autor  behlt  sich  darberhinaus  von  Rechtschreibregeln  abweichende
(also  falsche)  Schreibweisen  vor,  soweit  die  Worterkennung  dadurch  nicht
beeintrchtigt wird12 .
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  (was  jetzt  erst,  nach  so  vielen  Sei-
ten) jedem die Lektre der Anleitung nahelegen (auch wenn sie recht lang
geworden ist). Man sollte sie wenigstens mal berflogen haben, da das Pro-
gramm zwar mehr oder weniger konsequent in GEM eingebunden ist, viele
der  Mglichkeiten  und  Details  des  Programmes  aber  nicht  sofort  ersicht-
lich sind. (Insbesondere verletzte ich mit Vorliebe GEM-Benutzerfhrungs-
Richtlinien, belege Mens doppelt und dreifach usw.).
Die  Anleitung  entstand  unter  Verwendung  von  Teilen  der  Anleitung  von
CHAOSultd  V5.0x,  teilweise  wrtlich  wie  etwa  der  letzte  oder  der  folgen-
de Absatz. Wer CHAOSultd V5.0x kennt, kann die Anleitung sicherlich sehr
viel schneller lesen, sollte die Anleitung aber trotzdem durchsehen. Den letzte
Teil der Anleitung von V5.0x - Dateiformate und Schnittstelle fr die exter-
nen Routinen - gibt es jetzt als eigenen Text, siehe Abschnitt 5.2. Ausserdem
wurde die Anleitung ursprnglich fr Version 6.00 geschrieben und dann fr
Version 6.10 und jetzt V6.31 u"berarbeitet (wer also schon mit V6.01 oder
V6.10 gearbeitet hat, muss nicht die ganze Anleitung lesen, fr den ist die
Datei CHNG_ALT.TXT sicher gnstiger.
Im Gegensatz zu frheren Versionen ist diese Version papiersparend gesetzt
(Leser der Ascii-Version merken davon natrlich nichts). Ich hoffe, das wirkt
sich nicht zu negativ auf die Lesbarkeit aus.

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
lesen, wobei die Fractal-Routinen wohl am ausfhrlichsten beschrieben sind.
Bei den anderen Routinen wird ihre Kenntnis teilweise vorausgesetzt.
   11______________________________________________
     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
   12ich schreibe Standart weiter mit t auch wenns noch so falsch ist. (Doof,

nicht?)
7   ZU DIESER ANLEITUNG                                                         12

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, auch
DATEIEN werden hervorgehoben. (Leser der Ascii-Version dieser Anleitung
haben davon leider garnichts.)



Weiterfhrende  Literatur


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.  Peitgen,  D.  Saupe  (Hrsg),  The  Science  of  Fractal  Images,  Springer
Verlag 1988
Benoit B. Mandelbrot, Die fractale Geometrie der Natur, Birkhuser 1987
                                                                                         13

Teil  I

CHAOSultd  gem



1      Allgemeine  Bedienungshinweise


1.1      Hinweise  zum  Betrieb


Es ist wenig ratsam, CHAOSultd gem auf einem 8Mhz ST ohne Bildschirm-
beschleuniger einzusetzen. (Es ist u"berhaupt wenig ratsam, einen ST ohne
Bildschirmbeschleuniger  zu  betreiben.)  Wer  es  doch  tut  ist  selber  schuld
und muss eben geduldig sein. Ich selbst verwende NVDI, und musste (leider)
CHAOSultd speziell daran anpassen, da NVDI (V2.01) offenbar das Arbeiten
mit Bitmaps, die mehr Bildebenen besitzen als der Bildschirm, nicht mag.
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) erzeugt,
dann  kann  schon  das  blosse  Anzeigen  von  Bildern  mehrere  Sekunden  vom
Aufrufen der Funktion bis zum ffnen des Fensters (oder Umschalten des
Bildschirms)  dauern.  Schliesslich  muss  das  Bild  erst  entpackt  werden  etc..
Um solche Aktionen anzuzeigen verwendet CHAOSultd neben Info-Dialogen
(beim  Laden,  Speichern,  Drucken,  Konvertieren  und  (verdeckten)  Berech-
nen) auch den Mauszeiger: beim Laden und Speichern wird eine stilisierte
Diskette, beim Drucken ein (weniger gut erkennbarer) Drucker, beim Berech-
nen ein Taschenrechner, beim Holen und Ablegen von Bildern eine Uhr und
beim  Konvertieren  ein  Rechteck  mit  Graustufen  angezeigt.  In  allen  diesen
Fllen ist mehr oder weniger viel Geduld ntig.
Generell ist es ratsam, erstmal kleinere Bilder zu erzeugen und dann (even-
tuell)  schrittweise  zu  grossen  Bildern  berzugehen.  Dabei  sollte  man  stets
bedenken, dass der Speicherbedarf und (meist) auch 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.



1.2      Booten  des  Programmes


Wird CHAOSultd gem gestartet13 , 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 das Objekt-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 knnen nicht aufgerufen werden, bleiben aber im Speicher
stehen  (man  sollte  also  die  Ursache  der  Fehlinitialisierung  beseitigen  oder
die Routine weglassen).



1.3      Speicherverwaltung


CHAOSultd besitzt eine eigene Speicherverwaltung, zu der es ein paar Dinge
zu erlutern gibt. Seit V6.40 alloziert CHAOSultd nicht mehr gleich nach dem
   13______________________________________________
     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                                   14

Booten  den  gesamten  fr  CHAOSultd  anschliessend  zur  Verfgung  stehen-
den Speicher, sondern ist in der Lage mehrere Speicherblcke zu verwalten.

Diese Mglichkeit wurde im Hinblick auf die Verwendung von CHAOSultd
in  Multitasking-Systemen  (siehe  auch  1.5)  geschaffen.  Hier  wird  jetzt  nur
noch (in etwa) soviel Speicher reserviert wie CHAOSultd gerade tatschlich
bentigt und der Restspeicher steht dem System und anderen Programmen
zur Verfgung.
Die neue Speicherverwaltung ist andererseits natrlich ein bisschen kompli-
zierter als die alte und man sollte ein paar Dinge beachten:
In den Einstellungen gibt man neben der Grsse des Speichers, den CHAOS-
ultd  beim  Belegen  von  Speicher  frei  lassen  soll  (Angabe  jetzt  in  Kilobyte)
die Grsse des Speicherseiten an. nderungen (beider Angaben) wirken sich
direkt auf die Reservierung neuer Speicherseiten aus.
Speicher frei lassen sollte man so wie bisher mindestens in der Grssenord-
nung des Bildschirmspeichers.
Die Grsse der Speicherseiten hngt von mehreren Faktoren ab. Man sollte
sie  nicht  zu  klein  whlen,  da  sonst  die  Speicherfraktionierung  begnstigt
wird  (der  Speicher  zerfllt  in  viele  kleine  aber  nicht  zusammenhngende
Blcke,  grosse  Blcke  knnen  nicht  mehr  belegt  werden).  Mchte  man  den
Restspeicher  nutzen  (fr  andere  unter  Multitasking  laufende  Programme)
sollte man sie aber auch nicht zu gross whlen.
Des weiteren ist zu beachten, dass die Objekte alle in der ersten Speicherseite
(deren  Grsse  bei  Programmstart  festgelegt  wird  und  nicht  mehr  gendert
werden kann) untergebracht werden mssen, wobei ein Objekt ca. 100 Byte
belegt. Dies begrenzt unter Umstnden die Zahl der mglichen Objekte auf
weniger als die sonst theoretisch mglichen 9999.
Als Faustregel kann man wohl sagen, dass Single-Tasking-Nutzer, so sie nicht
irgendwelche  Accessories  parallel  zu  CHAOSultd  nutzen,  die  viel  Speicher
brauchen, am besten eine maximale Grsse angeben (z.B. 16000 Kilobyte).
Es wird dann eine Speicherseite angelegt, deren Grsse durch den freien Spei-
cher begrenzt ist. CHAOSultd verhlt sich dann (fast) so wie mit der alten
Speicherverwaltung.
Unter Multitasking gilt es einen Kompromiss zu schliessen, wobei man sich
auch an der Grsse der zu verwaltenden Speicherblcke, die wiederum durch
die Grsse der Bilder bestimmt ist, orientieren sollte. Bei Bildgrssen um 32
Kilobyte  (ST-Screen-Grssen)  sind  Speicherseitengrssen  von  128-256  Kilo-
byte  brauchbar,  berechnet  man  stndig  grssere  Bilder,  so  sollte  man  die
Seitengrsse grsser whlen.
Generell  kann  CHAOSultd  auch  Speicherblcke  verwalten,  die  grsser  als
die  Seitengrsse  sind,  diese  werden  direkt  vom  TOS  angefordert.  Damit
begnstigt man aber wieder die Speicherfraktionierung.
Noch  eine  Einschrnkung  zur  Objektverwaltung:  alle  Objekte  werden  wie
gesagt in der ersten Speicherseite verwaltet. Ist dort kein Speicher mehr frei,
und kann dort kein freier Speicher geschaffen werden, indem Speicherblcke
in  andere  Speicherseiten  verschoben  werden,  so  sind  keine  Objekte  mehr
mglich. (Dies kann auch dann passieren, wenn nach freier Speicher angezeigt
wird!).
Im Gegensatz zur frheren Version der Speicherverwaltung werden Garbage-
Collections  nicht  mehr  durch  Gongs  angezeigt  (sie  treten  jetzt  auch  viel
hufiger auf).



Speicherinfo


Der belegte und (intern) freie Speicher wird in der Info-Zeile des Objektfen-
sters angezeigt (s.u.).
Ein detailiertes Speicherinfo kann man mit dem Menpunkt Speicher-Info im
Optionen-Men aufrufen.
Angezeigt wird,
wieviel Speicher von CHAOSultd belegt wurde und zwar zum einen in Spei-
cherseiten und zum anderen direkt (fr Blcke, die grsser als eine Speicher-
1   ALLGEMEINE BEDIENUNGSHINWEISE                                   15

seite sind).
wieviel Speicher in den Speicherseiten noch frei ist.

wieviel  Speicher  von  den  Objekten  belegt  wird  und  zwar  aufgeteilt  nach
Speicher fr die Objektstrukturen selbst, fr Parameter (bei Filmen: Film-
daten),  fr  zustzliche  Parameter  und  fr  Bilddaten  (incl.  Farbtabellen).
Ausserdem wird die Summe dieser Grssen angegeben. Angeben werden im-
mer die Daten fr alle und alle selektierten Objekte. Bei den Objekten wird
zunchst  deren  Anzahl  angeben;  in  Klammern  wird  angezeigt,  fr  wievie-
le Objekte tatschlich Speicher reserviert ist (CHAOSultd hlt meist Platz
fr neue Objekte bereit, da CHAOSultd den Objektstrukturspeicher in 16er-
Blcken  reserviert  und  beim  Freigeben  einen  16er-Block  fr  neue  Objekte
zurckhlt). Die Angabe des Speichers fr die selektierten Objekte entfllt
aus Platzgrnden. Bei den anderen Angaben wird zunchst die Summe der
Speicherblcke aller bzw. aller selektierten Objekte, dann die durchnittliche
Grsse angegeben.
wieviel Speicher ansonsten belegt ist. Hierunter fllt der fr Anzeigefenster
belegte Speicher ebenso, wie verschiedene Datenpuffer, die nicht unbedingt
bentigt werden (Beispielsweise eine Quadrattabelle, die die Fractalroutinen
zur  Berechnung  anlegen,  und  die  so  nicht  jedesmal  neu  berechnet  werden
muss).
der freie Speicher und zwar sowohl der innerhalb der belegten Speicherseiten
wie der des Systems (Summe aller Speicherblcke des Systems!).
Die Box kann man mit drei Button verlassen: Ok verlsst die Box ohne wei-
tere Folgen, GarbColl verlsst die Box und lst dabei eine GarbageCollection
(GC) aus, das heisst alle (intern leeren) Speicherblcke werden zusammen-
gefasst. (Vorwiegend fr Testzwecke vorhanden, eigentlich nicht ntig. CHA-
OSultd fhrt eine GC wenn ntig von selbst aus) freigeben verlsst die Box,
gibt Speicher frei, in dem (entbehrliche) Daten gepuffert sind (solche Daten
wrden  unter  sonstiges  mitgezhlt)  und  lst  eine  GC  aus  (der  Aufruf  ist
ebenfalls  nicht  ntig,  solcher  Pufferspeicher  wird  bei  Speichermangel  auch
automatisch freigeben14 ).



1.4      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 Vorteile 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 es an, so kann man den Dialog auf dem Bildschirm
verschieben. Dies lohnt sich vor allem auf Grossbildschirmen, oder (gelegent-
lich) wenn der Dialog etwas verdeckt (wobei dann aber meist kein Platz ist,
den Dialog weit genug wegzuschieben). Mit Shift-Klick auf das Eselsohr wird
der Dialog 'durchsichtig', d.h. es wird nur noch ein Rahmen angezeigt, den
man verschieben kann. Man kann einstellen, ob Dialoge jedesmal beim Auf-
rufen zentriert werden sollen oder ob sie an der alten Stelle erscheinen sollen
(vgl. Einstellungen, 6.1).
Des weiteren sind MyDials weitgehend tastaturbedienbar. Viele Button kann
man anwhlen, indem man den in ihnen unterstrichenen Buchstaben zusam-
men 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
   14______________________________________________
      mit einer Einschrnkung: zur Schaffung von Platz fr Objekte knnen
solche Speicherblcke nicht freigegeben werden, wenn sie in der ersten Spei-
cherseite liegen
1   ALLGEMEINE BEDIENUNGSHINWEISE                                   16

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 zu 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  Multitasking-Betriebssystem  verwendet
(s.u.). Ohne Multitasking-Betriebssystem erlauben Fenster-Dialoge lediglich
den Zugriff auf Accessories, mit erlauben sie anderen gleichzeitig laufenden
Programmen  weiterzulaufen  und  Ausgaben  auf  den  Bildschirm  (in  eigene
Fenster natrlich) zu machen.
Nachteile  haben  Dialogfenster  auch,  die  gerade  auf  einem  altersschwachen
System wie ich es nutze (8Mhz 68k) zu bedenken 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 wer-
den muss und das braucht Zeit. Wieviel hngt natrlich von dem Fenster ab,
im  allgemeinen  nicht  ewig,  aber  doch  deutlich  lnger  als  das  Restaurieren
des  Hintergrundes  von  normalen  Dialogen,  wo  der  Hintergrund  (gengend
Speicher vorausgesetzt, s.o.) zwischengespeichert wird, und so von der Dia-
logroutine selbst restauriert werden kann, was erheblich schneller geht.



1.5      CHAOSultd  und  Multitasking


CHAOSultd kann unter premtpiven Multitasking-Systemen (fast) ohne Ein-
schrnkung betrieben werden. Premptives Multitasking ist im Gegensatz zu
kooperativem Multitasking zu sehen, das von CHAOSultd nicht untersttzt
wird. Auf dem ST (TT, Falcon) stehen mit Mag!X 2.0 und MultiTos premt-
ptive Multitasking-System zur Verfgung. Mag!X 1.x und MultiGEM bieten
nur kooperatives Multitasking. (Ich habe nur Mag!X 2.0. Mit MultiTos habe
ich nichts getestet.)
Vielleicht  die  eine  Einschrnkung  zuerst:  bei  der  (verdeckten)  Berechnung
von Bildern (und manchen sonstigen Aktivitten von CHAOSultd, die durch
einen Info-Dialog angezeigt werden) kmmert sich CHAOSultd nur relativ
selten  um  GEM-Messages  wie  Fenster  neu  zeichnen,  Fenster  verschieben,
Fenster nach oben holen etc.. Genaugenommen immer nur dann, wenn auch
die Tastaturabfrage erfolgt (etwa zum Beenden der Berechnung).15  Dies ist
nicht so tragisch, hat aber zur Folge, dass das Programm nur etwas zgerlich
   15______________________________________________
     bei kooperativem Multitasking ist diese zugleich die einzige Mglichkeit
zum Prozesswechsel. Da diese eben ein bisschen selten eintritt ist kooperatives
Multitasking fr CHAOSultd nicht sinnvoll.
1   ALLGEMEINE BEDIENUNGSHINWEISE                                   17

(womglich auch sehr verzgert) auf Fensteraktivitten reagiert. (Wenn man
versucht  ein  Fenster  zu  verschieben,  dann  springt  das  Fenster  womglich

erst  ettliche  Sekunden  nach  dem  Verschieben  an  die  neue  Position.)  Hier
ist  einfach  Geduld  gefordert.  (Die  Alternative,  stndiges  Nachfragen  nach
GEM-Messages, wre recht aufwendig zu implementieren und wrde die Be-
rechnung verlangsamen.)
Eine  zweite  kleine  Unschnheit:  whrend  der  Darstellung  von  Dialogen
(in  Fenstern)  wird  das  Men  gesperrt,  indem  alle  Men-Titel  (ausser  dem
Accessory-Men)  disabled  werden,  was  aber  nicht  angezeigt  wird.  Durch
Prozesswechsel unter Mag!X (MultiTos??) kann es sein, dass diese Menlei-
ste (grau) dargestellt wird. Nach Beenden des Dialoges wird die Menleiste
wieder enabled und dargestellt. (Gilt auch fr Info-Dialoge.)
Wer Multitasking verwendet, sollte auch Fenster-Dialoge whlen. Fr die An-
zeige von (nicht-Fenster-)Dialogen, (nicht-Fenster-)Info-Dialogen, die Ganz-
seitenanzeige von Bildern und fr die Anzeige der Berechnung wird nmlich
der gesammte Bildschirm durch CHAOSultd reserviert. Andere Programme
knnen solange keine Bildschirmausgaben machen (wieweit sie dann weiter-
laufen knnen hngt von den Programmen ab). Deshalb die Fenster-Dialoge.
Bei der Berechnung sollte man sich fr die verdeckte Berechnung entschei-
den.



1.6      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, das erste angezeigte Objekt (falls gescrollt wurde), die Zahl
        der  selektierten  Objekte,  der  belegte  und  der  (intern)  freie  Speicher
        angezeigt (die letzte Angabe ist natrlich mit der neuen Speicherver-
        waltung nicht sehr aussagekrftig)


    o   Anzeigefenster fr ein oder mehrere Bild-Objekte (im folgenden Bild-
        Fenster genannt)
        im  Titel  des  Fensters  wird  der  Name  des  gerade  angezeigten  Bildes
        genannt


    o   Anzeigefenster  fr  Bildvergleiche/Blcke/Konstante  (im  folgenden
        Anzeige-Fenster genannt)
        Anzeige-Fenster unterscheiden sich von Bild-Fenstern dadurch, dass sie
        nicht direkt ein Bild-Objekt darstellen. Bei Blcken/Konstanten liegt
        zwar ein Bild zugrunde, in diesem sind aber zustzliche Linien einge-
        zeichnet.  Anders  als  Bild-Fenster  gibt  es  in  Anzeige-Fenstern  immer
        nur ein Bild.


        In der Infozeile von Bild- und Anzeige-Fenstern wird ein Info mit dem
        Typ und der Grsse des Originalbildes sowie der (ja mglicherweise kon-
        vertierten)  tatschlichen  Anzeige  ausgegeben.  Wahlweise  werden  bei
        Bildern, denen ein Objekt mit geeigneten Koordinaten zugrundeliegt,
        die Position des Mauszeigers und die zugehrigen Punktkoordinaten in
        der Infozeile ausgegeben, solange sich der Mauszeiger ber dem Fenster
        befindet (vgl. 4.5).


    o   Dialogfenster, die schon erklrt wurden



1.7      Objekte


CHAOSultd kennt drei Typen von Objekten:
1   ALLGEMEINE BEDIENUNGSHINWEISE                                   18

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


   2.   Bilder

        gemeint sind parameterlose Bilder, die entweder geladen oder aus der
        Anzeige von Bildern, Vergleichen etc. erzeugt wurden (vgl. 4.7).
        Bilder ohne Parameter gibt es hauptschlich der Vollstndigkeit halber,
        sie spielen im folgenden kaum eine Rolle


   3.   Filme

        Filme in CHAOSultd sind einfach geordnete Bildlisten. Sie knnen etwa
        zum Verknpfen mehrerer Bildfolgen oder zum Festlegen der Reihen-
        folge, in der bestimmte Bilder gezeigt werden sollen, dienen.


Bilder (Fraktale 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 und
fr Filme.
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 unselektierten Zustand se-
hen 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.
Ebenfalls zum Scrollen dienen die Tasten Cursor  Up und Down. Drckt man
die  Cursor-Tasten  alleine,  so  wird  zeilenweise,  bei  gleichzeitig  gedrckter
Shift-Taste, wird seitenweise gescrollt.



1.8      Selektieren  von  Objekten  im  Objekt-Fenster


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



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 knnen (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.
1   ALLGEMEINE BEDIENUNGSHINWEISE                                   19

        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 CHAOSultd kann 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
        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.


    o   um  die  Bilder  eines  Filmes  zu  selektieren  (deselektieren)  kann  man
        einen Control-Klick (Shift-Control-Klick) auf den Film ausfhren



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 (jeweils mit der linken Maustaste).
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 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
nichtleere  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; gemeint sind immer
die  angezeigten  Zeilen;  nicht  sichtbare  Objekte  knnen  via  Tastatur  nicht
selektiert werden).
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  Tasten-
druck  selektiert,  mit  Shift-Taste  deselektiert,  mit  Control  gendert  und
mit Alternate als einziges Objekt selektiert.
Die  Tastaturbefehle  fr  das  Desktop  sind  auch  in  einer  Dialogbox  zusam-
mengefasst, die man durch Drcken der Help-Taste aufrufen kann.
1   ALLGEMEINE BEDIENUNGSHINWEISE                                   20

1.9      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, die Menpunkte knnen
auch durch die im Men angezeigten Tasten aufgerufen werden.
Dennoch gibt es ein paar Besonderheiten zu beachten:
Zum einen sei hier ausdrcklich darauf hingewiesen, dass CHAOSultd einige
Menpunkte  mehrfach  belegt,  wobei  je  nach  Sondertastenstatus  zwischen
den Funktionen unterschieden wird. Dies gilt insbesondere fr die Eintrge
der Fraktal-Typen im neu-Men und die Funktion neu berechnen.
Zum anderen bei 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 unter-
scheiden,  welches  Fenster  bei  Auswahl  des  Menpunktes  gerade  aktiv  ist.
Unterschieden wird zwischen Objekt-, Bild- und Anzeige-Fenstern.
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  und  zwar  irgendwelche,  so  bezieht  sich
               die Funktion auf die selektierten Objekte (soweit sie weitere not-
               wendige Kriterien erfllen, d.h. unter Umstnden auf gar keine,
               nmlich dann wenn nur Objekte selektiert sind, die die weiteren
               Kriterien  nicht  erfllen;  in  diesem  Fall  wird  die  Funktion  ohne
               weitere Fehlermeldung abgebrochen),

               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   Bild-Fenster 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


    o   Anzeige-Fenster 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
Regeln  ab,  wegen  der  Mglichkeit  des  Shift-Klickens  kann  es  sein,  dass
Menpunkte fr normales Auswhlen inaktiv sind aber nicht gesperrt wer-
den.
Bei  Funktionen  die  sich  nur  auf  einzelne  Bilder  beziehen  existiert  die
Mglichkeit  des  Shift-Klickens  nicht,  die  Shift-Taste  (rechte  Maustaste)
wird dann einfach ignoriert.
1   ALLGEMEINE BEDIENUNGSHINWEISE                                   21

Popup-Mens

Mit  Hilfe  der  Popup-Mens  kann  man  ettliche  Funktionen  der  Menleiste
ebenfalls aufrufen.
Im  Objekt-Fenster  gibt  es  mehrere  Popup-Mens:  das  schon  besprochene
Men zum Selektieren von Objekten sowie drei Mens zum Auswhlen von
Funktionen.
Die letzten drei erreicht man durch Mausklick rechts, wobei unterschieden
wird,  ob  man  auf  ein  Objekt  klickt  oder  nicht.  Bei  Objekten  wird  weiter
zwischen  Filmen  und  Bild-Objekten  unterschieden  (deswegen  drei  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  Bild-Fenstern  und  Anzeige-Fenstern  zur
Verfgung. Beim Popup in Bild-Fenstern wird (wie bei der Menauswahl) je
nach Zustand der Shift-Taste unterschieden, ob sich die Funktion auf alle
Bilder (gedrckte Shift-Taste; natrlich nur falls berhaupt sinnvoll) oder
nur auf das aktuelle Bild beziehen soll.



1.10       Online-Hilfe


CHAOSultd  verfgt  (im  Prinzip)  ber  ein  umfangreiches  kontextsensitives
Hilfs-System.  Im  Prinzip,  weil  die  Hilfstexte  noch  nicht  geschrieben  sind,
und das Hilfs-System somit wenig hilfreich ist.
Dennoch soll das Hilfs-System hier schon einmal beschrieben werden, auch
wenn ich nicht weiss, ob und wann ich die Hilfstexte je schreibe (zumal die Re-
sonanz auf CHAOSultd so umwerfend ist16 , dass das Programm vermutlich eh
keiner ausser mir benutzt, und wofr wird dann ein Hilfs-System gebraucht).
Das Hilfs-System stellt wie gesagt zahlreiche Hilfstexte zur Verfgung und
zwar


    o   zum Desktop und


    o   zu allen Mens

        diese Hilfstexte sind ber das Keine Panik!-Men (ja, das ist jetzt ein
        Men) rechts oben zu erreichen. Den Hilfstext zum Desktop erreicht
        man auch durch Drcken der Help-Taste (dieser Hilfstext ist einer der
        wenigen Texte die schon geschrieben sind).


    o   zu jeder Dialogbox

        in   (fast)   allen   Dialogboxen   existiert   ein   Hilfe-Button,   den   man
        anklicken  kann,  den  man  aber  auch  durch  Drcken  der  Help-Taste
        aktiviert.  Im  allgemeinen  findet  sich  dieser  Button  links  unten,  bei
        Platzmangel habe ich das Hilfe bisweilen zu H verkrzt.


Nach Aufruf des Hilfs-Systems erscheint der Hilfs-Dialog, in dem der Hilf-
stext  angezeigt  wird.  Dieser  kann  aus  bis  zu  16  Seiten  bestehen,  zwischen
denen man mit den Button weiter und zurck blttern kann. Neben diesen
Button wird brigens angezeigt, welche Seite von wievielen gerade dargestellt
wird.
ber  den  Button  befindet  sich  eine  Zeile,  in  der  bis  zu  drei  Querverweise

zum  Hilfstext  angezeigt  werden,  die  man  durch  Anklicken  aufrufen  kann.
Dann wird der zu diesen Querverweisen gehrende Hilfstext geladen. Zurck
     ______________________________________________
   16CHAOSultd ist POSTCARDWARE!
2   BILDER ERZEUGEN                                                               22

zum vorherigen Hilfstext gelangt man mit dem Button voriges. Die maximale
Schachtelungstiefe von Querverweisen ist 16.

Ebenfalls wie ein Querverweis gehandhabt wird die Hilfe zur Hilfe, die man
mit  dem  Hilfe-Button  im  Hilfs-Dialog  aufrufen  kann  (dieser  Text  existiert
ebenfalls bereits).
Unabhngig von der aktuellen Schachtelungstiefe kann der Hilfs-Dialog mit
dem Button Abbruch beendet werden.



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. Das Anklicken des Menpunktes mit
gedrckter Shift- oder Control-Taste hat eine Sonderbedeutung (vgl. 6.3),
diese Sondertasten drfen also nicht gedrckt sein.
Gibt es mehr als 16 Bildtypen, so wird ein zweites Neu-Men angezeigt. Des-
sen Eintrge lassen sich genauso wie die des ersten Neu-Mens via Tastatur
ansprechen, wobei die gleichen Tasten Verwendung finden - also die des Zif-
fernblockes  -  wobei  aber  zustzlich  die  Alternate-Taste  gedrckt  werden
muss.



Einstellen des Bildformates


Zunchst wird ein Dialog dargestellt, in dem man die Zahl der zu erzeugen-
den  Bilder17 ,  den  Namen  der  Bilder  (oder  des  Bildes,  man  kann  natrlich
auch nur ein Bild erzeugen; bei der Erzeugung mehrerer Bilder werden die
Bildnamen  von  CHAOSultd  durchnummeriert,  die  letzten  Zeichen  im  Na-
men  werden  dabei  gegebenenfalls  berschrieben)  angibt,  sowie  die  Grsse
und Farbtiefe des Bildes festlegt. Letzteres geschieht ber Popup-Mens fr
die Breite, die Hhe und die Zahl der Farben (bzw. Raster)18 . 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 An-
gabe  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) angegeben.
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 Ein-
stellungen fr Breite, Hhe und eventuell Farbzahl werden entsprechend den
Parametern des gewhlten Formates gesetzt. In der Formatdefinition kann
die Farbzahl fehlen, dann wird sie auch nicht gesetzt. Der erste Eintrag dieses
Popup-Mens steht fr das gerade verwendete Bildschirmformat, es folgen
eine Reihe von mglichen anderen Formaten (einfach ausprobieren), ein nicht
anwhlbarer Eintrag unbekannt, der angezeigt wird, falls man mit der Ein-
stellung  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). (Sind nicht alle Bildgrssen und/oder Farbanzahlen
   17______________________________________________
     CHAOSultd erlaubt es Bilderfolgen zu erzeugen, bei denen nur die Pa-
rameter des ersten und letzten dieser Bilder eingegeben werden. Unter Zahl
der Bilder ist die Zahl der zwischen diesen Bildern durch Interpolation zu
erzeugenden Bilder gemeint
   18 CHAOSultd  kann  in  monochromen  Bitmaps  durch  Rasterung  5  (2x2

Raster) bzw. 17 (4x4 Raster) Graustufen erzeugen
2   BILDER ERZEUGEN                                                               23

mglich,  so  werden  die  Parameter  nach  Wahl  eines  Formates  automatisch
angepasst.)

Unter dem Format-Popup wird angezeigt, wieviel Speicher (intern) noch frei
ist, wieviel Speicher ein Bild des gewhlten Formates bentigt und wieviel
Speicher  alle  Bilder  zu  berechnenden  Bilder  brauchen  wrden;  dabei  wird
der Speicherplatzbedarf ungepackter Bilder zugrundegelegt, d.h. die Bilder
belegen,  falls  sie  gepackt  werden,  letztenendes  weniger  Speicherplatz.  Die
Anzeige  wird  nach  der  Anwahl  eines  der  Popup-Mens  aktualisiert,  man
kann dieses Aktualisieren auch durch Anklicken der Anzeige erreichen. Falls
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.
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.



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-
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,
2   BILDER ERZEUGEN                                                               24

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

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)19 .  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 Anwender
gefragt. Man sollte deshalb immer zuerst die Zahl der Farben einstellen (und
dann konstant lassen; Vorsicht beim Whlen eines Formates) 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      Eingabehilfen

bernahme von Daten aus bestehenden Objekten


Bei der Einstellung des Bildformates und der Farbtabelle, aber auch bei der
Eingabe von Fraktal-Parametern, ist es mglich, die Daten aus einem schon
bestehenden Objekt zu bernehmen, bei Fraktal-Parametern kann man auch
Blcke oder einzelne Punktkoordinaten in Bildern mit der Maus markieren
(soweit die Berechnungsroutinen dies unterstzen).
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 sich selbst heraus
nochmal aufzurufen (wenn man etwa die Bildparameter und dann den Farb-
selektor aufruft, kann man die Funktion holen nicht aufrufen).
     ______________________________________________
   19die 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                                                               25

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.
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.
(Bisher) nur beim Edieren von Filmen (vgl. 3.1) ist auch die Angabe eines Be-
reiches von Objekten mglich, analog zum Selektieren eines Objektbereiches.
So wie dort, klickt man zunchst ein Objekt mit gedrckter Shift-Taste an
- dieses Objekt ist dann der Anfang des Bereiches; ebenso wie beim Selektie-
ren wird der Mauszeiger als zeigende Hand dargestellt (CHAOSultd weiss ja
auch noch gar nicht, ob man einen Bereich selektieren oder auswhlen will).
Doppelklickt man jetzt auf ein Objekt, so wird dieses als Ende des Bereiches
erfasst und der Bereich ist ausgewhlt. Dabei wird die Reihenfolge der bei-
den Objekte beachtet, d.h. der Bereich beginnt bei dem zuerst angeklickten
Objekt  und  endet  beim  zweiten,  auch  wenn  das  zweite  in  der  Objektliste
weiter vorne steht.

Blcke werden ausgewhlt, indem man in ein Bild-Fenster klickt. Damit star-
tet man die Blockdefinition. Der Block kann jetzt mit der Maus und/oder Ta-
statur festgelegt werden. Zur Mauseingabe gibt es drei (zwei) Modi, zwischen
denen mit der linken Maustaste weitergeschaltet wird. Im ersten Modus legt
man  die  Grsse  des  Blockes  fest,  wobei  man  die  Blockhhe  nur  festlegen
kann, wenn man beim Starten des Blockfestlegens die Shift-Taste gedrckt
hatte. Andernfalls wird die Blockhhe so festgelegt, dass das Verhltnis von
Blockhhe zu Breite dem der Bildgrsse entspricht.
Im zweiten Modus kann man den Block verschieben, im dritten den Block
rotieren, wenn dies vom Fraktaltyp untersttzt wird (bisher nur Fractale).
Der jeweilige Mausmodus wird - zusammen mit den Blockkoordinaten und
dem  Winkel  -  in  der  Infozeile  des  Fensters  angezeigt,  wobei  gr  fr  Grsse

ndern,  pos  fr  Position  ndern  und  rot  fr  Winkel  ndern  steht.  Ist  der
Winkel ungleich 0, so sind die Blockkoordinaten so zu verstehen, dass sie ein
Rechteck angeben, das noch um seinen Mittelpunkt mit dem angegebenen
Winkel gedreht wird. Die linke obere Ecke hat nach dieser Drehung natrlich
andere Koordinaten als das angegebene minimale x und y.
Beendet wird die Blockdefinition mit der rechten Maustaste, wobei ein Ein-
fachklick 'Ok' und ein Doppelklick 'Abbruch' bedeutet.
Mit der Tastatur kann der Block unabhngig vom Mausmodus verschoben,
skaliert und gedreht werden.
Mit den Ziffernblock-Tasten 4, 6, 8 und 2 sowie mit den Cursortasten kann
der Block nach links, rechts, oben oder unten verschoben werden. Mit ( und
) sowie + und - kann man die Blockbreite bzw. -hhe verndern, letzteres
natrlich nur, wenn das Seitenverhltnis beliebig ist. Mit den Tasten 0 und
. kann man den Block rotieren (falls mglich). (Es sind jeweil die Tasten auf
dem Ziffernblock gemeint).
Die jeweilige nderung ist klein, wenn man die Taste allein drckt, mittel bei
gedrckter Shift-Taste und (relativ) gross bei gedrckter Alternate-Taste.
Undo bricht ab, Return und Enter bernehmen den Block.
Whlt man einen Block in einem bereits gedrehten Bild aus, so ist zu be-
achten, dass der Block zunchst immer erst ungedreht (Winkel 0 Grad) auf-
gezogen  wird,  d.h.   der  Block  erscheint  relativ  zum  Bild  gedreht  (weil  er
ja zurckgedreht werden muss). Beim Verschieben wird die Mausbewegung
bzw. die Tastatureingabe so transformiert, dass eine Bewegung nach rechts
auch  den  Block  auf  dem  Bildschirm  nach  rechts  bewegt.  Bei  gestauchten
Bildern, bei denen das Verhltnis von Bildbreite zu -hhe stark von entspre-
chenden  Verhltnis  der  maximalen/minimalen  Koordinaten  abweicht  wird
die Verschiebung in x bzw. y-Richtung entsprechend skaliert.
Blockauswahl ist nicht in allen Bildern mglich, da nicht immer eine Zuor-
dung  der  Bildpunkte  zu  Koordinaten  mglich  ist  (beispielsweise  nicht  bei
2   BILDER ERZEUGEN                                                               26

3d  Fractalen;  ebensowenig  bei  geladenen  parameterlosen  Bildern).  Blcke
knnen  allerdings  nicht  nur  in  Bild-Fenstern,  sondern  auch  in  Anzeige-

Fenstern  bei  Block-  oder  Konstanten-Anzeigen  ausgeschnitten  werden,  sie
beziehen sich dann auf das zugrundeliegende Bild (vgl. 4.3 und 4.4). Prinzi-
piell nicht mglich ist das Ausschneiden von Blcken aus Bildvergleichen.

Koordinaten eines Bildpunktes whlt man durch Doppelklick in ein Bild aus,
wobei die gleichen Einschrnkungen wie bei Blcken gelten.
Abbrechen kann man die Auswahl von Daten durch einen Doppelklick ins
Objektfenster, neben ein Objekt.
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.



Laden aus Parameterdateien


Bei  einigen  Fraktal-Typen  (IFS,  L-Systeme)  knnen  Teile  der  Parameter
aus  Dateien  geladen  werden,  wobei  die  Parameterdateien  jeweils  mehrere
Parameterstze enthalten.
Zu diesem Zweck gibt es eine Parameter-Auswahlbox, deren Bedienung im
folgenden erlutert werden soll.
Nach dem ersten Aufruf einer solchen Lade-Funktion erscheint zunchst der
Dateiselektor, in dem man eine Parameterdatei angeben muss. Bei weiteren
Aufrufen kann die Datei vom letzten Mal noch im Speicher vorhanden sein,
so dass dieser Schritt unter Umstnden entfllt.
Die Datei wird eingelesen und eine Tabelle mit den Parameterstzen erzeugt.
In  der  Auswahlbox  werden  nun  in  einem  ziemlich  grossen  Feld  (4x16  oder
so) die Parameterstze angezeigt. Sind mehr Parameterstze vorhanden, als
auf  einmal  angezeigt  werden  knnen,  so  werden  mehrere  Seiten  verwaltet,
zwischen denen man mit zwei Button hin und herschalten kann.
Ansonsten hat man die Mglichkeit, einen Parametersatz auszuwhlen, in-
dem man ihn anklickt (fhrt unmittelbar zum Verlassen der Auswahlbox),
eine neue Parameterdatei zu laden (Laden) oder die Auswahlbox ohne Wahl
zu verlassen (Abbruch). Der Name der geladenen Parameterdatei wird zwi-
schen den Scrollbutton und dem Lade-Button angezeigt.



2.3      Berechnung  von  Bildern


Berechnungsmodi


Es  gibt  zwei  grundstzlich  verschiedene  Berechnungsmodi  in  CHAOSultd
gem. Im einen wird auf dem (gesamten) Bildschirm das Ergebnis der lau-
fenden  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. Wichtig fr Multitasking-User: wird der
Info-Dialog  nicht  in  ein  Fenster  gelegt,  so  wird  durch  ihn  der  ganze  Bild-
schirm fr GEM-Ausgaben gesperrt!
Beim  Mitzeichnen  auf  den  Bildschirm  wird  das  Bild  in  die  Bildmitte  zen-
triert,  solange  es  kleiner  als  der  Bildschirm  ist;  ist  es  grsser,  so  wird  die
linke obere Ecke angezeigt.
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 (V2.01). Macht man das
Ganze  in  mittlerer  Auflsung  (aber  mit  zweifarbigem  Fraktal),  dann  wird
von  den  gepufferten  Punkten  immer  nur  einer  gezeichnet  (betrifft  nur  die
Bildschirmdarstellung; intern wird das Bild korrekt erzeugt). Dieser Fehler
2   BILDER ERZEUGEN                                                               27

liegt nicht bei CHAOSultd (er verschwindet, wenn man NVDI rausschmeisst),
am  einfachsten  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 Esc-Taste kann man die Berechnung des aktuellen Bil-
des abbrechen. Hlt man gleichzeitig die Shift-Taste gedrckt, so werden
eventuell noch folgende Bilder nur noch erzeugt, ihre Berechnung aber nicht
mehr  begonnen.  Die  Alternate-Taste  bewirkt,  dass  werden  weitere  Bilder
auch  nicht  mehr  erzeugt  werden  (wobei  vorher  eventuell  noch  nachgefragt
wird, ob man dies wirklich will). Achtung! Der Sondertastenstatus wird nicht
beim  Tastendruck  selbst  registriert,  sondern  die  Sondertaste  muss  bis  zum
tatschlichen Abbruch gedrckt 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 Verlassen des Info-Dialoges mit Abbruch
kann  man  die  Berechnung  abbrechen,  wobei  die  Sondertasten  wie  bei  Esc
wirken.
Im Zusammenhang mit dem Berechnungsinfo ist noch eine kleine Unzulng-
lichkeit von CHAOSultd zu konstatieren: wird das Berechnungsinfo beim Be-
rechnen mit Anzeige aufgerufen und ist CHAOSultd (genauer MyDial) nicht
in  der  Lage,  den  Hintergrund  zu  puffern,  so  wird  dieser  nicht  restauriert,
sondern der Bildschirm schlicht gelscht (Auf das zu berechnende Bild hat
das natrlich keinen Einfluss), anschliessend werden nur die neu berechneten
Punkte ausgegeben.



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 wei-
terzuberechnen, so kann er bei Berechnungsabbruch das Bild fr fertig er-
klren; einige Routinen erlauben dies auch durch den Benutzer zu erzwingen
(z.B. Hpfer). weiter lsst sich in diesem Fall natrlich nicht mehr verwenden.
Wird  das  Bild  mit  Anzeige  berechnet,  so  wird  das  bisher  berechnete  Bild
ebenfalls  angezeigt.  Reicht  der  Speicher  fr  diese  Anzeige  nicht,  so  unter-
bleibt diese Anzeige und man sieht nur die neu erzeugten Punkte. Dies ge-
schieht ohne Fehlermeldung.
Bei bergrossen, zeilenweise berechneten Bildern wird beim Aufruf von weiter
der beim Berechnen angezeigte Bildausschnitt angepasst. Dieser wird solange
nach  unten  verschoben,  bis  das  restliche  Bild  (in  der  Hhe)  ganz  auf  den
Bildschirm passt. Bis dahin erfolgt die Anzeige der Berechnung so, dass die
erste neu berechnete Zeile jeweils die oberste ist.



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,  indem  man  die  Button  links  von  den
2   BILDER ERZEUGEN                                                               28

Parametern  selektiert.  Zum  anderen  kann  man  die  Box  statt  mit  Ok  mit
zwei anderen Button verlassen, nmlich Neu und berschr., wobei der erste

Button  bedeutet,  dass  vernderte  Bilder  neu  erzeugt  werden20 ,  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 untersttzen21 , eine Dialogbox
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. (Die Funktion kann auch teilweise untersttzt wer-
den, in dem Sinne, dass eine nderung der Parameter nicht mglich ist, und
es somit auch keine Dialogbox zu diesem Zweck gibt, dass aber nderungen
des Bildformates mglich sind.)
Nach  Eingabe  der  zu  ndernden  Parameter  werden  die  Bilder  mit  den
genderten Parametern (soweit ntig) neu berechnet.



2.5      extended  Neu,  Block,  . . .


(eine blde berschrift, aber was blderes ist mir nicht eingefallen)

Neben  der  Mglichkeit  Bilder  mit  genderten  Parametern  neu  berechnen
zulassen, indem man die Funktion Neu berechnen aufruft, gibt es fr einzelne
Bilder noch eine Alternative.
Man ruft dazu Neu berechnen auf, wobei nur ein Fraktal angesprochen sein
darf, und drckt dabei die Control-Taste. Man landet dann nicht in dem
Mens fr neu berechnen, sondern in denen fr das Erzeugen neuer Bilder
des entsprechenden Bildtypes, wobei aber die Daten des Fraktals voreinge-
stellt werden. Man kann so alle Parameter - und nicht nur die im Neu-Dialog
vorgesehenen - ndern und anschliessend das Bild erzeugen. Dabei wird das
Bild stets neu erzeugt (und zwar mit dem in den allgemeinen Parametern
angegebenen Namen; voreingestellt ist dafr der Name des Bildes, das selek-
tiert war), berschreiben ist nicht mglich. Der Effekt ist damit der gleiche,
als htte man das Berechnen von Bildern dieses Types aufgerufen, und dann
in den allgemeinen Parametern wie in den speziellen Fraktalparametern mit
der Funktion Daten holen die Daten des Bildes bernommen. Allerdings ist
der Aufruf ber Neu berechnen doch um einiges einfacher.
In analoger Weise kann man auch Blcke ausschneiden oder Konstanten fr
Bilder vorgeben.
Dazu markiert man einfach in einem Bild- oder Anzeige-Fenster bei gedrck-
ter  Control-Taste  einen  Block  oder  eine  Konstante  (Doppelklick)  analog
zum Holen von Daten. Anschliessend geht es weiter wie bei 'extended Neu'.
Noch eine Anmerkung: einige der Berechnungsroutinen unterscheiden beim
Holen von Daten zwischen der bernahme aller Daten und der nur eines Tei-
les (z.B. Fractale). Diese Unterscheidung gibt es auch hier, wobei zum Un-
terschieden (wie beim Holen der Daten) die Shift-Taste dient. Ohne Shift
     ______________________________________________
   20natrlich nur, wenn ihre Parameter wirklich verndert wurden
   21mglicherweise  auch  -  wie  bei  Fractalen,  s.u.  -  fr  mehrere  Bildtypen

gemeinsam
3   BILDER VERWALTEN                                                             29

werden alle Daten bernommen. Der Status der Shift-Taste wird entweder
unmittelbar vor oder alternativ nach der Eingabe der allgemeinen Parameter

herangezogen. Die Mglichkeit, die Shift-Taste vor der Eingabe der allge-
meinen Parameter zu drcken entfllt bei extended Neu im allgemeinen, da
dann ja Neu fr alle Objekte und nicht nur fr das eine selektierte Objekt
aufgerufen wrde (eine bedauerliche Doppeldeutigkeit der Bedienung).
Weitere Anmerkung: die Mglichkeiten des extended Neu werden von allen
Routinen,  die  auch  das  bernehmen  von  Daten  ermglichen,  untersttzt,
derzeit also von allen (auch wenn die Routine neu berechnen selbst gar nicht
untersttzt).



3      Bilder  verwalten


Die weiteren Eintrge im Extra-Men dienen im weitesten Sinne der Verwal-
tung der Bilder (zum Menpunkt neues Objekt siehe 4.7).



3.1      Film  edieren


Dieser Menpunkt dient dem Erzeugen neuer Filme und dem ndern beste-
hender Filme gleichermassen.
Wie schon gesagt, sind Filme in CHAOSultd einfach geordnete Listen von
Bildern.
Ein neuer Film wird erzeugt, indem man den Menpunkt ohne selektierten
Film  aufruft.  In  einer  Dialogbox  kann  (muss!)  man  dann  den  Filmnamen
eingeben. Ist bei Aufruf der Funktion genau ein Film selektiert, so kann man
diesen Film edieren. (Ist mehr als ein Film selektiert, kann der Filmeditor
nicht aufgerufen werden.)
In beiden Fllen gelangt man in den Filmeditor, eine Dialogbox zum Edieren
von Filmen.
Den grssten Teil des Filmeditors bildet die Anzeige eines Bildausschnittes
des aktuellen Bildes. Dabei wird die fr die Bild-Anzeige eingestellte Kon-
version  verwendet  (vgl.  Konvertieren  der  Anzeige).  Die  Anzeige  lsst  sich
abschalten (dann wird einfach eine weisse Flche angezeigt, so dass man nicht
auf das Auspacken des Bildes warten muss), sie ist nur dann aktiv, wenn der
Button 'Bild' rechts unten selektiert ist. Bei grossen Bildern wird natrlich
nicht das ganze Bild angezeigt, sondern nur die rechte obere Ecke.
Unter  der  Bild-Anzeige  befindet  sich  eine  Info-Zeile  und  zwei  Zeilen  mit
Funktions-Button, hlich wie in CHAOSultd V5.0x.
In der Infozeile stehen (von links nach rechts) der Filmname, die Anzahl der
Bilder im Film, die Nummer und der Name des Bildes, das gerade angezeigt
wird (gemeint ist die Nummer im Film, nicht die auf dem Desktop).
In der oberen Kommandozeile gibt es die folgenden Kommandos:
Die Button < - und - > dienen zum Blttern im Film. Ein Einfachklick
schaltet ein Bild weiter (- >) oder zurck (< -), Doppelklick schaltet an
den Filmanfang oder an das Ende.
Gewissermassen vor dem Filmanfang mit Bild 1 wird noch ein (stets leeres)
Bild Null verwaltet, beim Einfgen von Bildern werden diese nmlich nach
dem aktuellen Bild eingefgt, um also ein neues Bild 1 einzufgen muss man
auf Bild Null schalten.
Womit  wir  beim  nchsten  Punkt  wren,  dem  Einfgen  von  Bildern.  Dazu
dient  der  Button  Einfgen.  Klickt  man  ihn  an,  so  wird  der  Desktop  ange-
zeigt, und man kann das oder die Bilder angeben, die eingefgt werden sollen.
Einzelne Bilder doppelklickt man einfach an. Darberhinaus kann man aber
auch durch Shift-Klick / Doppelklick mehrere aufeinanderfolgende Bilder in
den Film bernehmen, wobei die Reihenfolge der beiden Mausklicks berck-
sichtigt wird (vgl. Eingabehilfen, 2.2). Doppelklick neben ein Bild bricht die
Funktion ab, ohne ein Bild in den Film aufzunehmen.
Die gegenteilige Wirkung, nmlich das Lschen von Bildern bernimmt der
Button Lschen. Mit ihm wird das aktuelle Bild aus dem Film gelscht.
3   BILDER VERWALTEN                                                             30

Mit dem nchsten Button Optionen kann man die Anzeigeoptionen des Films
einstellen. Sie entsprechen den Optionen beim Anzeigen von Bildern, jeder

Film  verwaltet  allerdings  eigene  Optionen  (die  beim  Erzeugen  des  Filmes
mit den gerade eingestellten Anzeigeoptionen fr Bilder vorbelegt werden).
Dies  ist  die  einzige  Mglichkeit,  die  Anzeigeoptionen  im  Film  zu  ndern.
nderung  der  Anzeigeoptionen  beim  Zeigen  von  Filmen  (s.u.)  fhren  nur

zur nderung fr dieses Anzeigen.
In der unteren Kommandozeile befinden sich die Button fr die Blockfunk-
tionen. Mit Einfachklick auf Start und Ende kann man Blockanfang und -ende
festlegen, wobei Start natrlich vor Ende liegen muss. Sind die Blockmarken
gesetzt und die jeweiligen Bilder als aktuelles Bild eingestellt, so erscheinen
diese Button invers; mit Doppelklick auf Start oder Ende kann man zu der
entsprechenden Marke springen.
Es folgen die Blockkommandos Copy, Move und Delete, die sich wohl selbst
erklren.  Das  Kommando  Reverse  dreht  die  Reihenfolge  der  Bilder  eines
Blockes um.
Die maximale Zahl von Bildern, die ein Film enthalten kann, ist auf 32767
begrenzt. Die maximale Zahl von Bildern, die der Filmeditor verwalten kann,
gibt man in den Einstellungen an (256-32767).
Verlassen wird der Filmeditor wie blich mit Ok oder Abbruch.



3.2      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.  Whrend  des  Packens/Entpackens  eines  Bildes  wird  ein  Info-Dialog
angezeigt, zwischen zwei Objekten ist der Abbruch der Funktion mittels der
Esc-Taste mglich.



3.3      Bilder  konvertieren


Die  Funktion  konvertieren  erlaubt  es,  Bilder  zu  skalieren  (vergrssern  oder
verkleinern) und mehrfarbige Bilder in zweifarbige (monochrome) Bilder um-
zurechnen, die Farben werden dann durch Grauraster dargestellt.
Die  Funktion  wirkt  auf  beliebige  Bildobjekte,  das  Ergebnis  wird  in  neuen
Bild-Objekten abgelegt, deren Namen nlich wie bei neu berechnen erzeugt
wird, nur dass statt des 'N' ein 'K' zum Markieren verwendet wird.
Beim Skalieren hat man die Mglichkeit, die Bilder um einen Faktor 2 zu ver-
grssern (Seitenlnge!) oder um Faktoren 1/2, 1/4 oder 1/8 zu verkleinern.
Ausserdem  kann  man  noch  angeben,  ob  das  eventuell  existierende  Raster
eines Bildes beim Skalieren beachtet werden soll (sonst wird auf Pixelebe-
ne skaliert). Die Grsse des Zielbildes wird dabei auf ein Vielfaches von 16
(Breite) bzw. 4 (Hhe) abgerundet.
Beim Konvertieren gibt es mehr Mglichkeiten:
Konvertiert  werden  prinzipiell  nur  Bilder  mit  mehr  als  eine  Bitmap  (vier
oder mehr echte Farben).
Die  einfachste  Methode  ist  das  Auswhlen  von  Bitmaps.  Dabei  gibt  man
an, welche Bitmaps ins Zielbild kopiert werden sollen, wobei natrlich nur
solche Bitmaps bercksichtigt werden, die im Originalbild auch vorhanden
3   BILDER VERWALTEN                                                             31

sind.  Damit  wird  gleichzeitig  die  Zahl  der  Bitmaps  im  Zielbild  festgelegt;
soll  gar  keine  der  Original-Bitmaps  verwendet  werden,  so  wird  eine,  leere

Bitmap angelegt.
Als Spezialfall kann man statt alle Bitmaps anzuwhlen auch den ersten mit
x  bezeichneten  Button  selektieren,  dann  werden  alle  Bitmaps  kopiert,  das
Bild also nicht konvertiert.
Die anderen (echten) Konvertierungsroutinen konvertieren grundstzlich far-
bige Bilder in monochrome.
Dabei  muss  zunchst  zwischen  grundstzlich  unterschiedlichen  Algorith-
men  unterschieden  werden,  der  Fehler-Diffusion  (Floyd-Steinberg),  die  in
CHAOSultd auch mit Graurastern arbeitet, und dem (geordneten) Dithern.
Am  besten  probiert  man  die  verschiedenen  Algorithmen  einfach  aus,  und
schaut sich die Ergebnisse an, jedenfalls werde ich mich jetzt nicht zu weit-
schweifigen Erluterungen aufschwingen.
Bei  der  Fehlerdiffusion  kann  man  whlen,  ob  der  Fehler  auf  6,  12  oder  0
Punkte verteilt werden soll (im letzten Fall findet keine Fehlerdiffusion mehr
statt,  so  dass  man  direkt  in  Grauraster  bersetzen  lassen  kann),  und  ob
Grauraster verwendet werden sollen (dann wird das Bild dadurch nochmals
vergrssert!). Mglich sind 1x1 Raster (also Pixel, zwei Farben), 2x2 Raster
(5 Farben) und 4x4 Raster (17 Farben).
Weiter  kann  man  angeben,  ob  die  Farben  absolut  oder  relativ  umgesetzt
werden sollen, im ersten Fall ist schwarz schwarz, grau grau und weiss weiss,
im letzten Fall wird die dunkelste Farbe des Quellbildes zu schwarz (auch
wenn  sie  grau  ist),  die  hellste  zu  weiss.  Dadurch  werden  zwar  die  Farben
verflscht, dafr ist der Kontrast im Ergebnis besser.
Der Dithering-Algorithmus (orderd dither) stellt (bisher) keine weiteren Op-
tionen zur Verfgung.
Fr beide Algorithmen muss noch die Umsetzung der Farbe angegeben wer-
den. Im RGB-Modus gehen der Rot-, Grn- und Blau-Anteil gewichtet ein,
im HLS-Modus wird die Lightness L, also das Maximum des Rot-, Grn und
Blau-Anteiles,  verwendet  (Achtung,  L  kann  leicht  fr  verschiedene  Farben
gleich sein). Whlt man Ignorieren der Farbpalette, so wird den Farben ein-
fach ein Graukeil zugeordent, von Schwarz fr Farbe 0 bis Weiss fr die letzte
Farbe.
Verlsst man den Dialog mit Ok, so werden die Bilder zuerst skaliert, dann
konvertiert, wobei Konvertieren bei Bildern, die schon monochrom sind, aus-
gelassen wird. Gleichzeitig wird die aktuelle Einstellung der Konversion in
die Voreinstellungen u"bernommen, d.h. beim nchsten Aufruf des Konver-
tierens  von  Objekten  findet  man  die  Einstellung  vom  letzten  mal  wieder
vor.
Verkleinert man Bilder, so wird die Grsse des Zielbildes so abgerundet, dass
die Breite (Hhe) wieder durch 16 (4) teilbar ist. Wird das Zielbild schmaler
als 64 Pixel oder weniger hoch als 40 Pixel, so kann nicht skaliert werden
und es wird keine neues Objekt erzeugt.
Achtung! Insbesondere das Konvertieren kann recht lange dauern (Minuten).
Die Mglichkeit des Abbrechens mit Esc ist nur nach  dem  Ende des Kon-
vertieren  eines  Bildes  mglich,  falls  man  mehrere  Bilder  konvertieren  lsst
(analog etwa zum Packen oder Laden).



3.4      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, 6.2) werden die Objekte
gelscht.
Es ist nicht mglich, Bilder, die sich in einer Bildliste fr ein Bild-Fenster
befinden, die in Filmen enthalten sind, oder die gerade im Filmeditor aufgeli-
stet werden, zu lschen; versucht man dieses, so wird man in einer Dialogbox
darauf hingewiesen. Bezieht sich Lschen nur auf selektierte Bilder, so kann
4   ANZEIGEFUNKTIONEN                                                          32

man fortfahren, indem man weiter whlt. Dann werden die Bilder der Bild-
liste, der Filme oder des Filmeditors vom Lschen ausgenommen.



4      Anzeigefunktionen


4.1      Bilder  anzeigen


Wenn man Bilder einmal erzeugt hat, dann will man sie natrlich auch an-
schauen. Dazu gibt es in CHAOSultd (mal wieder) zwei prinzipielle Mglich-
keiten: das Anzeigen in einem (Bild-)Fenster und das Anzeigen auf dem gan-
zen 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 sind die diversen Optionen beim Anzeigen, fast ausschliess-
lich von der Anzeige im Fenster bzw. vom Desktop aus erreichbar (wie das
Anzeigen  der  Parameter,  Konstante  anzeigen,  Koordinaten  zeigen  . . .).  In
der Ganzseiten-Anzeige kann man nur noch die Anzeigeoptionen einstellen.
Bilder, die die grsser als der Bildschirm sind, knnen natrlich nicht ganz
angezeigt werden. Bei ihnen kann mit den Cursor-Tasten (bzw.  den Scroll-
balken der Fenster) gescrollt werden.
Ein weiteres Problem ist die Anzeige von Bildern mit mehr Farben (Bildebe-
nen) als auf dem Bildschirm. Dazu kann man einstellen, wie die Bilder kon-
vertiert  werden  sollen.  Prinzipiell  hat  man  hier  die  gleichen  Mglichkeiten
(und  Einschrnkungen)  wie  beim  Konvertieren  von  Objekten  (vgl.  3.3)22 .
Man  sollte  aber  zustzlich  den  Zeitbedarf  fr  das  Konvertieren  bedenken
(auf einem normalen 8Mhz ST ist wohl nur die Auswahl von Bitmaps sinn-
voll,  lediglich  die  Skalierungsroutinen  sind  mittlerweile  optimiert).  Einge-
stellt wird die Anzeigekonversion mit dem Menpunkt Anzeige konvert. im
Optionen-Men  (die  Einstellung  gilt  gleichzeitig  auch  fr  den  Filmeditor).
Beim Konvertieren der Anzeige wird - wie beim Konvertieren von Objekten
- die Grsse des Zielbildes modulo 16 bzw. 4 abgerundet. Hier darf das Bild
aber auch kleiner als 64x40 Pixel werden. Verschwindet die Grsse des Bildes
(1/8 von 64 ist 8, modulo 16 abgerundet bleibt nichts brig), so kann nicht
skaliert werden und es wird das Originalbild unskaliert verwendet.
Fr die Anzeige der Farben wird die Farbtabelle des Bildes verwendet, so-
fern nicht konvertiert und auch keine Bitmaps ausgewhlt wurden (d.h. bei
Standard-Bitmapauswahl  von  Bildern  mit  nicht  mehr  Farben  als  auf  dem
Bildschirm dargestellt werden knnen). Andernfalls wird fr die Anzeige ei-
ne eigene Farbtabelle erzeugt, und zwar eine Standard-Schwarz-Weiss-Tabelle
bei (echter) Konversion. Bei der Auswahl von Bitmaps wird die Tabelle ent-
sprechend den ausgewhlten Bitmaps aus der Original-Tabelle zusammen-
gestellt.
Bei der Anzeige im Fenster fhrt die Anzeige der Farben des Bildes natrlich
zur nderung der Farben auf dem ganzen Desktop. Da dies bei Aufruf von
Dialogboxen unter Umstnden sehr unpraktisch ist, kann man in den Ein-
stellungen drei Modi fr das Einstellen der Farben von Bild- und Anzeige-
Fenstern whlen: im einfachsten Fall bleiben die Farben in jedem Fall ent-
sprechend dem angezeigten Bild eingestellt. Alternativ gibt es die Mglich-
keit, beim Aufruf von Dialogboxen die Farben auf die des Desktops umzu-
stellen. Nach Verlassen der Dialogbox werden dann wieder die Farben des
Bildes angezeigt. Als dritte Mglichkeit kann man noch einstellen, dass die
Farben  des  Bildes  nur  solange  angezeigt  werden,  wie  sich  der  Mauszeiger
im Fenster des Bildes befindet (dies schliesst die Farbanpassung fr Dialoge
natrlich ein).

Die  Anzeige  im  Fenster  wird  durch  den  Menpunkt  Fenster  im  Zeigen-
Men  aufgefufen,  die  Anzeige  auf  dem  ganzen  Bildschirm  durch  den
Menpunkt Bildschirm.
   22______________________________________________
     allerdings werden bei der Auswahl von Bitmaps nur so viele Bitmaps kopiert, wie fr
die Bildschirmdarstellung zur Verfgung stehen
4   ANZEIGEFUNKTIONEN                                                          33

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 ohnehin nur beim Anzeigen in einem Fenster mglich ist, die Ganzsei-
tendarstellung ermglicht natrlich keinen Zugriff auf das Objekt-Fenster).



Anzeigeoptionen


CHAOSultd verwaltet fr jede Bildliste (also fr jedes Bild-Fenster und jeden
Film) eigene Anzeigeoptionen; bei deren Einstellen kann man whlen, ob die
Einstellung  nur  fr  diese  lokalen  Optionen  gelten  sollen,  oder  ob  sie  auch
global  bernommen  werden  sollen,  was  aber  nur  heisst,  dass  sie  dann  auch
fr die im folgenden geffneten Bild-Fenster gelten. Einstellen lassen sich die
Anzeigeoptionen zusammen mit weiteren Parametern unter dem Menpunkt
Optionen.
Zunchst  hat  man  den  Anzeigemodus,  den  man  auf  Warten  auf  Taste  und
Kontinuierlich einstellen kann.
Fr kontinuierliche Anzeige kann man darunter die Wartezeiten (nach einem
Bild und am Ende der angezeigten Bilder) einstellen, wobei man die Zeiten
sowohl  numerisch  (in  ms)23  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 ('- > < -').



automatisches  Weiterschalten  in  Fenstern:   Hier  gibt  es  einige  Ein-
schrnkungen. CHAOSultd schaltet maximal alle 20ms ein Fenster weiter.
Dabei werden alle 20ms alle Fenster daraufhin untersucht, ob sie weiterge-
schaltet werden sollen, und das erste dabei gefundene Fenster weitergeschal-
tet. Bei kleinen Wartezeiten, grossen Bildern (deren weiterschalten halt nu
mal lnger dauert) und langsamen Rechnern (wie meinem) fhrt dies dazu,
dass  bei  mehreren  automatisch  weiterzuschaltenden  Bildern  nur  das  (oder
die) ersten zum Zuge kommen, whrend die anderen gewissermassen verhun-
gern. Die Einschrnkung, jeweils nur ein Fenster weiterzuschalten, dient da-
zu, dass man das Programm trotz Weiterschaltens von Bildern einigermassen
vernftig bedienen kann.



Konvertieren der Anzeige


Neben der Einstellung der Anzeigekonversion fr alle Anzeigen ist es auch
mglich,  die  Anzeige  einzelner  angezeigter  Bilder  zu  konvertieren.  Diese
Funktion  kann  nur  ber  die  Popup-Mens  in  Bild-  und  Anzeige-Fenstern
(Menpunkt konvertieren aufgerufen werden. In der blichen Dialogbox fr
die  Konvertierungsparameter  kann  man  die  Konversion  einstellen  und  die
Anzeige wird dann konvertiert. Die konvertierte Anzeige bleibt solange er-
halten bis man entweder erneut konvertieren fr diese Anzeige aufruft (die
neuerliche  Konversion  bezieht  sich  wieder  auf  das  Ausgangsbild,  nicht  auf
das Ergebnis der letzten) oder bis man die Anzeige weiterschaltet oder sonst-
wie erneuert (z.B. nach Weiterberechnen des Bildes). Es ist mglich, fr das
konvertierte Bild die Ganzseitenanzeige aufzurufen.
   23______________________________________________
      aus technischen Grnden nur in 5 ms Schritten, ist der Wert nicht durch
5 teilbar wird er abgerundet;
4   ANZEIGEFUNKTIONEN                                                          34

4.2      Bildvergleich

Mit  der  Funktion  Bildvergleich  knnen  Bilder  (genauer  die  Information  in
den Bitmaps der Bilder) durch logische Verknpfung verglichen werden.
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 bestimmen die maximalen Abmessungen die
Grsse des resultierenden Bildes. In diesem Fall kann man noch whlen, ob
die kleineren Bilder relativ zu diesem Grssten zentriert oder im linken obe-
ren  Eck  eingesetzt  werden  sollen.  Die  Farbtiefe  des  Ergebnisses  bestimmt
sich ebenfalls aus der des Bildes mit der grssten Farbtiefe, als Farbtabelle
wird die des ersten Bildes mit dieser maximalen Farbtiefe verwendet. Nach
dem Verlassen des Dialoges werden die Bilder verknpft und das Ergebnis -
gegebenfalls konvertiert - in einem Anzeige-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 Anzeige-Fenster geffnet wird.
Bildvergleiche zweier Bilder kann man mit der Verknpfung xor durchfhren;
dann  bleiben  im  resultierenden  Bild  genau  die  Teile  der  Bilder  brig,  die
nicht gleich sind (mit der Verknpfung and kann man umgekehrt die Bildteile
erhalten die gleich sind).



4.3      Block  zeigen


Mit der Funktion Block zeigen kann man sich anzeigen lassen, welchem Bild-
ausschnitt ein oder mehrere andere Bilder in einem (Mutter-)Bild entspre-
chen.
Wie  beim  Bildvergleich  wird  ein  Anzeige-Fenster  geffnet,  in  dem  das  Er-
gebnis angezeigt wird. Ergebnis ist in diesem Fall das Bild, das den grssten
Ausschnitt  besitzt,  in  diesem  sind  die  Ausschnitte,  die  die  anderen  Bilder
darstellen als Rechtecke markiert. (Ob es sich dann wirklich um Blcke han-
delt ist natrlich eine andere Frage). Bei gedrehten Bildern sind die Recht-
ecke natrlich gedreht, unter Umstnden auch verzerrt.
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 Weise
auf die Bitmap abgebildet sein, damit Blcke markiert werden knnen. (Die
erste Voraussetzung wird etwa von L-Systemen verletzt, 3d-Fractale erfllen
zwar die erste, nicht aber die zweite Voraussetzung.)



4.4      Konstante  anzeigen


Mit dieser Funktion kann man sich in einem Bild die Lage einer durch die
Parameter bestimmten Konstante (zweikomponentig, x- und y- Komponente
bzw. Real- und Imaginrteil) anzeigen lassen.
Abgesehen  davon,  dass  die  Funktion  nur  auf  ein  Bild  wirkt,  ist  sie  analog
zum Block anzeigen.
Man  beachte,  dass  das  Fadenkreuz,  mit  dem  die  Konstante  markiert  wird,
bei gedrehten Bildern nicht parallel zur x- bzw. y-Achse des Bildes ist.



4.5      Koordinaten  anzeigen


In allen Bildern, zu denen ein Koordinatensystem gehrt, kann man - statt
des einfachen Bildinfos - die Koordinaten am Ort des Mauszeigers anzeigen
lassen.
Zum Umschalten zwischen einfachem Bildinfo und Koordinatenanzeige dient
der Menpunkt Koordinaten anzeigen.
Die Koordinaten werden nur angezeigt, solange sich der Mauszeiger ber dem
aktiven Bild- oder Anzeigefenster befindet. Man beachte auch, dass nicht bei
allen Bildern Koordinaten angezeigt werden knnen.
4   ANZEIGEFUNKTIONEN                                                          35

4.6      Punktinfo

Durch Doppelklick in ein Bildfenster kann man sich ein Punktinfo zu den an-
gegebenen Koordinaten anzeigen lassen (sofern von den Routinen unterstzt,
bisher nur bei Fractalen).



4.7      neues  Objekt


Bei allen Bild- und Anzeige-Fenstern kann man mit der Funktion neues Ob-
jekt im Extra-Men ein neues Bild-Objekt erzeugen, das das angezeigte Bild
enthlt.
Dabei gibt man in einer Dialogbox den Namen des neuen Objektes an und
whlt,  ob  man  das  Original  oder  die  Anzeige  in  das  neue  Objekt  berneh-
men will. Der Unterschied ist, dass im zweiten Fall die tatschliche Anzeige,
die unter Umstnden nicht alle Bitmaps umfasst oder konvertiert wurde, im
ersten Fall das dieser Konversion (oder Bitmap-Auswahl) zugrundeliegende
Bild verwendet wird. Fr Bild-Fenster wird Anzeige fr Anzeige-Fenster Ori-
ginal voreingestellt. Verlsst man den Dialog mit Ok so wird anschliessend das
Objekt erzeugt.
Es ist nicht mglich ein neues Objekt zu erzeugen, wenn es kleiner als 64x40
Pixel gross ist (kann durch skalieren fr die Anzeige vorkommen).



4.8      Bild-Parameter  anzeigen


Unter Bildparameter im Zeigen-Men kann man sich die allgemeinen Bildpa-
rameter  eines  Bildes  anzeigen  lassen.  Dabei  muss  man  zwischen  den  Para-
metern eines Bild-Objektes und einer Bild-Anzeige unterscheiden. Wird der
Menpunkt  fr  ein  Bild-Objekt  aufgerufen  (entsprechendes  Popup-Men,
aktives Objekt-Fenster . . .), so werden die Parameter des Bild-Objektes an-
gezeigt, ist ein Bild- (oder Anzeige-)Fenster im Vordergrund, die Parameter
der Anzeige.
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

        Bei  Anzeigen  wird  der  Name  des  zugehrigen  Objektes  angegeben,
        gibt  es  kein  solches,  so  entfllt  die  Angabe.  Der  Pfad  wird  in  jedem
        Fall ignoriert. nderungen werden nicht bernommen.


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


    o   Bildgrsse

        hier  wird  die  Grsse  in  Bild-Punkten  angegeben.  bei  unfertigen,  zei-
        lenweise berechneten Bildern wird neben der Hhe des fertiggerechne-
        ten 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   nur bei Objekten: Speicherbedarf des gespeicherten (meist also gepack-
        ten) Bildes und Speicherbedarf des vollstndig berechneten entpackten
        Bildes


    o   Anstelle  des  Speicherbedarfs  wird  bei  Anzeigen  die  Konversion  der
        Anzeige ausgegeben.

nderungen des Bildnamens und Pfades werden mit Ok bernommen, mit

Abbruch verworfen.
5   INPUT/OUTPUT                                                                     36

4.9      Farben

Mit diesem Menpunkt kann man den Farbselektor fr ein Objekt oder ein
Anzeigefenster aufrufen.
Wird der Selektor fr ein Anzeigefenster aufgerufen, so werden die Farben
des Objektes nur gendert, wenn direkt die Objekt-Farbtabelle zur Anzeige
der Farben verwendet wird.
Wird der Selektor fr ein Objekt aufgerufen, das gerade angezeigt wird, und
wird fr die Anzeige dieses Objektes direkt die Objekt-Farbtabelle verwen-
det,  so  ndert  sich  auch  die  Farbe  der  Anzeige,  die  aber  nicht  unbedingt
automatisch aktualisiert wird.
Worauf sich die Farbselektion jeweils bezieht wird in der Infozeile im Farbs-
elektor angegeben.



4.10       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.11       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 Bildelemente24 .
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 Bildinfos25 , oder sind mehrere Bilder betrof-
fen, so wird eine Info-Box angezeigt, in der die Anzahl der Bildpunkte, die
Zahl der berechneten Iterationen26  sowie die bentigte Rechenzeit - insge-
samt und pro Bildelement bzw.  Iteration - ausgegeben wird.



5      Input/Output


5.1      Speichern


Mit den Menpunkten Speichern und Speichern . . . kann man Objekte ab-
speichern.
Fr Fraktale und Filme gibt es ein eigenes Dateiformat, Bilder knnen im
GEM-Image-Format (inclusive XIMG-Header) und (aus Grnden der Tradi-
tion) im Stad-Format gespeichert werden; beim Stad-Format wird nur eine
Bitplane (wie beim Anzeigen auf einem monochromen Bildschirm) und gege-
benfalls nur die linke obere Ecke gespeichert. Fraktale lassen sich ebenfalls in
diesen Bildformaten speichern, dabei werden aber die Bild-Parameter nicht
mit abgespeichert, so dass als Bild gespeicherte Fraktale nicht als gespeichert
betrachtet und gekennzeichnet werden.
Speichern . . . 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,
   24______________________________________________
     Bildelemente  sind  meist  Punkte,  es  kann  sich  aber  auch  um  Linien
handeln
   25 indem sie dem Verwaltungsteil Informationen ber Berechnungszeit so-

wie Iterations- und Bildelement-Anzahl zur Verfgung stellt
   26 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
5   INPUT/OUTPUT                                                                     37

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
(das ist dann der Fall, wenn das Bild neu erzeugt wurde und nicht geladen).
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)  ange-
zeigt wird (die Anzeige der Box kann in den Einstellungen abgestellt werden,
s.u.).
Unter diesen zur Information dienenden Angaben befindet sich der Bildname
und der Dateipfad, ausserdem wird das Dateiformat angezeigt. Dieses kann
man  durch  Anklicken  eines  der  Button  ndern,  es  wird  dann  automatisch
das  entsprechende  Extension  in  den  Namen  eingetragen.  Mit  dem  Button
rechts ber dem Pfad 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 ausfhrliche Infobox mehr aus-
gegeben wird. CHAOSultd zeigt dann nur noch den Namen der zu speichern-
den Bilder dar, es werden automatisch die Voreinstellungen zum Speichern
verwendet. (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 Speicher-
funktion 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 nur als Bilder gespeichert wurden gelten wie gesagt nicht als gespei-
chert.
Filme werden erst nach allen anderen Objekten gespeichert. Sie knnen prin-
zipiell erst gespeichert werden, wenn alle in ihnen enthaltenen Objekte ge-
speichert sind; andernfalls erhlt man eine Fehlermeldung.



5.2      Laden


Mit dem Eintrag Laden im Men Datei kann man Objekte wieder einladen.
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.
Gibt man aber keinen Dateinamen an, so werden alle in der Dateiselector-
box gerade dargestellten Dateien, der untersttzten Dateiformate (also alle
6   EINSTELLUNGEN                                                                   38

Dateien mit den Extension CHS, PAC und IMG) geladen. Das Einladen lsst
sich durch Drcken der Esc-Taste abbrechen.

Beim Laden von Filmen (Extension FFX) werden die in diesen enthaltenen
Bildern - sofern sie nicht bereits geladen sind - automatisch nachgeladen.
Seit V6.40 kann CHAOSultd auch Bilder von V5.0x (ausser Feigenbaumdia-
grammen) mit Parametern (und nicht nur als Bild) laden.



5.3      Drucken


CHAOSultd verfgt ber eine Schnittstelle zu externen Hardcopy-Routinen.
Hardcopy-Routinen  haben  die  Endung  HCP  (fr  HardCoPy)  und  mssen
sich wie XCH-Routinen im Ordner CHS_ULTD.GEM befinden. Von den dort
befindlichen Routinen wird nur die (physikalisch) erste Routine geladen. Bis-
her existiert nur eine Routine fr 24 Nadel-Matrixdrucker, die im letzten Teil
dieser Anleitung beschrieben wird.
Zum Aufruf der Routine existieren die Menpunkte die Menpunkte Bilder
drucken und Druckparameter.
Zur Unterstzung der Hardcopy-Routine verfgt CHAOSultd ber eine eige-
ne, schnelle Ausgaberoutine auf die Centronics-Schnittstelle. Da sich solche
Routinen  eigentlich  berhaupt  nicht  gehren,  kann  man  diese  abschalten.
In  den  Einstellungen  kann  man  die  CHAOS-Routine  zur  Ausgabe  an  den
Drucker ein- (Button selektiert) oder ausschalten.
Die eigene Routine hat den Vorteil, dass sie schneller ist. Allerdings werden
Druckerspooler umgangen (sind also wirkungslos) und das Ausdrucken ber
serielle  Schnittstelle  ist  nicht  mglich  (falls  man  nicht  ber  die  CHAOS-
ultd-Routine  druckt,  sondern  ber  TOS,  so  wird  je  nach  Einstellung  der
Druckerparameter (Kontrollfeld!) parallel bzw. seriell gedruckt, letzteres ist
nicht getestet). Wer also seriell drucken will oder einen Spooler fr sinnvoll
hlt (ist er bei Graphikdruck eigentlich nicht), der schalte die CHAOSultd-
Routine ab.
Ausserdem habe ich meine Druckroutine natrlich nur mit meinem Rechner
und meinem Drucker getestet. Ob sie in allen Fllen korrekt arbeitet weiss
ich nicht.



5.4      Clipboard


CHAOSultd untersttzt das Clipboard, obwohl ich nicht so recht weiss, wofr
man  das  eigentlich  braucht  (naja,  ich  will  nicht  ungerecht  sein,  in  einer
Multitasking-Umgebung mag es schon seine Berechtigung haben).
Die Untersttzung ist allerdings nicht vollstndig, mit dem Clipboard kann
nur gearbeitet werden, wenn der Clipboard-Pfad gesetzt ist (z.B. von einem
Clipboard-Accessory oder von Gemini oder von was auch immer; CHAOSultd
selbst setzt den Pfad jedenfalls nicht). Ist der Clipboard-Pfad nicht gesetzt,
so brechen die Clipboard-Funktion ohne Fehlermeldung ab.
Man kann einerseits Bilder (nein ein Bild, das ist ja das Dumme am Clip-
board)  aus  dem  Clipboard  laden,  sofern  eine  SCRAP.IMG  Datei  im  Clip-
board liegt. Ist keine Datei vorhanden so erscheint eine Fehlermeldung, dass
kein Bild im Clipboard liegt.
Zum  anderen  kann  man  ein  Bild  (wenn  genau  eins  selektiert  ist)  im  Clip-
board  als  SCRAP.IMG  Datei  (und  nur  als  solche)  ablegen.  Alle  eventuell
vorhandenen SCRAP-Dateien werden gelscht.



6      Einstellungen


Die Einstellungen sind aus Platzgrnden auf zwei Dialogboxen verteilt.



6.1      Einstellungen  I


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

    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


    o   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   die Druckroutinen zur Ausgabe auf die Centronics-Schnittstelle



6.2      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


    o   fr wieviele Bilder im Filmeditor Speicher reserviert werden soll (min.
        256, max. 32767)
6   EINSTELLUNGEN                                                                   40

6.3      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  meist  (bisher  stets)  der  Fall  ist.  Ebenso  lassen
sich die allgemeinen Bildparameter fr jeden Bildtyp einstellen.

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.



6.4      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 (einschliesslich der Anzeigeoptionen und der Einstellungen der
Konvertierungsroutinen),  die  der  verschiedenen  Routinen  (soweit  geladen)
und  die  Positionen  der  Dialoge  und  Fenster.  Dialog-  und  Fensterpositio-
nen werden vor dem Speichern in auflsungsunabhngige Normalkoordina-
ten umgerechnet, so dass diese Einstellung auch bei Auflsungswechsel erhal-
ten  bleibt  (jedenfalls  einigermassen).  Frher  schon  gespeicherte  Parameter
nicht geladener Routinen werden kopiert, sie bleiben also erhalten. (Mchte
man solche Parameter aus der Einstellungsdatei lschen, so kann man diese
whrend CHAOSultd luft lschen (mit einem Accessory oder einem guten
Fileselektor, falls man kein Multitasking hat) und dann die Parameter spei-
chern)
                                                                                         41

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 sind27 .
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 nur durch seine Farbe dargestellt, sondern zustzlich als Hheninfor-
mation verwendet.
Fr  freie  Fract.  kann  die  Berechnungsformel  explizit  angegeben  werden  so
dass man selbst experimentieren kann.



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. CHAOSultd er-
laubt es diesen Ausschnitt noch zu drehen, wofr zustzlich ein Winkel phi
angegeben wird (in Grad). Das letztendlich gezeichnete Bild entsteht, indem
der durch minimale/maximale Real- und Imagnrteile festgelegte Block mit
diesem Winkel um seinen Mittelpunkt gedreht wird. Die linke obere Ecke ist
somit fr phi ungleich Null nicht mehr durch den minimalen Real-, maxima-
len Imaginrteil gegeben!
Des  weiteren  muss  ff,  die  Konstante  c  (Real-  und  Imaginrteil),  die
Abbruchbedingung28 , also die Zahl die der Betrag der komplexen Zahl aus
     ______________________________________________
   27 statt des '-' findet man teilweise auch ein '+'
   28 viele  Apfelmnnchenprogramme  verwenden  2  als  Abbruchbedingung,

allerdings finde ich die Bilder, die mit der Abbruchbedingung 10 entstehen,
schner
2   PARAMETER                                                                          42

der  Rekursionsformel  bersteigen  soll,  und  die  maximale   Tiefe",  d.h.  die
maximale Anzahl von Rekursionsschritten, nach der die Berechnung"spte-

stens 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 ergeben29 .
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-
chenroutinen von Turbo/Pure C verwendet30 .
exakt ist natrlich wesentlich langsamer, weshalb ich von der Benutzung im
allgemeinen abrate. Allerdings muss man auch ganz klar sagen, dass es im Mo-
dus schnell zu mehr oder weniger grossen Rundungsfehlern kommt, die umso
grsser sind, je strker man den Ausschnitt vergrssert hat. Besonders stark
macht sich dies auch bei kleinen Drehwinkeln bemerkbar (der Unterschied
zwischen 1 Grad gedreht und 0 Grad gedreht verschwindet ab einer gewis-
sen Vergrsserung). Die Routinen von CHAOSultd, die etwa die Koordinaten
am  Mauszeiger  berechnen,  beim  Ausschneiden  von  Blcken  etc.   rechnen
mit Fliesskommazahlen also (ziemlich) exakt. Dadurch kann es natrlich zu
Differenzen kommen, die aber letztlich harmlos sind, solange man sich fr
Fraktale vor allem ihrer sthetik wegen interessiert. Andernfalls sollte man
im Zweifel zur exakten Berechnung greifen (und sich eine FPU leisten).



2.2      Eingabe  der  Parameter


Wie man sieht 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
     ______________________________________________
   29 im Berechnungsmodus exakt (s.u.) lassen sich theoretisch auch grssere

Bereiche realisieren, aber wie gesagt, finden kann man da an sich nichts
   30 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                                                                          43

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
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. Ist der erste Eintrag kleiner als der zweite werden die Farben
aufsteigend, ist der erste grsser absteigend erzeugt. Fr beide Eintrge hat
man -1 und 999 als Joker: -1 wird als 0 bei zweifarbigen Bildern und als 1
sonst ausgewertet, 999 steht fr die letzte mgliche Farbe. Mit Step erklrt
man,  wieviele  Tiefenstufen  in  der  gleichen  Farbe  dargestellt  werden  sollen
(nicht jede wievielte Farbe zwischen ... bis ... hergenommen werden soll).
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.
2   PARAMETER                                                                          44

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  unterscheidet  nur  die  Tatsa-
che, dass links auf die linke und rechts auf die rechte Parameter-Hlfte wirkt;
ausserdem werden die fr links und rechts gemeinsamen Parameter bernom-
men. Letzteres kann man durch Drcken der Shift-Taste beim Auswhlen
des Objektes verhindern.
In diesem Popup stehen die folgenden Optionen zur Verfgung: man kann
die Parameter 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,  der  aber  bei  Fractalen  nicht  aktiv  ist31 .  Beim  Holen  von  Daten
kann man entweder alle oder - mit Shift - nur die nach rechts und links
getrennten Daten bernehmen (natrlich nur, wenn das Objekt ein Fractal
ist). Mglich ist auch 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 Einzelbildern32 . 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).
     ______________________________________________
   31 die Popups existieren in gleicher Form (aber mit teilweise anderen Ein-

schrnkungen) auch bei den anderen Berechnungsroutinen
   32 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                                                                          45

2.3      3d  Fractale

Bei  3d  Fractalen  sind  nunmehr  (V6.1  der  Fractal-Routinen)  auch  farbige
Bilder  mglich.  Dabei  werden  die  Punkte  nicht  nur  unterschiedlich  hoch
sondern auch noch - analog zu 2d Fractalen - farbig gesetzt.
Die Farbcodierung wird in der Parametereingabe nicht angezeigt, weil kein
Platz vorhanden ist. Sie wird wie bei 2d-Fractalen eingeben.
Bei  3d  Fractale  wird  die  Berechnungstiefe  durch  die  Tiefe  oder  Hhe  der
gezeichneten Punkte dargestellt.
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 braucht 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:
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.
3   UNTERSTTZTE OPTIONEN                                                  46

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 verwendet33 .
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?


Wer sich dies fragt, weil er 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
(vgl. auch die Beispiel-Bilder).



3      untersttzte  Optionen


Da die Fractal-Routinen gewissermassen das Mass aller Dinge bei der Entwick-
lung von CHAOSultd waren34 , 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;
   33______________________________________________
      natrlich sind nicht alle Kombinationen von Abbruch- und Punktsetz-
Bedingung auch sinnvoll, das sollte man sich vorher berlegen
   34 was nicht heisst, dass das so bleiben muss
3   UNTERSTTZTE OPTIONEN                                                  47

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
Multiplikation35  und  die  sich  daraus  ergebende  Zahl  von  Multiplikationen
pro Sekunde.
Die Angaben ber Multiplikationen sind bei frei definierter Berechnungsfor-
mel nicht mglich.
Fr  Infos  ber  mehrere  Bilder  entsprechen  die  Angaben  ber  Iterationen,
Bildpunkte und Berechnungszeit denen der Einzelinfos.



3.3      Punktinfo


Bei normalen Fractalen kann ein Punktinfo angezeigt werden, wobei neben
Koordinaten auch die Tiefe angezeigt wird; ist sie grsser als die maximale
Tiefe des Bildes, so wird dies durch das unendlich-Symbol (1) markiert.



3.4      Block/Konstante  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.
Als Konstante werden die Parameter real con (x) und imag con (y) angezeigt
(in zweidim. Bildern).



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



   35______________________________________________
      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
                                                                                         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 abhngt36 . Berechnet man kleine Bilder, so fhrt das lediglich zu
einer Speicherplatz- nicht aber zu einer Rechenzeitersparnis.



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
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,
   36______________________________________________
      die  Rechenzeit  hngt  hier  lediglich  von  der  Zahl  der  Iterationen  ab,
weshalb sie auch vorher abgeschtzt werden kann
3   UNTERSTTZTE ROUTINEN                                                  49

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 u"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  L-System-Routinen



Diese  Routinen  wurden  (fr  FractInt)  von  Adrian  Mariano  geschrieben
und von Nicholas Wilt durch (80xxx) Assembler-Routinen beschleunigt.
Zunchst eine Erklrung, was L-Systeme berhaupt sind (die man so nicht
verstehen muss). Ich zitiere die Anleitung zu FractInt (Ausschnitt aus dem
Anhang A, SUMMARY OF FRACTAL TYPES):


        lsystem
        Using  a  turtle-graphics  control  language  and  starting  with  an
        initial axiom string, carries out string substitutions the specified
        number of times (the order), and plots the resulting.


Sagt doch alles, oder? (Wenn man's mal verstanden hat schon)



1      Definition  der  Parameter


Bei  L-Systemen  werden  -  gewissen  Regeln  folgend  -  Linienstcke  gezeich-
net.  Die  Regeln  kann  man  sehr  flexibel  definieren,  die  mglichen  Ergeb-
nisse reichen von Koch-Kurven und hnlichem bis zu Penrose-Tilings (das
sind nichtperiodische Parkettierungen der Ebene aus nur zwei verschiedenen
Grundelementen).
Die Regeln werden durch Zeichenketten beschrieben, wobei man einen An-
fangsstring, das Axiom, und einen Satz von Ersetzungsregeln hat. Die Zei-
chen  des  Anfangsstrings  werden  gemss  den  Ersetzungsregeln  ersetzt,  so
dass man eine neue Zeichenkette erhlt. Dieser Vorgang wird mehrfach wie-
derholt.  Am  Schluss  erhlt  man  eine  End-Zeichenkette,  deren  Zeichen  als
Zeichenbefehle  interpretiert  werden  und  anhand  derer  das  Bild  gezeichnet
wird37 .

Um das Ganze etwas klarer zu machen vielleicht ein einfaches Beispiel:
Als Anfangsstring knnte man
'F'
verwenden,  als  (einzige)  Ersetzungsregel  (Zeichen  fr  die  keine  Regel  defi-
niert ist, bleiben erhalten):
'F=F+F--F+F'
Damit erhlt man nach der ersten Ersetzung:
'F+F--F+F',
nach der zweiten
'F+F--F+F+F+F--F+F--F+F--F+F+F+F--F+F'
und nach der dritten:
'F+F--F+F+F+F--F+F--F+F--F+F+F+F--F+F+F+F--F+F+F+F-
-F+F--F+F--F+F+F+F--F+
F--F+F--F+F+F+F--F+F--F+F--F+F+F+F--F+F+F+F--
F+F+F+F--F+F--F+F--F+F+F+F--F+F'
Jetzt  zeichne  man  fr  jedes  'F'  ein  (jeweils  gleichlanges)  Linienstck  und
drehe die Zeichenrichtung bei jedem '+' um 60O nach links, bei jedem '-' um
60O  nach rechts.
Was man dann nach einiger Zeit erhlt ist die Kochkurve. (Der Computer
kann das natrlich ein bisschen schneller.)

Die vollstndige Definition von L-Systemen ist natrlich umfangreicher.
Zunchst muss ein Drehwinkel festgelegt werden. Dies geschieht durch eine
(ganze)  Zahl  n,  womit  der  Winkel  auf  360/n  Grad  eingestellt  wird.  (Im
Beispiel war n also 6.) n muss zwischen 2 und 50 liegen.
Dann muss man das Axiom und die Ersetzungsregeln angeben.
Beim Zeichnen werden dann die folgenen Kommandos erkannt:
   37______________________________________________
     in  der  Realisierung  werden  diese  Zeichenketten  nicht  wirklich  gebildet
sondern das Bild durch einen rekursiven Algorithmus gezeichnet
  1   DEFINITION DER PARAMETER                                              51

  Standart-Kommandos:

      F   zeichne vorwrts


     G    gehe vorwrts ohne zu zeichnen


     +    erhhe den Winkel (um 360/n Grad), d.h. drehe nach links


       -  erniedrige den Winkel (um 360/n Grad), d.h. drehe nach rechts


       |  versuche eine 180O -Wende. Ist n ungerade, wird um den grsstmglichen
          Winkel kleiner 180O  gedreht.


  Alternative Zeichen-Kommandos:
  Diese Kommandos kommen ohne die Winkeleinstellung auf 360/n Grad aus,
  sind damit aber auch langsamer. Man sollte sie also nur verwenden, wenn die
  360/n-Einstellung fr den Winkel nicht flexibel genug ist (die Winkelangabe
  nn im folgenden muss nicht ganzzahlig sein).


     D    zeichne vorwrts


     M    gehe vorwrts ohne zu zeichnen


    nn    erhhe den Winkel um nn Grad, d.h. drehe nach links


   /nn    erniedrige den Winkel um nn Grad), d.h. drehe nach rechts


  Farbeinstellung:


  Cnn     whle Farbe nn


  <nn     erhhe Farbnummer um nn


  >nn     erniedrige Farbnummer um nn


  weitere Kommandos (fr Fortgeschrittene):


       !  drehe  die  Richtungen  um,  d.h.  vertausche  die  Bedeutung  von  '+','-'
          und '/'


@nnn      multipliziere die Lnge der Zeile mit nnn
          nnn kann eine einfach (Fliesskomma-)Zahl sein, oder ein vorangestelltes
          I  fr  invers  und/oder  Q  fr  Quadratwurzel  besitzen  (@IQ2  teilt  die
          Lnge durch Wurzel 2)


       [  Push: speichere momentanen Winkel und Position auf einen Stack


       ]  Pop: kehre zur Positon (und Winkel) des letzten push zurck


  Alle anderen Zeichen drfen ebenfalls in Kommando-Strings vorkommen. Sie
  werden beim Zeichnen ignoriert, knnen aber verwendet werden um kompli-
  ziertere Ersetzungen zu ermglichen.
  Ausser  der  Definition  des  L-Systems  hat  man  nur  noch  die  Rekursionstie-
  fe, also die Zahl der Ersetzungen als Parameter. Diese sollte man nicht zu
  hoch whlen, wobei diese natrlich noch von der Definition des L-Systems
  abhngt.  In  den  allermeisten  Fllen  sind  aber  schon  Tiefen  von  4  oder  5
  ausreichend. Grssere Tiefen dauern nicht nur lnger sondern knnen unter
  Umstnden gar nicht gezeichnet werden.
2   EINGABE DER PARAMETER                                                  52

2      Eingabe  der  Parameter

Zur Eingabe der Parameter hat man eine - im Gegensatz zu anderen Para-
meterdialogen - recht einfache Dialogbox.
Direkt eingeben kann man nur die Rekursionstiefe, dies ist auch der einzige
Parameter, der fr Bildfolgen interpoliert werden kann.
Darunter wird der Name des eingestellten L-Systems und die Definition aus-
gegeben. Die Definition beginnt mit dem Winkel (angle) und dem Axiom.
Es folgen maximal acht Transformationsregeln. Tatschlich kann die Defini-
tion mehr Regeln umfassen, die dann aber nicht angezeigt werden. Es kann
auch sein, dass das Axiom oder Regeln nicht vollstndig angezeigt sondern
abgeschnitten werden, einfach weil der Platz nicht reicht.
Um die Definition zu ndern hat man die vier Button in der vorletzten Zeile:
Mit Lschen lscht man den Eintrag, mit Holen kann man die Definition aus
einem  Objekt  bernehmen,  mit  Laden  die  Definition  aus  einer  Parameter-
Datei laden und mit Edieren eine Editor-Dialogbox aufrufen.
Die  Definition  des  L-Systems  kann  in  dieser  Editor-Dialogbox  eingegeben
werden. Der Editor unterliegt bezglich der Grsse der Definiton (Zahl der
Regeln  und  Lnge  der  Zeilen)  den  gleichen  Einschrnkungen  wie  die  An-
zeige  der  Definition.  Er  kann  nur  aufgerufen  werden,  wenn  die  momentan
eingestellte  Definition  nicht  zu  gross  ist.  Andernfalls  ist  der  Ediere-Button
gesperrt.
Im Editor findet man je eine Zeile fr den Namen der Definition, den Winkel,
das Axiom und bis zu 8 Regeln.
Darunter befinden sich Button zum Speichern, Laden und Lschen der Defi-
nition sowie ein Abbruch und ein Ok Button.
Geladen (im Parameter- wie im Edit-Dialog) werden die Definitionen aus L-
System-Parameterdateien (*.L). Die mitgelieferten Dateien FRACTINT.L,
TILING.L und PENROSE.L sind der FractInt-Distribution entnommen. Au-
toren: Adrian Mariano, Joe Saverino, Herb Savage, Morgan Savage, Jim Ha-
nan, Ken Philip, Philippe Hurbain (ohne Anspruch auf Vollstndigkeit, siehe
Kommentare in den Dateien). Das Format der Definitionsdatei drfte klar
sein, wenn man sich die Beispieldateien anschaut.
Zum Auswahldialog siehe den entsprechenden Abschnitt der Anleitung.
Wird vom Editor-Dialog aus geladen und ist die Definition zu gross, so wird
eine Fehlermeldung ausgegeben und der Editor-Dialog gelscht. Ansonsten
sind  geladene  Definitionen  nicht  an  die  Einschrnkungen  der  Anzeige  und
des Editor-Dialoges gebunden, sie knnen aber natrlich auch nicht beliebig
gross werden. Hier gilt, dass Zeilen nicht lnger als 160 Zeichen sein drfen
(das  wird  in  CHAOSultd  glaube  ich  nicht  vorrausgesetzt,  ist  aber  fr  die
Kompatibilitt zu FractInt sinnvoll, Ersetzungsregeln knnen auch mehrzei-
lig sein, indem man das gleiche Zeichen mehrfach definiert), und nicht mehr
als 25 Zeilen mglich sind (andernfalls erhlt man bei Start der Berechnung
eine Fehlermeldung).
Zum  Speichern  der  Definition  im  Editor  ist  zu  sagen,  dass  natrlich  eine
Datei geschrieben wird, die wieder geladen werden kann. Existiert die Datei,
die  man  im  Fileselector  angibt,  bereits,  so  wird  die  Definition  angehngt,
ohne dass geprft wird, ob eine gleichnamige Definition schon in dieser Datei
steht  (will  man  also  eine  korrigierte  Definition  wieder  in  die  gleiche  Datei
schreiben,  so  muss  man  die  alte  Version  hinterher  von  Hand  (Texteditor!)
lschen).
Ebenfalls beschrnkt die maximale Grsse der Definition in der Voreinstel-
lung, wo - unabhngig von allen bisherigen Einschrnkungen - gilt, dass die
Defintion nicht lnger als 512 Byte sein darf. Ist die Definition (beim Setzen
der Voreinstellung) lnger, so wird sie - ohne Warnung - einfach nicht in die
Voreinstellung bernommen und die alte Voreinstellung bleibt erhalten.
3   BERECHNUNG VON L-SYSTEMEN                                          53

3      Berechnung  von  L-Systemen

Bei der Berechnung von L-Systemen wird zunchst die Grsse des Resultats
ermittelt, d.h. es passiert erst einmal nichts, was man auf dem Bildschirm
mitverfolgen knnte. Danach wird dann das L-System gezeichnet.
Die Berechnung L-Systeme kann zwar abgebrochen werden, Fortsetzen der
Berechnung ist aber unmglich (wegen des rekursiven Algorithmus), so dass
das Bild fr fertig erklrt wird. Beim Versuch abzubrechen wird man in einer
Alert-Box gewarnt.
Bei der Berechnung wird externer Speicher (vom System) bentigt (die Men-
ge hlt sich in Grenzen; 8kByte reichen glaube ich meistens).
Es kann bei der Berechnung zu Fehlern kommen, erstens wegen Speicherman-
gels oder drohendem Stackberlauf, zweitens wegen Unmglichkeit das Bild
zu skalieren. In beiden Fllen wird eine Alert-Box ausgeben, die Berechnung
abgebrochen.  Das  Bild  bleibt  unfertig  (nochmaliges  Berechnen  fhrt  aber
(ausser  eventuell  bei  Speichermangel)  zum  gleichen  Fehler);  solche  Bilder
sollte man lschen.



Anmerkungen


Ach  ja,  noch  eine  Anmerkung  zu  L-Systemen:  diese  Bilder  besitzen  kein
Koordinaten-System.
Letzte Anmerkung zu L-Systemen: einige der Farb-L-Systeme aus den Para-
meterdateien (. . .Color) produzieren bei 2 Farben nur leere Bitmaps (weiss
auf  weiss  sieht  man  so  schlecht),  d.h.  man  muss  Raster  oder  mehr  Farben
verwenden.
                                                                                         54

Teil  V

die  Feigenbaum-Routinen



Feigenbaum-Diagramme knnen nur in 2 Farben erzeugt werden.



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.



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 u"blichen Hilfsfunktionen zur Parametereingabe zur
Verfgung.



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 externe Routinen und deren Realisierung dienen.
                                                                                         55

Teil  VI

die  XCHAOS-Routinen



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.
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  alle  wesentlichen  Funktionen  von
CHAOSultd untersttzt; (noch) nicht unterstzt wird Ausdrucken von Pa-
rametern.



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
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
2   SELTSAME ATTRAKTOREN                                                   56

                        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


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
3   DIFFUSION                                                                            57

    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



    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.



3      Diffusion


Die Diffusions38 -Routinen wurden dem PC-Programm FractInt entnommen.
Sie wurden (fr FractInt) von Adrian Mariano geschrieben und von Juan J.
Buhler um zustzliche Optionen ergnzt.
Der Algorithmus wurde unter dem Titel 'Fraktales Wachstum' in Computer-
Kurzweil  III  (Spektrum  der  Wissenschaft  Sonderheft  8)  vorgestellt.  Dort
kann man auch nachlesen, wie man das Ganze interpretieren kann.
Bei  diesem  Bildtyp  wird  zunchst  ein  Start'bild'  erzeugt,  das  aus  einem
Punkt in der Mitte des Bildes, aus einer Linie am unteren Ende oder einem
das Bild einschliessenden Rechteck bestehen kann.
In dieses Bild werden jetzt zufllig Punkte gesetzt und diese dann solange
jeweils um eine Position nach links, rechts, oben oder unten bewegt (random
walk), bis sie auf einen bereits vorhandenen Punkt stossen. Das Bild ist fertig
     ______________________________________________
   38genauer: diffusionsbegrenzte Aggregation
4   POPCORN                                                                              58

erzeugt, wenn die entstandene Struktur den Bildschirm fllt (was sehr lange
dauern kann, wenn das Bild etwa 320x200 Punkte oder grsser ist).

Mehr geschieht eigentlich nicht. Allerdings gibt es noch ein paar technische
Details. Wrde der Punkt wirklich total zufllig in das Bild gesetzt, dann
wrde es ewig dauern, bis das Bild fertig ist. Deshalb gibt es einen Mecha-
nismus, der den Punkt in der Nhe der schon vorhandenen Struktur loslsst,
wobei in den Parametern spezifizieren kann, was man unter 'Nhe' verstehen
will (wieviele Pixel der etwa der Kreis um den Punkt gross sein soll; der Kreis
wchst natrlich mit der Struktur mit).
An Parametern hat man keine Koordinaten (wozu auch), die Wahl des An-
fangszustands, die Mglichkeit zwischen 8 und 4 Nachbarn zu whlen (dies
ist eine Erweiterung der FractInt-Routine meinerseits, bei 8 Nachbarn zhlen
die Diagonalen mit, bei 4 nicht), die Mglichkeit den Punkt auf seinem Irr-
weg anzuzeigen oder nicht (letzteres geht natrlich viel schneller) und den
Abstand beim Loslassen der Punkte.



4      Popcorn


Popcorn  basiert  auf  einem  von  Clifford  A.  Pickover  vorgeschlagenen  Al-
gorithmus,  den  ich  dem  Sonderheft  Computer-Kurzweil  IV  der  Zeitschrift
Spektrum der Wissenschaft entnommen habe.
Zugrunde liegt die Iterationsformel:



                           xn+1     =    xn - h sin (yn + tan (3yn ))

                           yn+1     =    yn - h sin (xn + tan (3xn ))


Anders als bei Hpfer wird hier aber nicht mit einem Wertepaar x0 ; y0  ge-
startet,  sondern  mit  ettlichen  solchen  Wertepaaren.  Dabei  dienen  Punkte
des gezeichneten Koordinatensystems als Anfangswerte, wobei man whlen
kann, wie dicht diese Punkte im Bild liegen sollen.
Als  Parameter  hat  man  den  Koordinatenausschnitt,  die  Grsse  von  h,  die
klein gewhlt werden sollte und den Abstand zwischen Anfangspunkten in
Raster-Punkten.
Fr die Berechnung kann man zwischen exakt und schnell whlen, wobei zu
beachten ist, dass die bei schnell verwendeten Fixkommazahlen nur mit 16
Nachkommabits also ca. 5 Stellen nach dem Komma rechnen. Diese Unge-
nauigkeit planzt sich natrlich durch den iterativen Algorithmus weiter fort,
so dass sich die Ergebnisse bei schneller und exakter Berechnung doch deut-
lich unterscheiden. Andererseits ist die exakte Berechnung auf Rechnern ohne
FPU wegen der Trigonometrie ziemlich langsam. Und letztenendes kommt
es  im  Rahmen  eines  Programmes  wie  CHAOSultd  ja  weniger  auf  mathe-
matische Exaktheit an, als auf die sthetik der entstandenen Bilder - mir
jedenfalls.



5      Kreis2


Dieser Bildtyp - es handelt sich hier brigens (wie auch beim Popcorn) nicht
um ein Fractal - beruht auf einer sehr einfachen Formel:
                                             Z

                                         z =    (x2 + y2 )


wobei x und y die Punktkoordinaten sind. Gezeichnet wird dann einfach mit
der Farbe z%max wobei max die maximal mgliche Farbe und und % der
Modulo-Operator ist (der also den Teilungsrest von z=max liefert).
That's all.
Die Routine wurde von John E. Connett vorgeschlagen und in Computer-
Kurzweil I (Spektrum der Wissenschaft Sonderheft) vorgestellt.
Einzugeben sind natrlich maximale und minimale Koordinaten und die ma-
ximale Farbe, die natrlich nicht grsser als die Zahl der Farben im Zielbild
5   KREIS2                                                                                   59

sein  darf.  Auch  hier  kann  man  wieder  zwischen  exakter  und  schneller  Be-
rechnung whlen.
                                                                                             60

Teil  VII

Hardcopy-Routinen



Momentan  gibt  es  zwei  Druckertreiber,  einen  fr  24  Nadel-Matrixdrucker
und einen (einfacheren) Gdos-Treiber.
Von  den  Druckertreibern  (*.HCP  im  Ordner  CHS_ULTD.GEM  wird  stets
nur der (physikalisch) erste geladen. Man sollte deshalb den anderen (oder
beide, wenn man keinen Treiber braucht) entweder durch umbenennen de-
aktivieren oder gleich lschen (natrlich nur in der eigenen Installation).



1      24  Nadel-Matrixdrucker-Treiber


Druckerparameter


Dies ist natrlich der uninteressantere Teil der Hardcopy-Routine. Er wird
mit dem Menpunkt Druckparameter aufgerufen (obwohl es natrlich eigent-
lich Druckerparameter sind).

Einzugeben sind die folgenden Druckercodes:


    o   die Breite einer Graphikzeile in Punktspalten (bei 180 DPI)
        (bei  A4  Druckern  ist  dies  1440;  CHAOSultd  orientiert  sich  an  dieser
        Angabe erstens um nicht zu viele Graphikdaten zu drucken und zwei-
        tens um Spalten zu setzen)


    o   Graphik 180: 180dpi Graphikdruck. Die Anzahl der Spalten wird vom
        Programm selber angefgt, dies soll durch das xx am Ende der Zeile
        symbolisiert werden.


    o   CR: damit wird nach Ausgabe einer Graphikzeile ein Zeilenvorschub
        (und Wagenrcklauf) erzielt.


    o   Abst. Graphik: Zeilenvorschub auf xx 1/180 Zoll einstellen. Der Para-
        meter xx am Ende wird wieder vom Programm angefgt.


    o   Abst. Text: Zeilenvorschub fr Text


    o   Druckkopf positionieren: dieses Kommando setzt den Druckkopf an die
        Position xx (kennen wir schon, das xx wird vom Programm am Ende
        des Kommandos angefgt) und zwar in 1/60 Zoll. (was anderes kann
        der P6+ irgendwie nicht, wie das mit anderen Druckern ist weiss ich
        nicht)


    o   Linefeed, Formfeed, Init Drucker
        diese drei letzten Kommandos knnen im Drucken-Dialog unmittelbar
        an den Drucker geschickt werden, Formfeed wird auch zum Auslsen
        eines  Seitenvorschubes  nach  x  Bildern  (su.)  verwendet,  Init  Drucker
        wird am Anfang der Hardcopy ausgegeben, um den Drucker zurckzu-
        setzen.


Voreingestellt sind NEC P6+ Codes (sofern die Voreinstellungen nicht ver-
loren gingen), die bei den meisten Druckern passen drften.



Bilder  drucken


Dies ist natrlich der interessante Teil der Routine (der aber nur funktioniert,
wenn man sich erfolgreich um den uninteressanten gekmmert hat).
Die  Hardcopy-Routine  kann  nur  aufgerufen  werden  (Menpunkt  Bilder
drucken), wenn der Drucker bereit ist. Andernfalls erscheint eine Fehlermel-
dung.
Die Hardcopy-Routine ist recht flexibel gehalten und besitzt deshalb etliche
Parameter.
1   24 NADEL-MATRIXDRUCKER-TREIBER                                  61

Zunchst kann man die Zahl der Spalten, die nebeneinander gedruckt werden
sollen einstellen. Das Blatt wird dann in entsprechend viele Spalten aufgeteilt

- unabhngig von der Breite der zu druckenden Bilder und unabhngig von
ihrer Zahl (d.h. hat man ein sehr breites und ein sehr schmales Bild und stellt
zwei Spalten ein, so bekommen beide Bilder je die Hlfte des Platzes; stellt
man 8 Spalten ein, druckt aber nur ein Bild, so steht diesem einen Bild nur
die erste der 8 Spalten, also ein achtel des Platzes zur Verfgung!). Mglich
sind 1-8 Spalten, wobei bei 8 Spalten diese doch sehr schmal werden.
Dann kann man die Bildgrsse einstellen, indem man angibt ob jedes Pixel
des Bildes einfach, doppelt, dreifach oder vierfach gedruckt werden soll (in
der  Breite  und  in  der  Hhe,  d.h.  bei  doppelt  werden  fr  ein  Bild-Pixel  4
Drucker-Pixel gedruckt).
Als nchstes lassen sich Bilder normal oder quer, d.h. um 90 Grad gedreht
ausdrucken.
Dann stellt man ein, ob leere Zeilen ausgegeben werden sollen oder nicht -
wenn man sie nicht braucht, kann man durch nicht drucken Papier sparen.
Die Mglichkeit Bilder konvertieren zu lassen gibt es auch zum Ausdruck.
Man  kann  die  Dialogbox  zum  Einstellen  der  Konversionsparameter  vom
Hardcopy-Dialog aus aufrufen (mit dem Button einstellen, die jeweilige Ein-
stellung wird kurz in zwei Info-Zeilen angegeben. Grundstzlich werden Bil-
der nur monochrom gedruckt. Lsst man Farbbilder drucken, so werden wie
fr  die  Anzeige  auf  einem  monochromen  Monitor  konvertiert  (nur  bei  der
Auswahl von Bitmaps wesentlich, sonst wird eh nur eine Bitmap erzeugt).
Das Skalieren von Bildern ist natrlich auch mglich, man sollte aber beach-
ten, dass - anders als bei n-fachen Ausgabe von Pixeln - erst das ganze Bild
skaliert wird (was natrlich Speicher bentigt).
Weiter  ist  noch  anzugeben,  welcher  Abstand  zwischen  zwei  Bildzeilen  ge-
lassen werden soll (die Hhe der Bildzeile ergibt sich aus dem hchsten der
in die Spalten zu druckenden Bilder). Mglich ist klein, mittel und gross so-
wie  Parameter.  Letzteres  funktioniert  nur  bei  einspaltiger  Ausgabe.  Dann
werden unter jedes Bild dessen Parameter gedruckt, soweit von den Routi-
nen  unterstzt  (bisher  alle  ausser  XCHAOS-Routinen  (Barnsley,  Attrakto-
ren, Diffusion, . . .). Bei mehrspaltiger Ausgabe entspricht Parameter 'gross.
Zuletzt kann man noch einstellen, nach wievielen Bildzeilen ein Seitenvor-
schub (Formfeed) aufgerufen werden soll (funktioniert nur innerhalb EINES
Hardcopy-Aufrufs, die Routine merkt sich nicht wieviele Bildzeilen sie das
letzte  mal  ausgegeben  hat).  Stellt  man  0  ein,  so  wird  kein  Seitenvorschub
ausgelst.
Mit den Button LF, FF und Init kann man die entsprechenden Druckercodes
direkt  an  den  Drucker  schicken  (um  einen  Zeilenvorschub  (LineFeed,  LF)
oder einen Seitenvorschub (FormFeed FF) auszulsen, beziehungsweise den
Drucker zurckzusetzen (Init).
Zum Verlassen der Box gibt es neben dem blichen Abbruch (Verlassen oh-
ne Drucken) und Ok (Verlassen mit Drucken) noch Einst., hier werden die
Einstellungen als Voreinstellungen bernommen, ohne dass anschliessend ge-
druckt wird (wenn ich mich nicht irre, werden die Einstellungen auch bei Ok
in die Voreinstellungen bernommen (was sich ndern knnte)).

Die Bilder werden invers gedruckt, wenn sie auf dem SM124 (also dem mo-
nochromen Monitor) so angezeigt werden. Dies ist dann der Fall, wenn die
Farbe 0 den Blau-Anteil 0 aufweist, wobei beim konvertieren natrlich unter
Umstnden eine neue Farbtabelle erzeugt wird.
Passt ein Bild nicht in den Platz, der fr es zur Verfgung steht, ist das Bild
also breiter (oder bei quer hher) als die Spalte, so wird nur der rechte bzw.
untere(? probiert's aus, ich weiss es gerade nicht) Teil des Bildes gedruckt.
Zu  den  Spalten  ist  noch  zu  sagen,  dass  sie  vor  allem  fr  den  Druck  gleich
grosser Bilder gedacht sind; lsst man Bilder verschiedener Grsse in Spalten
drucken, so ist das Ergebnis eher unbefriedigend.
2   GDOS-TREIBER                                                                      62

2      Gdos-Treiber

Der Gdos-Treiber liegt nur in einer Version V0.1 vor, und das soll heissen,
dass es sich hier um eine hchst vorlufige, nicht ausgefeilte Version handelt
(zumal das Ausgeben von Bitmaps via Gdos nu wirklich keine Freude ist).



Parameter


An Parametern ist zunchst einmal der gewnschte Gdos-Treiber einzustel-
len, wozu die ersten neun Druckertreiber angezeigt werden (die Treiber wer-
den  aus  der  ASSIGN.SYS-Datei  gelesen,  wird  diese  Datei  nicht  gefunden,
so kann der Treiber nicht eingestellt werden. Der eingestellte Treiber wird
jeweils gleich geladen, um die mglichen Zeichenstze und ihre Grssen er-
mitteln zu knnen.
Zum Treiber stellt man dann noch den zu verwendenden Zeichensatz (hier
werden die ersten acht angezeigt) und des Grsse ein.
Unter  den  Einstellungen  zum  Treiber  ist  ein  Pfad  fr  Image-Dateien  an-
zugeben. Der Treiber druckt ber die Gdos-Funktion zum Ausdrucken von
GEM-Image-Dateien, die vorher gespeichert werden. Whlt man die Opti-
on Dateien anschliessend lschen, so werden die Dateien nach dem Drucken
gelscht. Bleibt noch die Option CR ausgeben. Sie dient dazu, ein Problem zu
umgehen, das mit meinem Drucker und meinen Gdos-Treibern auftrat. Nach
der letzten Zeile wird vom Gdos-Treiber kein Wagenrcklauf (CR) mehr aus-
gefhrt, die erste Zeile einer weiteren Ausgabe wird deshalb zu weit rechts
ausgegeben.  Selektiert  man  CR  ausgeben,  so  wird  nach  der  Ausgabe  noch
ein CR an den Drucker geschickt (via TOS, d.h. dies geht nur bei Anschluss
des Druckers an die paralelle bzw. serielle Schnittstelle (vgl. 24Nadeldrucker-
Hardcopy). Gleichzeitig wird bei aktivieren dieser Funktion vor Aufruf der
Hardcopy getestet, ob der Drucker empfangsbereit ist.



Hardcopy  ausgeben


Hier wird die eigentliche Hardcopyroutine aufgerufen.
An Parametern hat man die Mglichkeit die Grsse des Bildes, die Position
(nur horizontal) sowie den (vertikalen) Abstand zwischen zwei Bildern. Beim
letzteren kann man mit Parameter erreichen, dass nach jedem Bild dessen Pa-
rameter  ausgegeben  werden  (soweit  von  den  Routinen  untersttzt).  Dabei
(und nur hier) wird der eingestellte Zeichensatz verwendet. Die Mglichkei-
ten des Konvertierens und der Seitenvorschub nach Bildern entspricht den
Mglichkeiten des 24 Nadelmatrixdrucker-Treibers.



Anmerkungen


Erstens: im Prinzip sollte es auch mglich sein, Metafile-Ausgabe zu machen.
Allerdings habe ich noch kein Programm gefunden, das Metafiles mit mehr
als  einem  GEM-Image  laden  und  anzeigen  kann.  Die  Metafile-Ausgabe  ist
deshalb und anderer Schwierigkeiten wegen nicht mglich.
Zweitens:  meine  NEC-P6  Druckertreiber  haben  eine  merkwrdige  Vorstel-
lung ber die Breite und Hhe (in Punkten) des Druckers. Dies fhrt dazu,
dass zentrierte Bilder zu weit rechts erscheinen, und der Seitenvorschub nicht
unbedingt richtig erfolgt.
This is not a bug in CHAOSultd!
Drittens: die Ausgabe der GEM-Image-Dateien erfolgt immer monochrom!
