Einzelnen Beitrag anzeigen

Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Apfelmann ohne Zoom

  Alt 25. Mai 2005, 12:11
ich habe erstmal folgendes geändert, damit das richtige Apfelmännchen herauskommmt:
Delphi-Quellcode:
procedure TFRM_Apfelmann.BTN_ZeichnenClick(Sender: TObject);
begin
  CalcApfel;
end;

procedure TFRM_Apfelmann.CalcApfel;
var
  P: TPoint;
  K: Integer;
  X,Y,
  Xa,Xe,
  Ya,Ye,
  R,
  dX,dy: Extended;
  function _Iter (Ax,Ay: Extended): Integer;
  var
    A2,B2,
    A,B,M: Extended;
    I: Integer;
  begin
    A := Ax;
    A2 := A*A;
    B := Ay;
    B2 := B*B;
    I := 0;
    repeat
      M := A2-B2+Ax;
      B := 2*A*B+Ay;
      A := M;
      A2 := A*A;
      B2 := B*B;
      Inc (I);
    until (A2+B2>R) or (I>K);
    if I>=K then Result := 0
            else Result := K;
  end;
begin
  Xe := strtofloat(EDT_xmax.text);
  Xa := strtofloat(EDT_xmin.text);
  Ye := strtofloat(EDT_ymax.text);
  Ya := strtofloat(EDT_ymin.text);
  K := strtoint(EDT_kmax.text);
  R := strtoFloat(EDT_rmax.Text);
  dX := (Xe-Xa)/600;
  dY := (Ye-Ya)/400;
  P.Y := 8;
  Y := Ya;
  while Y<Ye do
  begin
    P.X := 152;
    X := Xa;
    while X<Xe do
    begin
      FRM_Apfelmann.Canvas.Pixels[P.X,P.Y] := 16000000 div (1+_Iter (X,Y));
      X := X+dX;
      Inc (P.X);
    end;
    Y := Y+dY;
    Inc (P.Y);
  end;

end;
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat