如何获取node1相对于节点2的Y位置

时间:2014-04-08 12:32:00

标签: flash math actionscript html5-canvas trigonometry

我们有node2:

x: 300
y: 100

我们有node1:

x: 100;
y: ???

所以我想要的是将节点1精确地放在Y位置45度,这是我尝试过的:

                            var distance = 100;
                            var someAngle = 135; // 135 - to the left will be in diagonal
            var angle = someAngle * Math.PI / 180; // to radians
            var y = Math.sin(angle) * distance; // moving to it distance

但这不适合我,有什么建议吗?

2 个答案:

答案 0 :(得分:0)

如果恰好是45度,则只需要距离。 node1的位置为

x: 300 + distance
y: 100 + distance

如果你使用了正确的'坐标系。如果坐标系是“正确向下”,则位置为

x: 300 - distance
y: 100 + distance

答案 1 :(得分:0)

你的公式几乎是正确的,只是错过了一个锚点,从那里计算出角度的距离:

var y = node1.y + Math.sin(angle) * distance;

// ie. node2.y = y;