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.

triangle

Était-ce utile?

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).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top