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()
จะทำ