문제

내가 하려고 쓰기에 수식 ActionScript3 는 것이 내게 var"z"(주시기 바랍 아래 이미지 참조)에서는 나는 다음을 변환하는 라디안입니다.

나는 이미 알고있는 가치의 변수는"x"및"y".사용하는 삼각법,어떻게 계산할 수 있습니 길이의 빗변므로 각도 변수의 var z?솔루션에서 중 a s3 나 psuedocode 매우 도움이 될 것입니다.감사합니다.

triangle

도움이 되었습니까?

해결책

당신은 무엇이 필요 this:

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

해 당신에게 각도를 계산해야 할 수 있습니다 스왑 x/y 고 가능하게 추가하거나 제거하는 90 도까지만 해야하십시오.(참고로 당신도 필요하지 않은 h 을 얻 z 을 사용할 때 atan2)

내가 사용하는 곱셈 대신 할 수 있습니다!pow()단지 때문에 수학은 매우 느리게,할 수 있는 일:

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

고 그것은 정확히 동일하다.

다른 팁

z 에 해당 180 각의 yH.또:

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

는 경우 또한,actionscript 의 수학 라이브러리는 그것을 사용하고,arctan2 는 모두 x,y 및 거래와 제대로 표시.

각도는 당신이 원하는 각도와 같이 반대를 하나 wetween y,h.

부르자 a 사이의 각도 yh, 각도는 당신이 원하는 것은 실제로 180 - aPI - a 에 따라 단위(학위 또는 라디안).

이제 형상 우리에게 알려줍:

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

사용 tan(),우리가 얻을:

a = arctan(x/y)

으로 우리가 찾고 있는 180-a,해야 합 계산:

180 -  arctan(x/y)

What@패트릭은 말했다,또한 빗변가 sqrt(x^2 + y^2).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top