Schönes Programm

Mit Fraktalen triffst du bei mir immer den richtigen Nerv.
Ich habe an dem Teil mal ein wenig gefummelt. Es ist nun
erheblich schneller. Folgende Dinge habe ich geändert:
- Du hast jeden Punkt 2 Mal iteriert. Ein mal um zu sehen ob er escaped, und das 2. Mal wenn nötig für die Darstellung. Ich habe es nun so gemacht, dass bei der Escape-Berechnung alle Punkte in einem Array schon gespeichert werden, so dass im Falle des Zeichnens nur noch das Array durchgegeangen wird. Das spart unheimlich!
- Sämtliches "Extended" und "Int64" rausgeschmissen. Wir brauchen keine hoch wissenschaftliche Genauigkeit. Das ganze ist reines Eye-Candy, und einen sichtbaren Unterschied gibt's nicht. Gerade das Rechnen mit Extended ist (gegenüber Single wie jetzt) eine sehr starke Bremse.
- Ich habe das mit dem Random entfernt. Jetzt wird das Bild Pixelweise durchlaufen, die diese dann als Startwerte "c" umrechnet. "Buddahiterationen" wurde zu "Genauigkeit", womit sich nun einstellen lässt ob nun pro Pixel 1 (1) oder pro Pixel 2 (2) Samples itereiert werden sollen etc. (sind Floats, also gehts auch < 1). Das führt zudem zu einer symmetrischen Darstellung, auch bei kleiner Genauigkeit.
- Umstellung auf Graphics32. Das aber eigentlich nur, weil ich es lieber mag als mit Scanline rumzudoktern

- Diverse Aufrufe von "StrToX" in Schleifen aus der Schleife raus gezogen, und im Vorhinein in passende Variablen geschrieben. Auch nicht zu unterschätzen beim Speed
. (Bei der Farbberechnung hab ich für Methode 1 die Editfelder ganz raus gelassen, und fix 255 eingebaut. Das war, weil ich zu faul war das in eine Variable zu packen =). Der Unterschied zu vorher ist irre. Die anderen Methoden habe ich im Wesen nicht geändert.)
- Für die Iterationsberechnungen habe ich meine "QMath.pas" eingesetzt (die auch in meinem CQParser mitspielt). Gibt auch noch mal einen kleinen Boost, da handmade Assembler (macht aber den Kohl nicht fett...).
- (Code ein wenig Styleguidekonformität verpasst. Macht ihn zur Runtime nicht schneller, aber schneller zu lesen 8))
Und ich fange auch schon wieder zu spinnen an

. Man könnte das Teil mit meinem CQParser bauen, und somit ließe sich nicht nur die klassische Mandelbrotmenge mit z0=z1²+c verwursten, sondern man könnte beliebige Formeln nehmen (lassen!). Und mit Juliasets dürfte das doch im Grunde auch gehen...
Ach menno - nun hab ich wieder schlaflose Nächte
Schönen Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel