L'Angle de la 2D vecteur unitaire?
Donné vecteur unitaire 0.5, 0.5, comment pourrais-je trouver l'angle (sa direction),
est-il
cos(x) + sin(y)?
- Pour convertir à partir de la pente de degrés de son atan, par conséquent, vous pouvez utiliser atan2 pour votre vecteur.
- Ce n'est pas un vecteur unitaire, par la manière. Un vecteur unitaire a une longueur de 1, et que le vecteur a une longueur de sqrt(2)/2
- C'est tout à fait correcte, et il fait toutes les réponses donc un peu bancale. Il n'y aura jamais un vecteur unitaire avec (0.5,0.5) - le plus proche que vous pouvez obtenir est à peu près (0.707,0.707) à partir de pi/2 radians.
Vous devez vous connecter pour publier un commentaire.
Y et x, l'angle avec l'axe des x est donnée par:
Avec (0.5, 0.5), l'angle est:
radians:
degrés:
Bonnes réponses déjà postées, malheureusement, personne n'a abordé que l'OP voulait le code pour calculer la direction, étant plutôt un angle global. Permettez-moi de résoudre ce problème.
atan
(mentionné dans d'autres réponses) vous donnerait un angle de ±0..90°. Ensuite, vous aurez besoin de comprendre à quel quadrant le vecteur est dans, et de modifier l'angle en conséquence; et ne pas oublier les cas particuliers de x ou de y égale à zéro! Voici un légèrement modifié le code que j'utilise:Dans le code réel, cependant, si vous utilisez à la fois les degrés et radians beaucoup (par exemple, parce que vous avez une entrée avec degrés, puis C++ fonctions à l'aide de radians), je vous recommande d'utiliser des emballages autour d'eux pour ne pas les intervertir parfois (ce qui ne m'arrive). Par souci d'exhaustivité ci-dessous est une capture du code de mon bot pour un jeu de voiture, de l'utiliser comme bon vous semble 🙂
atan2
qui, compte tenu de composants x et y retourne un angle dans un bon quadrant.