19

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

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

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

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


例如:

  • X 点 (10;20)

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

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

4

2 回答 2

21
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)。

于 2013-07-03T19:50:15.687 回答
20

这是一个代码片段,它将@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);
于 2014-12-19T18:41:48.957 回答