atan2(y, x)
có sự gián đoạn đó ở 180 ° trong đó nó chuyển sang -180 ° ..0 ° theo chiều kim đồng hồ.
Làm cách nào để ánh xạ phạm vi giá trị đến 0 ° ..360 °?
đây là mã của tôi:
CGSize deltaPoint = CGSizeMake(endPoint.x - startPoint.x, endPoint.y - startPoint.y);
float swipeBearing = atan2f(deltaPoint.height, deltaPoint.width);
Tôi đang tính toán hướng của một sự kiện chạm khi vuốt dựa trên startPoint
và endPoint
cả hai cấu trúc điểm XY. Mã dành cho iPhone nhưng bất kỳ ngôn ngữ nào hỗ trợ atan2f()
sẽ làm được.