三角函数(ActionScript 3)

7
我正在尝试编写一个 ActionScript 3 公式,以度数形式给出变量“z”(请参见下面的图像),然后我将把它转换为弧度。
我已经知道变量“x”和“y”的值。使用三角函数,如何计算斜边的长度,从而计算出变量 z 的角度?在 AS3 或伪代码中提供解决方案将非常有帮助。谢谢。
4个回答

6
你需要的是这个:
var h:Number = Math.sqrt(x*x + y*y);
var z:Number = Math.atan2(y, x);

这应该会给你弧度角,你可能需要交换x/y并可能添加或删除90度,但它应该能解决问题!(请注意,当使用atan2时,您甚至不需要 h 来获得 z

我使用乘法而不是Math.pow()只是因为Math很慢,你可以这样做:

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

它应该完全相同。


4

z等于yH角度的补角(180度减去yH的角度)。或者:

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

另外,如果ActionScript的数学库中有此函数,请使用arctan2,它接收x和y值并正确处理符号。


1

你想要的角度与y和h之间的角度相对应。

我们称ayh之间的角度,你想要的角度实际上是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)

0

正如@Patrick所说,斜边也是sqrt(x^2 + y^2)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接