提问者:小点点

我怎样才能找到圆的两点之间的角度?


我有圆和半径的centerX和centerY值。现在我有(x1,y1)点位于圆上。我想知道点的圆的角度。

我尝试了下面的公式来得到(x1,y1)的角度。但是它没有给出通用的解决方案。

radian = Math.Atan2(y1 - Cy, x1 - Cx);
angle = radian * (180 / Math.PI);

我的要求请参考截图。

谁能告诉我我做错了什么?


共1个答案

匿名用户

从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;