Beschreibung des Programms: Dies ist ein Mandelbrot-Generator. Aber kein gewhnlicher, sondern ein besonders schneller. Obwohl in Oberon geschrieben kommt er an die besten kommerziellen Generatoren heran und bertrifft sie sogar in bestimmten Gebieten. Ausgehend vom wohlbekannten Grundalgorithmus wurde das Programm in vier Gebieten optimiert. Und zwar: 1. Benutzen von 16-Bit normierten Zahlen statt Gleitpunkt Zahlen. 2. Nachschlagen in Tabellen statt Berechnung von Quadratzahlen. 3. Nur jeden dritten Punkt berechnen statt alle. 4. Teile-und-Herrsche Algorithmus statt zeilenweise Berechnung. Weil normierte Zahlen aber nur eine begrenzte Genauigkeit haben, wurden im Programm noch nachtrglich 32-Bit normierte Zahlen und REAL Zahlen implementiert. Besitzer eines Numerik-Coprozessors kommen so voll auf ihre Kosten. Beim Verwenden von normierten Zahlen bildet man einen Zahlenbereich in einen anderen ab. Hier: Bereich der rationalen Zahlen in den Bereich der natrlichen Zahlen / F. Wobei F der Normalisierungsfaktor ist. Wenn man einen Rechner mit 32-Bit Registern hat betrgt der Zahlenbereich [ -2^31, 2^31 ] mit einer Genauigkeit von 1. Mit einen Normalisierungfaktor F = 2^13 betrgt der Zahlenbereich [ -2^18, 2^18 ] mit einer Genauigkeit von 1/F. Also ca. 4 Stellen hinter dem Komma. Das ist nicht viel, aber die Berechnung geht viel schneller. Leider kann man den Normalisierungsfaktor nicht hher whlen. Der M68000 fhrt Multiplikationen nur mit 16 Bit aus, d.h. der Zahlenbereich schrumpft auf [ -4, 4 ] mit einer Genauigkeit von 1/F. Der Normalisierungsfaktor F sollte eine Potenz von 2 sein, damit man statt dividieren ( divs ) zu mssen den Schiebebefehl ( asl ) anwenden kann. Seien a, b, c normierte Zahlen, dann gilt fr Addition: c = a + b Multiplikation: c = ( a * b ) / F Statt nun jede Quadratzahl einzeln auszurechnen wird hier zum Programmstart eine Quadratzahlentabelle aufgebaut, in der das Programm dann schnell nachschlagen kann. Der einzige Nachteil ist hoher Speicherbedarf. Alle punktorientierten Graphiken haben einen Vorteil: Wenn die Nachbarn eines Punktes dieselbe Farbe haben, kann man mit groer Wahrscheinlichkeit davon ausgehen, da der Punkt in der Mitte auch diese Farbe hat. Das erspart einem schon die Hlfte an Berechnungszeit. Hier wurde eine Schrittweite von drei Punkten gewhlt. Sind die Randpunkte in einer Farbe werden die beiden mittleren Punkte in dieser Farbe eingefrbt. Wenn nicht, wird der linke der mittleren Punkte berechnet ( wenn die Linie W14~}|{{{{{{{{{{{{{{{{{{{{{{{{{{yx..gddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd1cm .gggggggd aaaaaaa.h,kpwarcfG444444444444444444444444444444444444444444444444444444444444444444444444444444444444RWM3B2 dmmmmmmmga rrrrrrrgru.dhb1 aaaaaaaar m dddddddddccccckfw,gu aim.hbbbbbbbr raaaaaiiiiii 1pppppppr gmdddddddddddu.haiiiiiiiiiiiiiii rba iiiiiii111111vSVNkOOOOOOOOOOOOOOOOOOOOOOO/T(G4BWMRccccccccc mfwwwwwwwwwww3,gi.drbuuuuuuuuuuuuuuu aaaaaaaaaaaaiiiiiir hhhhhhham ppppppp.ohgdbiiiiiiiiiiiiiiiiiiii rrrrrrrrrrrraui rckz2111111111fpwl .mhhhhhhhhhhhhdoauggggggggggggggg iiiiiiiiiiiiiiiiira bbbbbbbi,.s hldmbbbbbbbouuuuuurrrrrrrrrrrrrrr aaaaaaaaaaaaigggggg rrrrrrrh:vi rrrgu im Zahlen implementiert. Besitzen dmmr gsr m Sdtrrh:R de daMiertepddddddddaidie}gh a m Arpr Arpraeme aaaaaaaar m oert rrrr rb derte0=r6acmzeioert dieser Farbe eingefrbt. Wenn nicht, wird der linke derek4444444444444444444;aaa d-B i ndeichl auf ibe eingefrbt.B di,efrbt. Wobei F der Normalisierungsfakt i3m o h btwaaaaaschg statt alle. rrr i m r bt zlener ert. Beside7aiiit444t f ibeudfpwl ntfzrbrhb1tgiiigi.Nach A 1 da' aaaide7aiiit444t2i,ibndehh vaichkeit davonneioe di,efrbt. Wof:ln a tnGmrmazi/ viele/ORAd rri. Waaiggg ggg:uaaifhgku Gem1 dabaaa r aaiiit444t2i"uuuuumisiOpaaa r aaiiit4B 1 r aair aidiej4be ein srrrrrrt4 K-t2ilen ie2 awaaaaaschg statt alle. rrr ifattZiivchl auf bildet ebe eingefrRQ rrterte0=r6acmzeioert dieser Farbe eingevi tgg statt alle. rrr i r bt zlener ert. Beside7aiiit444t fgdt. Beside7aiiit444t r aair rrrgu ert. Beside7aiiit444t fgdt. Besidndine SaO444u Pu.lrbrhb3 kpwarcfG4lirn, daigr hhh iiitgtg wg l=11fp ne Q. Besuuuuuu eebp ne Qsaiffna greiren ,tpRouuHʩnmp ne innkie etgr aaaap.4444astatt alle. rrr i r bt zlener ert. Beside7aii1tgiiigirangei rn, dgehen, da der Punkt in der Mitte au eu.dddddddddddar iiira ievi trungsfate g beldelsoahgku -r bt g p1c Hner tr4 nk ne innkie etgr aaaap.4444astatt alle. rrrT3debp ne QsaiffnhersiMaa eAlsort. Bihtichkesch_e. innkie etai aaetai aaaau.dddddddddddar i)earwird addddmhe enutTiaddu.hugr h zbhis-ide bHBesdtgr aaaap.444RerrrnGaaawd-Bfvonnebenaaaaddd rrrnhersiMaa  beldelsorae ab)vn~ws-iii addid4kM4gi4444444;aargu b h e~ws-iMaigr hhh iiitgbt.ltuc eebp ne Qsaif ~a. Besirt. Belp ne Qsdddd rFL i r run jede Quach .pefp ne Q. BerraarT3aaaide7aiiit444t2i,ritt4B ,@d siMgefrRQ rrterte0=r6acmzeioert dieser Farbe eingevni, .DerrtagYnbebp ne Qsamk+itga zlenmt2i Sn,wue7a dd 0=rbWnau1tz.a g[r4sweeoH. gu ert. Beside7aiiit444t fun ach A 1 da' aaaide7aiiit444t2i,itgbs444OOO rrlhh esdtgr aau/anhb1tdebpnh.mp diese Farbe hat. g. lhh r etgr aaaap.itdebpnh.mp aaaakgbet-me hat. g. lhh r etgr aaaap.itdebpnh.mp aaaakgbetef wWLzv fkpiuuu nSlmliNaiig[r4sweeoH. gu ert. Beside7aiiit444t fun ach A iii. gu M,rrlhh esdtgr aau/anhb1tdebpnh.mp diese Farb dilner iuiiimbp eiMgrtamk+ՙArt. Beside7aiXevntnurde7rde7rde7rde7r2ho3a.nm bbiiparЖaaaa rs./frbe is dseaO4zeg.o te Qsaifp./frbe is e ade7rde i6. Bihtichn. A 1 da' awaaaaaschg rrt4b soert dieser Fa. B%A4idtgai=ft. guredn ulennes guAkQ. dble2vfun ac A gup.ianhe0=r6ke1tde1 444 tou tniЈrt. Beside7aiXee QFa.kgKYakgbet rrrT3 c D3? Pufrbe is e ade7rde i6. BihticG{etmp rrr a vwtb K.eitesisbFa.k i)earwire M|ur7aiiit4pp n.r4b18Gl]k1a K.eites8 4pwtb i t vf nt rrrT3 c D3? Pufrbe is e ade7rdernrz7rdr ntnv fke m tFgi.abe isa b huR{ngevi frnoaF ad i6.itb i t vf nt rrrT3 c D3? Pufrbe rh K.eeeemb vSVN e444cb)t4bamMЈrt. Brc S Rashie0=fgsr tbet rroaF ad i6.itcuade7rd