6 votes

Compte tenu des composantes x et y de la vitesse, comment calculer l'angle ?

Pour une particule se déplaçant dans un système de coordonnées cartésiennes (sans tenir compte de l'axe z), comment peut-on calculer l'angle de déplacement à partir des composantes x et y de la vitesse ?

Avant que quelqu'un ne dise que cela n'a rien à voir avec la programmation, je suis en train de programmer cela en ce moment même, mais je ne connais pas les mathématiques vectorielles.

Par exemple, si les valeurs x et y de la vitesse sont respectivement 5,0 et -1,5, comment calculer l'angle ?

6voto

Riccardo Points 11

En Javascript, j'utiliserais Math.atan2(1.5, 5.0) . Pour convertir en degrés, utilisez Math.atan2(1.5, 5.0)/(Math.PI/180) . Sur Wikipedia : http://en.wikipedia.org/wiki/Atan2

4voto

Mehrdad Points 70493

Vous avez besoin atan2 :

Pour tout argument réel x y y ne sont pas tous deux égaux à zéro, atan2(y, x) est l'angle en radians entre l'axe positif x d'un plan et le point donné par les coordonnées (x, y) sur celui-ci.

3voto

Keith Points 5371

L'angle en radians par rapport à l'axe des x est donné par :

arctan(vy / vx);  // vx > 0

Vous devez également traiter le dossier vx < 0 .

Si vous souhaitez connaître le relèvement par rapport au nord géographique, vous pouvez alors choisir :

double bearing = 90 - arctan(vy / vx) * 360 / 2 / M_PI;

1voto

soandos Points 1621

L'arc-tangente de la pente vous donnera ce que vous voulez.

1voto

Ted Hopp Points 122617

L'angle est l'arctangente de y / x. De nombreux langages disposent d'une fonction arctangente à 4 quadrants dans la bibliothèque mathématique qui prend les arguments x et y.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X