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);
両方のXYポイント構造体であるstartPoint
とを指定して、スワイプタッチイベントの方向を計算していendPoint
ます。コードはiPhone用ですが、サポートatan2f()
する言語であれば何でも可能です。