2008-09-11 5 views
7

ActionScript 3에서 var "z"(아래 그림 참조) 각도로 라디안으로 변환 할 수식을 작성하려고합니다.삼각형 삼각법 (ActionScript 3)

나는 vars "x"와 "y"의 값을 이미 알고있을 것입니다. 삼각법을 사용하여, 어떻게 빗변의 길이를 계산할 수 있으며 따라서 var z의 가변 각도를 계산할 수 있습니까? AS3 또는 psuedocode의 솔루션이 매우 유용합니다. 감사. 알칸의 각도 -

triangle

답변

6

필요한 것은 다음과 같습니다.

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

각도를 라디안으로 표시해야합니다. x/y를 바꾸고 90도를 추가하거나 제거해야하지만 트릭을 수행해야합니다.

나는 수학이 매우 느리게해서) 대신 Math.pow (의 곱셈을 사용하여, 당신이 할 수있는 (당신도 Z는 ATAN2을 사용하고이 얻을 시간을하지 않아도됩니다) :

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

정확히 일치해야합니다.

4

Z는 180에 등가이다. 또는 :

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

또한, 액션 스크립트의 수학 라이브러리가있는 경우, 제대로 징후 x 및 y와 거래를 모두 걸립니다, arctan 값 사용합니다.

0

@ 패트릭이 말한 것, 또한 빗변은 sqrt(x^2 + y^2)입니다.

1

원하는 각도는 y와 h 사이의 각도와 반대 입니 다.

하자 전화 ayh 사이의 각도는 원하는 각도는 실제로 단위 (도 또는 라디안)에 따라 180 - a 또는 PI - a이다. 사용

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

가) (황갈색, 우리가 얻을 :

지금 형상은 우리에게 알려줍니다

a = arctan(x/y) 

우리가 180을 찾고있는 것처럼 - a는, 당신은 계산한다 :

180 - arctan(x/y)