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);
我正在计算滑动触摸事件的方向,给定startPoint
和endPoint
,它们都是XY点结构体。这段代码用于iPhone,但支持atan2f()
的任何语言都可以。