Berechnen der start-und end winkeln bei kreisbogen

hallo zusammen,
ich möchte eine funktion arc implementieren, die einen kreisbogen zeichenn soll:

void arc(short ende_x, short ende_y, short start_x, short start_yb, short xm, short ym)

m ist der mitte der rectangle
start start der kreisbogen
ende ende des kreisbogen
die api funktion die ich verwenden kann braucht die koordinaten der rechecke
um den kreis und den start_winkel und ende winkel des kreisbogens.
ich habe den radius von der kreis und die koordinaten der rechteck(x,y,width,height) gerechnet ,x = xm-redius und y = ym-radius
aber es fällt mir schwer die start_angle und ende _angle der bogen tu bestimmen
die api funktion zum zeichnen des kreisbogens erwartet folgende parameter
(x,y,width,height,start_angle,ende_angle)

hat jemand eine idee oder gibts es funktionen zum berechnen dieser winkeln
danke im voraus
youssef

Hi, ich verstehe das so, daß Du nur einen Teil eines Kreises zeichnen willst, der in einem Quadrat liegt. (Kein Rechteck, keine Ellipse).
Der Winkel eines Punktes (x,y) in einem Koordinatensystem, aufgetragen gegen den Uhrzeigersinn von der x-Achse ausgehend, ist folgender (das Ergebnis im Bogenmaß):

double Winkel(double x, double y) const
{
const double pi=3.14159265358979;
if (fabs(x)0.0) return pi/2.0; else return 1.5*pi;
}
}
else {
if (x>=0.0) {
if (y>=0.0) return atan(y/x); else return atan(y/x)+2.0*pi;
}
else return pi+atan(y/x);
}
};

Gruß
Moriarty

p.s. und ich weiß nicht, warum hier meine Leerzeichen jetzt aus dem Quelltext rausgeflogen sind.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]