La formule tangente est la suivante:
tan(angle) = opposite/adjacent
Reportez-vous à ce dessin:
Où a
est le côté adjacent, o
est le côté opposé et theta
l'angle. De même, sinus et cosinus sont un péché (ang) = o / h et cos (ang) = a / h où se h
trouve le côté long: http://www.mathwords.com/s/sohcahtoa.htm
Pendant ce temps atan
(abréviation de arc-tangente , également appelée tangente inverse ) est l'inverse de tan
, comme ceci:
atan(opposite/adjacent) = angle
Ainsi, si vous connaissez les valeurs des côtés opposé et adjacent (par exemple, en soustrayant les coordonnées de l'objet des coordonnées de la souris), vous pouvez obtenir la valeur de l'angle avec atan
.
Cependant, dans le développement de jeux, il peut arriver assez souvent que le côté adjacent soit égal à 0 (par exemple, la coordonnée x d'un vecteur étant 0). Il ne faut pas oublier que tan(angle) = opposite/adjacent
la possibilité d'une erreur catastrophique de division par zéro devrait être évidente. Donc , beaucoup de bibliothèques offrent une fonction appelée atan2
, ce qui vous permet de spécifier les deux x
et les y
paramètres, afin d' éviter la division par zéro pour vous et donner un angle dans le quadrant droit.
(diagramme avec la permission de gareth, votez s'il vous plaît sa réponse aussi)
L'utilisation de la trigonométrie dans le développement de jeux est assez courante, en particulier avec les vecteurs, mais les bibliothèques cachent généralement le travail de trigonométrie pour vous. Vous pouvez utiliser sin / cos / tan pour un grand nombre de tâches impliquant des manipulations géométriques pour trouver une valeur à partir d'un triangle. Tout ce dont vous avez besoin est de 3 valeurs (longueurs de côté / valeurs d'angle) pour trouver les autres valeurs d'un triangle rectangle, c'est donc très utile.
Vous pouvez même utiliser la nature "cycliste" des fonctions sinus et cosinus pour des comportements particuliers dans un jeu. Par exemple, j'ai vu cos / sin utilisé pour faire en sorte qu'un objet tourne autour d'un autre.