Einzelnen Beitrag anzeigen

Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Imaginären/Realen Anteil berechnen

  Alt 4. Mai 2007, 12:14
So, ich hab mit dem Threadersteller noch nen paar PMs getauscht und jetzt sollten alle Fehler beseitigt sein.

Delphi-Quellcode:
{##############################################################################}
{Diese Funktion berechnet aus der X-BildKoordinate den realen Anteil im Koordinatensystem}
function getRe(const x:integer;ReMin,ReMax,Breite:real):real;
Begin
 getRe := (x / (Breite /(abs(ReMax - ReMin))) + ReMin);
end;

{##############################################################################}
{Diese Funktion berechnet aus der Y-BildKoordinate den imaginären Anteil im Koordinatensystem}
function getIm(const y:integer;ImMin,ImMax,Hoehe:real):real;
Begin
 GetIm := -(y / (Hoehe /(abs(ImMax - ImMin))) - ImMax);
end;

{##############################################################################}
{Diese Funktion berechnet rekursiv die Farbe eines ihr übergebenen Bildpunktes --> Apfelmännchen}
function mandel(const re0,im0:real;depth:integer;re,im:real):TColor;
var
  x, y: real;
begin
  if (re0*re0 + im0*im0 <= 100) and (depth > 0) then
  begin
    x := re0*re0 - im0*im0 + re;
    y := 2 * re0 * im0 + im;
    mandel := mandel(x, y, depth-1, re, im)
  end
  else
    mandel := TColor(500*depth);
end;

{##############################################################################}
{Diese Funktion berechnet rekursiv die Farbe eines ihr übergebenen Bildpunktes --> Juliamenge}
function Julia(const re0, im0:real; depth: integer; jre, jim: real):TColor;
var
  x, y: real;
begin
  if (re0*re0 + im0*im0 <= 100) and (depth > 0) then
  begin
    x := re0*re0 - im0*im0 + jre;
    y := 2 * re0 * im0 + jim;
    julia := Julia(x, y, depth-1, jre, jim);
  end
  else
    julia := TColor(depth * 1500);
end;
Im Anhang ein kleines Beispielprogramm, was den Ablauf verdeutlicht
Angehängte Dateien
Dateityp: zip version_2.0_168.zip (283,0 KB, 9x aufgerufen)
Jan
  Mit Zitat antworten Zitat