@Anonym:
na fein, dann hatte ich ja mit meiner ersten antwort nen volltreffer gelandet!
wenn das so weitergeht, mutiere ich noch zum hellseher! :D:P
um von einem bestimmten punkt p(x|y), der auf dem kreisumfang eines kreises mit dem radius r
und dem mittelpunkt (xm|ym) liegt den winkel zu bekommen, können wir eine der trigonometrischen
beziehungen aus meiner obigen antwort wählen. beim tangens müsste man im programm den
nenner x-xm bei den vier fallunterscheidungen auf null prüfen, darum würde ich mich nicht für den tangens entscheiden. der radius ist ja sowieso gegeben dann steht dem auch nichts im wege ihn zu benutzen.
nehmen wir also den sinus. eine abfrage des nenners auf null entfällt,
wenn man vorher einen radius r=0 ausschließt.
bei einem kreis mit einem radius mit r=0 hätte man ohnehin nicht ganz so viel zum zeichnen.
es gilt sin(α) = (y-ym)/r = arg. den winkel bekommt man mit α = arcsin((y-ym)/r) = arcsin(arg).
wir haben also den punkt p(x|y), wir haben r und suchen den zugehörigen winkel des punktes
relativ zur x-achse in üblicher notation.
1) 0 ≤ α ≤ 90°
x ≥ xm und y ≥ ym
α = arcsin(arg)
2) 90° < α ≤ 180°
x < xm und y ≥ ym
α = 180° - arcsin(arg)
3) 180° < α < 270°
x < xm und y < ym
α = 180° - arcsin(arg)
4) 270° ≤ α < 0°
x ≥ xm und y < ym
α = 360° + arcsin(arg)
die fallunterscheidungen bitte nachprüfen und falls dazu noch fragen sind einfach schreiben, ich bin allerdings voraussichtlich erst spät am abend wieder hier.