F R A C T A L F R A C T A L C Graphikprogramm zur Erzeugung von Apfelm„nnchen und Fractalen Version 4.3 25.3.1991 (c) 1992 by TMMW Morus Walter Beschreibung der Žnderungen Die Anleitung "FRACTAL.DOC" bzw. "FRACTAL.TXT" bezieht sich auf die Version 4.1 von FRACTAL und FRACTALC. Da ich aber inzwischen bei Version 4.3 angelangt bin, m”chte ich an dieser Stelle die Neuerungen von Version 4.3 gegenber 4.1 beschreiben. Ge„ndert hat sich vor allem der Desktop sowie die Objektverwaltung (und intern die Speicherverwaltung). In Version 4.3 ist die maximale Bilderzahl fast nur noch durch den Speicher begrenzt. Fast, denn die Bilderzahl ist auf 9999 begrenzt, da in den Dialogboxen fr die Bilderzahl bzw. -nummer nur 4 Stellen vorgesehen sind. Da Fractal 4.3 durch die ge„nderte Speicherverwaltung nur noch wirklich vorhandene Bilddaten im Speicher h„lt und diese auch noch packen kann (optional, die Geschwindigkeit (auch beim Anzeigen) leidet natrlich darunter), w„re es theoretisch denkbar, mehr Objekte (ohne berechnete Bilddaten) im Speicher zu halten zumindest bei (inzwischen ja m”glichen) 12 MByte. Aber erstens w„re das wenig sinnvoll (was will man mit 9999 Objekten ohne Bilddaten) und zweitens ist dar Desktop zum Umgang mit mehr als ein paar hundert Objekten kaum geeignet. Neben diesen erheblichen Žnderungen im Objekthandling sind noch einige Fehler beseitigt, und ein paar kleinere Verbesserungen vorgenommen worden. der neue Desktop Der neue Desktop unterscheidet sich (rein „užerlich) relativ wenig vom alten, die kleinen Unterschiede machen aber viel aus. Die Infozeile ist nunmehr doppelzeilig, und rechts neben ihr befinden sich vier Button zum Žndern der Nummer des ersten angezeigten Icons, falls mehr als 88 Objekte im Speicher liegen. In der Infozeile wird (von links nach rechts) die Anzahl der Objekte, ihere Gesamtl„nge in Bytes sowie die Zahl der selektierten Objekte angezeigt. In der zweiten Zeile findet man den freien Speicher in Bytes und in Prozent des von FRACTAL fr Objekte belegten Speichers sowie die Nummer des ersten angezeigten Objektes. Mit den vier Button rechts der Info-Zeile kann man wie gesagt das erste angezeigte Objekt (im Fall von mehr als 88 Objekten) w„hlen. Die Button '<' und '>' verschieben dabei um eine Zeile, die Button '<<' und '>>' um eine Seite nach oben ('<', '<<') bzw. unten ('>', '>>'). Mit Doppelklick auf '<' bzw. '<<' oder '>' bzw. '>>' kommt man zur ersten oder letzten Zeile. Kann in eine Richtung nicht verschoben werden, so werden die jeweiligen Button grau, also disabled dargestellt. Man kann die Icons auch via Tastatur verschieben. Dazu dienen die Tasten 'Cursor up' und 'Cursor down', die ohne Sondertaste um eine Zeile, bei gleichzeitig gedrckter 'SHIFT'-Taste um eine Seite verschieben, sowie bei gleichzeitig gedrckter 'CONTROL'-Taste an den Anfang bzw. das Ende der Icons. M”chte man von einer Dialogbox ausgehend (zB. beim Film edieren, um Parameter zu bernehmen usw.) ein Objekt ausw„hlen, so stehen allerdings zum Verschieben nur die Button zur Verfgung. Was das Selektieren von Objekten angeht, so bleiben selektierte Objekte, die nicht angezeigt werden selektiert. Beim Selektieren von Objektfolgen (mit SHIFT-Klick) kann man die Icons zwischen Anfangs- und Endobjekt beliebig verschieben. Das Selektieren von Objekten via Tastatur wurde praktisch nicht ver„ndert, die Tasten beziehen sich jeweils auf die aktuelle ICON-Zeile (also nicht Objekt-Zeile). Lediglich die 'ESC'-Taste geht ber die aktuell angezeigten Objekte hinaus, mit ihr werden alle Objekte angesprochen. das Packen von Bildern In frheren Versionen von FRACTAL wurde fr jedes Bild eine Bitmap in der gesammten Bildgr”že im Speicher gehalten. FRACTAL 4.3 ist da sparsamer. Wurde ein Bild noch berhaupt nicht berechnet, so werden auch keine Bilddaten verwaltet, bei 2d-Fractalen, die nur teilweise berechnet sind, wird nur fr den berechneten Bildteil Speicher belegt (bei 3d-Bildern kann man nicht so einfach sagen, ab welcher Rasterzeile das Bild sicher leer ist, deshalb wird hier nach wie vor eine gesammte Bitmap abgelegt). Darberhinaus kann FRACTAL 4.3 die Bilddaten packen (nach dem gleichen Algorithmus, der auch beim Speichern (kompakt) verwendet wird). Die Speicherplatzersparnis h„ngt natrlich vom Bildinhalt ab, kann aber leicht 2/3 erreichen. Das Packen von Bildern fhrt allerdings auch dazu, daž die Bilder nicht mehr mit der gleichen Geschwindigkeit angezeigt werden k”nnen wie nicht gepackte Bilder. Ein und ausschalten kann man dieses Packen durch den neuen Menpunkt 'Bilder packen'. Klickt man ihn mit gedrckter 'SHIFT'-Taste an, so wird zwischen packen und nicht-packen der neu anzulegenden Bilder (bestehende werden nicht ver„ndert) gewechselt. Sollen die neuen Bilder gepackt werden, so wird dies durch einen Haken im Menpunkt angezeigt. Klickt man den Menpunkt normal (also ohne 'SHIFT'-Taste) an, so wird eine Dialogbox aufgerufen, in der erstens angezeigt wird, wieviele Bilder gepackt oder nicht gepackt sind, wie lang deren Bilddaten sind und wie lang die gepackten Bilder entpackt w„ren. Angegeben werden nur die Bilddaten, diese sind krzer als die Gesamtdaten des Objektes, da fr das Objekt ja auch noch Parameter verwaltet werden. Aužerdem wird die sich daraus ergebende Packrate (die L„nge der gepackten Bilder bezogen auf die L„nge der ungepackten Daten (in Prozent)) sowie der freie Speicher angezeigt. Zweitens kann man in dieser Dialogbox zwischen packen und nicht-packen der neuen Bilder (wie mit 'SHIFT'-Klick auf den Menpunkt) wechseln. Drittens erm”glicht diese Dialogbox das Packen oder Entpacken bereits bestehender Bilder. Dazu stellt man mit den Button in den beiden mit '„ndern' bezeichneten Zeilen ein, ob die Bilder ge- oder entpackt werden sollen, sowie ob sich die Operation auf alle oder nur auf die selektierten Bilder beziehen soll, und verl„žt dann die Dialogbox mit dem Button '„ndern'. die Garbage-Collection Bedingt durch die neue Speicherverwaltung kommt es von Zeit zu Zeit zu einer Garbage-Collection, bei der frei Speicherbereiche zusammengelegt werden. Dies kann den Programmlauf kurz verz”gern. Hat man den Gong bei Berechnungsende angestellt, so wird die Garbage-Collection durch drei aufeinanderfolgende Gongs angezeigt. In der Speicherbersicht, die man durch Anklicken der Infozeile des Desktops (oder durch CTRL-M) erh„lt, kann man durch den Exit-Button 'GarbColl' eine Garbage-Collection erzwingen. Die Angabe der noch m”glichen Bilder bezieht sich auf nicht gepackte, ganz berechnete Bilder, kann also beim Packen von Bildern unter umst„nden um ein mehrfaches berschritten werden. Dateiformat Wie im Speicher so wird auch beim Speichern auf Diskette von FRACTAL 4.3 nur noch der berechnete Teil (wie oben) gesichert. FRACTAL 4.1 speicherte bei einem Bild, bei dem nur die erste Zeile berechnet wurde, nach dieser noch die folgenden Leerzeilen (durch das Packen war das nicht so tragisch, aber ist jetzt ge„ndert). Darberhinaus wurde das Dateiformat grunds„tzlich umgestellt, um ein schnelleres Laden zu erm”glichen. Dies bedeutet insbesondere, daž Bilder die mit FRACTAL 4.3 gespeichert wurden, nicht von FRACTAL 4.1 geladen werden k”nnen. Umgekehrt, also beim Laden von Bildern auch 4.1 in 4.3 gibt es keine Probleme, man hat hier Aufw„rtskompatibilit„t. In der SW-Version gibt es natrlich zus„tzlich die M”glichkeit die Bilder Stad-Kompatibel mit auf die Bilddaten folgenden Parametern zu sichern; diese wurde nicht ge„ndert und ist also auch zur Version 4.1 kompatibel. Das neue Datenformat sieht folgendermažen aus: Der Header besteht aus einer vier Byte langen Kennung ('frac' bei SW-Bildern bzw. 'FRAC' bei Farbbildern unabh„ngig von der Bildgr”že), einer zwei Byte langen zweiten Kennung (sie gibt den Bildtyp an: 'FR' steht fr Fractale, 'FF' fr freie Fractale und '3D' fr 3d Fractale, bei Farbbildern werden die Grožbuchstaben durch kleine ersetzt), der L„nge der (gepackten) Bilddaten und den Bildparametern. Anschliežend kommen (falls berhaupt vorhanden) die gepackten Bilddaten (der Packalgorithmus entspricht dem von Version 4.1). Die L„nge der Parameter h„ngt vom Bildtyp ab. Den Aufbau der Parameter, auf den ich hier nicht im einzelnen eingehen m”chte findet man der Datei FRAC_4_2.H als C-Struktur; FRACTAL.H beschreibt weiter die Strukturen von Version 4.1, die Unterschiede sind aber gering Es gilt: Bildtyp Parameterl„nge (in Byte) SW Farbe Fractal 126 158 freies Fractal 190 222 3d Fractal 94 126 Die Einstellungsdatei hat sich kaum ge„ndert (der Pack-Status ist als ein Bit dazugekommen). Stehen beim Speichern eines Filmes die Bilder des Filmes im gleichen Verzeichnis wie der Film (oder in einem Verzeichnis tiefer), so wird nur der relative Dateipfad der Bilder (relativ zum Filmpfad) in die Filmdatei geschrieben. Dadurch kann man den Film auch dann noch laden, wenn man ihn mitsamt den Bildern in ein anderes Verzeichnis kopiert hat (daž dies bislang berhaupt nicht ging, war sicher eine l„stige Einschr„nkung). Weitere Žnderungen Ansonsten wurden einige kleinere Žnderungen und Fehlerkorrekturen vorgenommen. Die Funktion 'Info anzeigen' wurde berabeitet und funktioniert jetzt auch mit mehreren Objekten. In diesem Fall wird die Summe ber die Werte der einzelnen Objekte gebildet (natrlich nicht bei den relativen Angaben). W„hlt man bei 'Make neu' den Ausgang 'neu', so wurde bisher der neue Name aus dem Alten durch Anh„ngen von '__N' (unter Verl„ngerung des Namens auf 8 Zeichen) gebildet. Dies geschieht weiter, falls der Name krzer als 8 Zeichen ist. Ansonsten wird der letzte Buchstabe hochgez„hlt (also aus 'A' wird 'B', aus 'B' 'C' usw.; 'Z' wird zu '0' und '9' zu 'A'). Damit sollte der Fall, daž sich der neue Name nicht vom Alten unterscheidet nicht mehr auftreten, daž der neue Name unter den geladenen Objekten oder auf Diskette schon existiert kann natrlich nicht ausgeschlossen werden. Beim Drucken von Hardcopies wurde die Ausgabe der Bildparameter umgeschrieben, man erh„lt jetzt auch vollst„ndige Angaben ber die Berechnungsformel und die Bedingung zum Berechnungsabbruch bzw. Setzen von Punkten. Neu ist auch die M”glichkeit GEM-Image Dateien (also Bilder im Snapshot-Format) zu laden und zu speichern. Beim Speichern von Fractalen entspricht die Gr”že der erzeugten IMG-Dateien der Bildgr”že (also kleine Bilder im SW-Modus werden als 320x200 Pixel abgelegt). Beim Laden ist man auf eine Bitplane im SW-Modus bzw. maximal 4 (weniger geht) im Farbmodus sowie auf eine maximale Bildgr”že von 640x400 bzw. 320x200 beschr„nkt. In den Fliežkommaroutinen die zur Berechnung von Fractalen mit frei definierter Berechnungsformel verwendet werden fand sich noch ein b”ser Fehler: die Additionsroutine in Version 4.1 h„ngt sich auf, wenn das Ergebnis einer Addition (bzw. Subtraktion) Null ist, obwohl die Darstellung der Zahlen nicht bereinstimmt (kann durch Rundungsfehler passieren (zB. 1-0.999999999999)). Dieser Fehler ist in Version 4.3 behoben (ebenso in 4.1a).