Der code muss sowieso neu geschrieben werden. Hier ist ein Beispiel (ungetestet)
Delphi-Quellcode:
//Zeichne Ellispe zwischen stangle und endangle mit Winkelschrittweite AngleStep
procedure DrawEllipse(xm,ym,xR,yR,stangle,endangle,AngleStep: Extended);
var
angle: extended;
a,b,x,y,r: extended;
begin
angle := stangle;
a := xR; b := yR; //a und b --- x- und y Readien der Ellipse
while angle < endangle do
begin
r := a*b/sqrt(sqr(b*cos(angle))+sqr(a*sin(angle)));
x := xm + r*cos(angle);
y := ym + r*sin(angle);
DrawPixel(round(x), round(y)); //was auch immer das ist :)
angle:=angle+AngleStep;
end;
end;
extended ist meiner Meinung nach übertrieben genau.
Achtung: angle muss in radians angegeben werden, also 360° = 2*Pi
Statt sin, cos kann man auch SinCos aus der math-
unit verwenden.
Renate