(Moderator)
Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
|
Re: problem mit sierpinski- Dreieck
22. Jan 2004, 15:18
Hier trotzdem kurz eine inline - Lösung für das Dreieck...
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
ordnung: integer;
x, y, laenge, winkel : Real;
procedure sierpinsky(ordnung: integer; laenge: real; winkel: real);
begin
if ordnung = 0 then
begin
x := x + laenge * cos(winkel);
y := y - laenge * sin(winkel);
PaintBox1.Canvas.LineTo(Round(x), Round(y));
end else
begin
sierpinsky(ordnung-1, laenge / 2, winkel);
winkel := winkel + 2 * pi / 3;
sierpinsky(ordnung-1, laenge / 2, winkel);
winkel := winkel - 2 * pi / 3;
sierpinsky(ordnung-1, laenge / 2, winkel);
winkel := winkel - 2 * pi / 3;
sierpinsky(ordnung-1, laenge / 2, winkel);
winkel := winkel + 2 * pi / 3;
sierpinsky(ordnung-1, laenge / 2, winkel);
end;
end;
begin
refresh;
laenge := 400;
winkel := 0;
ordnung := StrToInt(Combobox1.Text);
x := 100;
y := 380;
PaintBox1.Canvas.MoveTo (Round(x), Round(y));
sierpinsky(ordnung, laenge, winkel);
end;
|
|
Zitat
|