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

T.L*_*nge 14 javascript math vector

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

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

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

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


例如:

  • X点(10; 20)

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

这可能是非常基本的数学,但我不知道如何做到这一点.

Ign*_*ams 19

js> Math.cos(10*Math.PI/180) * 200 + 10
206.9615506024416
js> Math.sin(10*Math.PI/180) * 200 + 20
54.729635533386066
Run Code Online (Sandbox Code Playgroud)

Y 在(207,55).


小智 15

这是一个代码片段,它将@ 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);
Run Code Online (Sandbox Code Playgroud)