三角形 (ActionScript 3)

发布于 2024-07-04 06:37:55 字数 231 浏览 8 评论 0原文

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

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

三角形

I am trying to write a formula in ActionScript 3 that will give me var "z" (please see image below) in degrees, which I will then convert to radians.

I will already know the value of vars "x" and "y". Using trigonometry, how can I calculate the length of the hypotenuse and therefore the variable angle of var z? A solution in either AS3 or psuedocode would be very helpful. Thanks.

triangle

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

幻想少年梦 2024-07-11 06:37:55

你需要的是这样的:

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));

并且应该是完全一样的。

What you need is this:

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

That should give you the angle in radians, you might need to swap x/y and possibly add or remove 90 degrees but it should do the trick! (Note that you don't even need h to get z when you're using atan2)

I use multiplication instead of Math.pow() just because Math is pretty slow, you can do:

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

And it should be exactly the same.

痞味浪人 2024-07-11 06:37:55

z 相当于 yH 的 180 度角。 或者:

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

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

z is equivalent to 180 - angle of yH. Or:

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

Also, if actionscript's math libraries have it, use arctan2, which takes both the x and y and deals with signs correctly.

倚栏听风 2024-07-11 06:37:55

您想要的角度与 y 和 h 之间的相对角相同。

我们将yh之间的角度称为a,您想要的角度实际上是180 - a>PI - a 取决于您的单位(度或弧度)。

现在几何告诉我们:

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

使用 tan(),我们得到:

a = arctan(x/y)

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

180 -  arctan(x/y)

The angle you want is the same as the angle opposed to the one wetween y and h.

Let's call a the angle between y and h, the angle you want is actually 180 - a or PI - a depending on your unit (degrees or radians).

Now geometry tells us that:

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

Using tan(), we get:

a = arctan(x/y)

As we are looking for 180 - a, you should compute:

180 -  arctan(x/y)
萝莉病 2024-07-11 06:37:55

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

What @Patrick said, also the hypotenuse is sqrt(x^2 + y^2).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文