Triangle De La Trigonométrie (ActionScript 3)
-
09-06-2019 - |
Question
Je suis en train d'écrire une formule dans ActionScript 3 qui va me donner du var "z" (voir image ci-dessous) en degrés, que je vais le convertir en radians.
Je connais déjà la valeur de var "x" et "y".À l'aide de la trigonométrie, comment puis-je calculer la longueur de l'hypoténuse et, par conséquent, la variable de l'angle de la var z?Une solution en soit AS3 ou psuedocode serait très utile.Merci.
La solution
Ce que vous avez besoin est cela:
var h:Number = Math.sqrt(x*x + y*y);
var z:Number = Math.atan2(y, x);
Cela devrait vous donner l'angle en radians, vous pourriez avoir besoin d'échanger x/y et, éventuellement, d'ajouter ou de supprimer 90 degrés, mais il devrait faire l'affaire!(Notez que vous n'avez même pas besoin h pour obtenir z lorsque vous utilisez atan2)
J'utilise la multiplication au lieu de Mathématiques.pow() tout simplement parce que les Maths sont assez lent, vous pouvez le faire:
var h:Number = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
Et il doit être exactement le même.
Autres conseils
z est équivalent à 180 angle de l'auberge.Ou:
180 - arctan(x/y) //Degrees
pi - arctan(x/y) //radians
Aussi, si actionscript mathématiques, les bibliothèques ont, utilisez arctan2, qui prend à la fois en x et en y et traite les signes correctement.
L'angle que vous voulez est le même que l'angle opposé à l'un wetween y et h.
Appelons a
l'angle entre y
et h
, l'angle que vous voulez est en fait 180 - a
ou PI - a
en fonction de votre unité (en degrés ou en radians).
Maintenant, la géométrie nous dit que:
cos(a) = y/h
sin(a) = x/h
tan(a) = x/y
À l'aide de tan(), nous obtenons:
a = arctan(x/y)
Comme nous sommes à la recherche pour 180 - un, vous devez calculer:
180 - arctan(x/y)
Ce que @Patrick a dit, aussi l'hypoténuse est sqrt(x^2 + y^2)
.