如何找到圆的两个点之间的角度?

Bha*_*thi 4 c# math geometry trigonometry

我有圆和半径的centerX和centerY值.现在我有(x1,y1)点在圆圈上.我想知道这个点的圆角.

我尝试了以下公式来获得(x1,y1)的角度.但它没有提供通用的解决方案.

radian = Math.Atan2(y1 - Cy, x1 - Cx);
angle = radian * (180 / Math.PI);
Run Code Online (Sandbox Code Playgroud)

请参阅截图以了解我的要求.

在此输入图像描述

任何人请让我建议我做错了什么.

meo*_*dog 9

Atan2MSDN文档页面中,它返回-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;
Run Code Online (Sandbox Code Playgroud)