从圆心找到一点的角度

2022-01-14 00:00:00 geometry java

如果我有一个像这样的图像 720、720..

If I have an image 720, 720 that looks like this..

如果中心 x 和 y 分别为 360、360,我如何计算所触摸的 x,y 的角度我看到的很多计算都假设原点是 0,0(左上角),所以我得到不正确的结果.我假设 0 总是在顶部而不是旋转.

How do I work out the angle of the touched x,y given that the center x and y are 360, 360 A lot of calculations I see for this assume the origin is 0,0 (which is top left) so I get incorrect results. I am assuming 0 is always to the top and not rotated.

推荐答案

这样可能更清楚:

(Math.toDegrees( Math.atan2(fromLeft - 360.0, 360.0 - fromTop) ) + 360.0) % 360.0

添加 360 度转弯并应用模运算符可以得到正角,而 atan2 没有.

Adding a 360 degree turn and applying the modulo operator gives you the positive angle, which atan2 does not.

相关文章