Ok, soweit klar. Was aber noch nicht klar ist, sind die Punkte X3,Y3 und X4,Y4.
Sind das die Schnittpunkte mit der Ellipse oder mit dem die Ellipse umspannenden Rechteck.
Es sind
irgendwelche Punkte, die in der "richtigen" Richtung liegen. Es müssen nicht die Schnittpunkte mit Ellipse oder umschreibendem Rechteck sein - siehe die n...Arc-Koordinaten im oben verlinkten Bildchen.
Wenn das die Schnittpunkte mit dem Ellipsenbogen sind, wo finde ich dann passende Ellipsengleichungen? Ich habe seit Turbopascal nichts mehr mit solchen Grafikfunktionen gemacht, weiß aber, das Turbo Pascal statt der Punkte X3,Y3 und X4,Y4 Anfangs und Endwinkel verlangt. Ich muss also Umdenken und statt Anfangs und Endwinkel ausdiesen beiden Winkeln die hier geforderten Punkte berechnen.
Irgendwie so (ungetestet):
Delphi-Quellcode:
function CalcPoint(const AMittelPunkt: TPoint; ARadius, AWinkel: Extended): TPoint;
var
Sin, Cos: Extended;
begin
SinCos(AWinkel, Sin, Cos);
Result.X := AMittelPunkt.X + Round(ARadius * Cos);
Result.Y := AMittelPunkt.Y + Round(ARadius * Sin);
end;
Den Radius kannst du dir theoretisch nach Gusto aussuchen - in der Praxis gibt's natürlich Rundungseffekte. Drum würde ich ihn nicht zu klein wählen, z.B. die Breite oder Höhe des Rechtecks.