如何从物体的旋转(角度)和腿长来计算点的X和Y坐标?

时间:2012-02-02 02:48:55

标签: actionscript rotation coordinates angle

任何人都可以告诉我如何计算B点的坐标(参见附图......或者不是因为我是新用户...... pf!)。我知道箭头的旋转 - 所以角度(假设它是-120),A的坐标(0,0) - A是箭头的中点,A和B之间的距离是50 px。 非常感谢!

.B
 \
  \ 50 px
   \
    \
     .A

1 个答案:

答案 0 :(得分:0)

对我来说看起来像是一些普通的三角函数。请记住,在数学中,你从右边逆时针计算弧度。另一方面,在Flash中设置DisplayObjects的旋转属性是从顶部顺时针测量的度数。因此,如果您正在进行此数学运算以旋转DisplayObject,则总会进行一些有趣的转换。在这个例子中,我假设你只关心找到相对于A的B坐标,给定一个已知的旋转和它们之间的绝对距离。

import flash.geom.Point;

var angle:Number = -120;
var radian:Number = angle * Math.PI / 180;
var length:Number = 50;
var aCoords:Point = new Point(100, 20); //example values for known coords of point A
var bCoords:Point = new Point(Math.cos(radian) * length + aCoords.x, Math.sin(radian) * length + aCoords.y);

trace(bCoords);