JavaScript:通过角度和距离计算出Y点

时间:2013-07-03 19:42:16

标签: javascript math vector

在我的项目中,我想画一条从X点到Y点的线。

虽然我知道X点的位置,但我只知道Y点的角度和距离。

所以我的问题是通过角度(从点X)和距离得到点Y的坐标。

我在这个项目中使用JavaScript,不想使用任何图形库。


例如:

  • 点X(10; 20)

  • 点Y(距离X点10°和200px)

这可能是非常基本的数学,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:18)

js> Math.cos(10*Math.PI/180) * 200 + 10
206.9615506024416
js> Math.sin(10*Math.PI/180) * 200 + 20
54.729635533386066

Y位于(207,55)。

答案 1 :(得分:14)

这是一个代码片段,它将@ IgnacioVazquez-Abrams的答案包装成一个函数,并提供了如何使用它的示例:

function findNewPoint(x, y, angle, distance) {
    var result = {};

    result.x = Math.round(Math.cos(angle * Math.PI / 180) * distance + x);
    result.y = Math.round(Math.sin(angle * Math.PI / 180) * distance + y);

    return result;
}

var newPoint = findNewPoint(10, 20, 10, 200);
console.log('newPoint:', newPoint);