Попробуйте:
CoordinateToDegree[x_?NumberQ, y_?NumberQ] :=
Rescale[ArcTan[-x, y], {-Pi, Pi}, {360, 0}]
Используя ArcTan[-x,y]
, вы будете выравнивать по срезу ветви, чтобы получить непрерывную функцию для угла.Затем Rescale
отображает диапазон от -Pi...Pi
до 0...360
.
Вот простое Manipulate
, которое демонстрирует это решение:
Manipulate[
Graphics[{
Orange, Disk[],
Black, Text[Style[CoordinateToDegree[Cos[t], Sin[t]], "Title"], {Cos[t], Sin[t]}]},
PlotRange -> 1.4], {t, 0, 2 \[Pi]}]