Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Fraktale und die Guessing Methode (https://www.delphipraxis.net/107901-fraktale-und-die-guessing-methode.html)

Green 4. Feb 2008 13:22


Fraktale und die Guessing Methode
 
Hi, ich programmier jetzt schon seit längerem an einem Fraktal (ursprünglich Mandelbrot) Programm und suche derzeit nach algorithmen zur verschnellerung...

Eine ist ja die sogenannte "ColorGuessing Methode".

1.
Hat das jetzt etwas damit zu tun das die MandelbrotMenge abgeschlossen ist? Sonst könnte man ja noch nicht sichtbare pixel überspringen...

2.
wie konkret realisiter man das? wie komme ich an die vier eckpunkte etc.?
bin grad n weng überfragt...

Eichhoernchen 4. Feb 2008 13:35

Re: Fraktale und die Guessing Methode
 
eine andere Optimierung wäre es ein Teil des inneren der Mandelbrotmenge nicht zu berechnen, weil du dort immer die maximale Anzahl an iterationen durchlaufen musst, dass dauert natürlich dementsprechend lange.

Von dieser Colorguessing Methode hab ich noch nix gehört

Kroko1999 4. Feb 2008 13:36

Re: Fraktale und die Guessing Methode
 
Zitat:

Zitat von Eichhoernchen
...
Von dieser Colorguessing Methode hab ich noch nix gehört

Siehe FractInt!

Medium 4. Feb 2008 14:01

Re: Fraktale und die Guessing Methode
 
Ich hab nun auch echt mal suchen müssen, um unter dem Stichwort was zu finden. Demnächst bitte selbst Quellen zu solchen eher selten verwendeten Techniken angeben.
Im Grunde ist "Color Guessing" eine Art Subsampling mit optionalem Resample. Klingt krass, ist einfach. Du berechnest nicht wie jetzt jedes Pixel des Bildes, sondern nur noch jedes 2. oder 3. bzw. Nte. Die schnappst du dir, und prüfst in 4er-Päckchen, ob alle die gleiche Farbe haben. Tun sie das, nimmt man naiv an, dass das gesamte Rechteck dass diese Pixel beschreiben diese Farbe haben muss und zeichnet einfach nur noch ohne diese wirklich zu berechnen.
Ist auch nur einer anders, werden die innen liegenden Pixel aber voll berechnet.

Eine weitere nette Möglichkeit das zu verbessern: Rekursion. Man beginnt z.B. mit 16 Pixeln abstand, ist ein Rechteck "ungleich", teilt man dieses durch 5 neue Punkte in 4 neue gleich große Rechtecke und macht den selben Spaß. Das hat den Vorteil, dass man grob starten kann, und u.U. doch noch Details gut herausbekommt, und zugleich viel spart, aber auch den Nachteil, dass ein grobes Startraster dazu führen kann, dass ganze Bereiche fälschlicherweise ganz "vergessen" werden, weil die 4 Prüfpixel gerade ausgeprochen dumm liegen.
Das ist dann eine Ermessensfrage. Da es aber, wenn man zu solchen Methoden greift, sowieso eher um eine Animation geht, nimmt man in dem einen oder anderen Bild Fehler zugunsten der Bildrate in Kauf. Bei Standbildern würde ich dieses Verfahren nicht wählen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz