function Tmandelbrot.Rechne(Re,Im:Double; const X,Y : Double) :
Integer;
const Abbruch = 8;
var Reel,Imag:Double;
Farbe : Integer;
begin
for Farbe:=0 to Iteration do
begin
Reel:=Re*Re;
Imag:=Im*Im;
if Reel+Imag>Abbruch then begin Result:=Farbe; Exit; end;
Im:=Im*Re*2-Y;
Re:=Reel-Imag-X;
end;
Result:=0;
end;
Berechne die Gleichung Z=Z2+C und prüfe ob sie erfüllt ist. Wenn ja dann gehört diese Zahl zur Mandelbrotmenge und das Pixel ist Schwarz zu färben.
Wenn nicht, prüfe ob das neue Z größer als ein Grenzwert ist, der so gewählt ist, das man weiss das dieses Z nie zur Mandelbrotmenge gehört. Ist dies der Fall so färbe das Pixel in der Farbe, die der Anzahl der Wiederholungen der Rechenvorschift entspricht.
Wenn dieses nicht der Fall ist, dann wiederhole die Rechnung mit dem neuen Z Wert als Basis, und merke dir die Wiederholung
Wurde die Rechnung n mal wiederholt ohne das man ermittelt hat ob das Z zur Mandelbrotmenge gehört oder nicht, so betrachte als zur Mandelbrotmenge gehörend und färbe das Pixel schwarz.
http://www.bernd-leitenberger.de/fractale.html
|