actionscript-3 trigonometry hypotenuse

TrigonometrĂ­a triangular(ActionScript 3)



actionscript-3 trigonometry (4)

El ángulo que desea es el mismo que el ángulo opuesto al que se encuentra entre y y h.

Vamos a llamar al ángulo entre y y h , el ángulo que desea es en realidad 180 - a o PI - a dependiendo de su unidad (grados o radianes).

Ahora la geometría nos dice que:

cos(a) = y/h sin(a) = x/h tan(a) = x/y

Usando tan (), obtenemos:

a = arctan(x/y)

Como estamos buscando 180 - a, debe calcular:

180 - arctan(x/y)

Estoy intentando escribir una fórmula en ActionScript 3 que me dará var "z" (vea la imagen a continuación) en grados, que luego convertiré en radianes.

Ya sabré el valor de vars "x" e "y". Usando la trigonometría, ¿cómo puedo calcular la longitud de la hipotenusa y, por lo tanto, el ángulo variable de var z? Una solución en AS3 o psuedocode sería muy útil. Gracias.


Lo que dijo @Patrick, también la hipotenusa es sqrt(x^2 + y^2) .


z es equivalente a 180 - ángulo de yH. O:

180 - arctan(x/y) //Degrees pi - arctan(x/y) //radians

Además, si las bibliotecas matemáticas de Actionscript lo tienen, use arctan2, que toma tanto la x como la y trata los signos correctamente.


Lo que necesitas es esto:

var h:Number = Math.sqrt(x*x + y*y); var z:Number = Math.atan2(y, x);

Eso debería darte el ángulo en radianes, es posible que tengas que cambiar x / y, posiblemente, agregar o eliminar 90 grados, ¡pero debería ser el truco! (Tenga en cuenta que ni siquiera necesita h para obtener z cuando está usando atan2)

Uso la multiplicación en lugar de Math.pow () solo porque las matemáticas son bastante lentas, puedes hacer:

var h:Number = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));

Y debería ser exactamente lo mismo.