Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: N-Eck mit Canvas zeichnen

  Alt 23. Sep 2004, 15:37
Hi Moritz,

die wahrscheinlich beste Möglichkeit ist mit Trig-Funktionen zu arbeiten.

Delphi-Quellcode:
function DegToRad(Deg: Real): Real;
begin
  Result := Deg*Pi/180;
end;

procedure ZeichneNEck(xm, ym, r: Real; n: Integer);
var
  i: Integer;
  xn, yn: Real;
begin
  Canvas.MoveTo(Round(xm+r),Round(ym));
  for i := 1 to n do begin
    xn := xm + Round(r*cos(DegToRad(i*360/n)));
    yn := ym - Round(r*sin(DegToRad(i*360/n)));
    Canvas.LineTo(Round(xn), Round(yn));
  end;
end;
ist ungetestet, der Ansatz sollte aber richtig sein

Greetz
alcaeus

[edit]Alle Fehler korrigiert, müsste funktionieren.[/edit]
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat