我们有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
但这不适合我,有什么建议吗?
答案 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;