我有圆和半径的centerX和centerY值。现在我有(x1,y1)点位于圆上。我想知道点的圆的角度。
我尝试了下面的公式来得到(x1,y1)的角度。但是它没有给出通用的解决方案。
radian = Math.Atan2(y1 - Cy, x1 - Cx);
angle = radian * (180 / Math.PI);
我的要求请参考截图。
谁能告诉我我做错了什么?
从Atan2的MSDN留档页面,它返回-180到180度(-pi到pi弧度)之间的结果。另一方面,您需要0到360。为此,如果为负数,只需将360添加到最终答案中。
radian = Math.Atan2(y1 - Cy, x1 - Cx);
angle = radian * (180 / Math.PI);
if (angle < 0.0)
angle += 360.0;