我已经知道变量"x"和"y"的值了。使用三角函数,我如何计算斜边的长度以及 var z 的可变angular? AS3" /> 我已经知道变量"x"和"y"的值了。使用三角函数,我如何计算斜边的长度以及 var z 的可变angular? AS3" /> 我已经知道变量"x"和"y"的值了。使用三角函数,我如何计算斜边的长度以及 var z 的可变angular? AS3" />

首页 / 知识

三角三角 (ActionScript 3)

2023-04-14 22:52:00

Triangle Trigonometry (ActionScript 3)

我正在尝试在 ActionScript 3 中编写一个公式,该公式将以度为单位给出 var"z"(请参见下图),然后我会将其转换为弧度。

我已经知道变量"x"和"y"的值了。使用三角函数,我如何计算斜边的长度以及 var z 的可变angular? AS3 或伪代码中的解决方案将非常有帮助。谢谢。

triangle


你需要的是:

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

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

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

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

而且应该完全一样。


z 相当于 180 - yH 的angular。或者:

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

另外,如果 actionscript 的数学库有,请使用 arctan2,它同时接受 x 和 y 并正确处理符号。


你想要的angular与y和h之间的angular相同。

让我们把 yh 之间的angular称为 a,您想要的angular实际上是 180 - aPI - a,具体取决于您的单位(度或弧度)。

现在几何告诉我们:

1
2
3
cos(a) = y/h
sin(a) = x/h
tan(a) = x/y

使用 tan(),我们得到:

1
a = arctan(x/y)

当我们在寻找 180 -a 时,你应该计算:

1
180 -  arctan(x/y)

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


三角单位三角函数计算

最新内容

相关内容

猜你喜欢