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()
буде робити.