atan2(y, x) 在 180° 处具有不连续性,在那里它顺时针切换到 -180°..0°。
如何将值范围映射到 0°..360°?
这是我的代码:

CGSize deltaPoint = CGSizeMake(endPoint.x - startPoint.x, endPoint.y - startPoint.y);
float swipeBearing = atan2f(deltaPoint.height, deltaPoint.width);
给定 startPointendPoint 两个XY点结构,我正在计算滑动触摸事件的方向。该代码适用于 iPhone,但任何支持 atan2f() 的语言都可以。

最佳答案

(x > 0 ? x : (2*PI + x)) * 360 / (2*PI)

关于math - 如何将 atan2() 映射到 0-360 度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1311049/

10-12 18:01