atan2(y, x)
a cette discontinuité à 180 ° où il passe à -180 ° ..0 ° dans le sens des aiguilles d'une montre.
Comment mapper la plage de valeurs à 0 ° ..360 °?
voici mon code:
CGSize deltaPoint = CGSizeMake(endPoint.x - startPoint.x, endPoint.y - startPoint.y);
float swipeBearing = atan2f(deltaPoint.height, deltaPoint.width);
Je calcule la direction d'un événement tactile de balayage étant donné le startPoint
et endPoint
, les deux structures de point XY. Le code est pour l'iPhone mais toute langue prise en charge atan2f()
fera l'affaire.