actionscript-3 - AS3 笛卡尔坐标的极坐标

标签 actionscript-3 math coordinate-systems

我正在 AS3 中玩 body 动画。我制作了一个包含所有部分(不包括手指)的 body ,并使用“骨架”制作了一个 XML。 XML 获取了每个部分的实例以及下一个部分的连接位置。我让它与基数坐标(x,y)一起工作,并且当我旋转零件并再次重新计算所有链接(每个关节中的每个零件)时, body 会移动。

但是,这需要对 body 的每一个微小修改进行一些计算,所以现在我正在优化它。至于设计x,y更容易,所以当创建body实例时,该类重新构建XML将坐标转换为极坐标系(r,t),如下所示(“Quadro”是带有坐标的节点):

dx = Quadro.@x;
dy = Quadro.@y;
Quadro.@r = Math.sqrt(Math.pow(dx,2) + Math.pow(dy,2));
Quadro.@t = (dy>0)? Math.asin(dx/Quadro.@r) : Math.acos(dy/Quadro.@r);

我做了一些更改以使其正常工作,但在列表中,一个象限总是错误的!在这种情况下,左上角是错误的。颈部和头部应该位于这个位置,并且它们位于右上角(镜像)。

在 AS3 中进行正确转换有什么技巧吗?

最佳答案

尝试使用这个:

Quadro.@t=Math.atan2(dy,dx);

来自Wikipedia :

The Cartesian coordinates x and y can be converted to polar coordinates r and φ with r ≥ 0 and φ in the interval (−π, π] by:

enter image description here
enter image description here

关于actionscript-3 - AS3 笛卡尔坐标的极坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18582693/

相关文章:

javascript - 查找两个日期之间天数差异的问题

c++ - 快速整除测试(2、3、4、5、..、16)?

iOS:Ken Burns 动画实现需要意外参数

c# - 如何确定新的推力输入将当前坐标移动到指定坐标位置

actionscript-3 - 如何将 BitmapData 保存到 Bitmap *.bmp 文件,或者更快的 JPE 编码方法

asp.net - AS3 向 ASP 传递和获取数据

actionscript-3 - Flex 4-嵌入多个MP3

java - 如何编写一个程序将java中的列表中的度数转换为弧度

c# - WPF 两个 Line 对象的交点坐标

ios - 在 CALayer 的坐标系中检测触摸事件