我正在尝试在ActionScript 3中编写一个公式,它将以度数给出var“z”(请参阅下图),然后我将其转换为弧度。三角三角函数(ActionScript 3)
我已经知道变量“x”和“y”的值。使用三角函数,我该如何计算斜边的长度,从而计算var z的变角? AS3或psuedocode中的解决方案将非常有用。谢谢。
我正在尝试在ActionScript 3中编写一个公式,它将以度数给出var“z”(请参阅下图),然后我将其转换为弧度。三角三角函数(ActionScript 3)
我已经知道变量“x”和“y”的值。使用三角函数,我该如何计算斜边的长度,从而计算var z的变角? AS3或psuedocode中的解决方案将非常有用。谢谢。
您需要的是:
var h:Number = Math.sqrt(x*x + y*y);
var z:Number = Math.atan2(y, x);
这应该给你弧度的角度,你可能需要交换x/y,并可能增加或删除90度,但它应该做的伎俩! (请注意,你甚至不需要^h得到ž当你使用ATAN2)
我用乘法,而不是Math.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
而且,如果动作的数学库拥有它,使用arctan2,它正确地采取x和y和涉及的迹象。
@Patrick说了什么,斜边也是sqrt(x^2 + y^2)
。
你想要的角度与y和h之间的角度相反。
我们叫a
y
和h
之间的角度,你想要的角度实际上是180 - a
或PI - a
根据你单位(度或弧度)上。
现在几何告诉我们:
cos(a) = y/h
sin(a) = x/h
tan(a) = x/y
使用棕褐色(),我们得到:
a = arctan(x/y)
我们正在寻找180 - 一个,你应该计算:
180 - arctan(x/y)