三角三角(ActionScript 3)
时间:2020-03-05 18:51:19 来源:igfitidea点击:
我正在尝试在ActionScript 3中编写一个公式,以度为单位给出var" z"(请参见下图),然后将其转换为弧度。
我已经知道变量" x"和" y"的值。使用三角函数,如何计算斜边的长度,从而计算var z的可变角度? AS3或者psuedocode中的解决方案将非常有帮助。谢谢。
解决方案
回答
z等于yH的180度角。或者:
180 - arctan(x/y) //Degrees pi - arctan(x/y) //radians
另外,如果有动作脚本的数学库,请使用arctan2,它可以同时获取x和y并正确处理符号。
回答
@帕特里克所说的,斜边也是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
使用tan(),我们得到:
a = arctan(x/y)
当我们正在寻找180 a时,我们应该计算:
180 - arctan(x/y)
回答
我们需要的是:
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));
而且应该完全一样。