atan2(y, x) tiene esa discontinuidad en 180 ° donde cambia a -180 ° ..0 ° en sentido horario.
¿Cómo mapeo el rango de valores a 0 ° ..360 °?
aquí está mi código:
CGSize deltaPoint = CGSizeMake(endPoint.x - startPoint.x, endPoint.y - startPoint.y);
float swipeBearing = atan2f(deltaPoint.height, deltaPoint.width);
Estoy calculando la dirección de un evento táctil de deslizamiento dado el startPointy endPoint, ambas estructuras de puntos XY. El código es para iPhone, pero cualquier idioma que lo admita atan2f()servirá.