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

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

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

请参阅屏幕截图以了解我的要求。

c# - 如何求圆的两点之间的角度?-LMLPHP

任何人都请让我建议我做错了什么。?

最佳答案

MSDN documentation page for Atan2 ,它返回 -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;

10-07 19:51
查看更多