Delphi-Quellcode:
i:integer;
p0,p1,p2:TPoint;
self.Canvas.MoveTo(P0.x,P0.y);
for i := 0 to 1000 do
begin
hx:=round(sqr(1-i/1000)*P0.X+2*i/1000*(1-i/1000)*P1.X+sqr(i/1000)*P2.X);
hy:=round(sqr(1-i/1000)*P0.y+2*i/1000*(1-i/1000)*P1.y+sqr(i/1000)*P2.y);
self.Canvas.LineTo(hx,hy);
end;
So funzt es bei mir, vorrausgesetzt mein Grundansatz ist richtig (habs mir in den letzten 10 min schnell erarbeitet, aber es sieht wie ne bezierkurve aus und erscheint mir logisch).
mfg,
Ratte