在我的项目中,我想画一条从 X 点到 Y 点的线。
虽然我知道 X 点的位置,但我只知道 Y 点的角度和距离。
所以我的问题是通过角度(从点 X)和距离来获得点 Y 的坐标。
我在这个项目中使用 JavaScript,不想使用任何图形库。
例如:
X 点 (10;20)
Y 点(距离 X 点 10° 和 200 像素)
这可能是非常基本的数学,但我不知道该怎么做。
在我的项目中,我想画一条从 X 点到 Y 点的线。
虽然我知道 X 点的位置,但我只知道 Y 点的角度和距离。
所以我的问题是通过角度(从点 X)和距离来获得点 Y 的坐标。
我在这个项目中使用 JavaScript,不想使用任何图形库。
例如:
X 点 (10;20)
Y 点(距离 X 点 10° 和 200 像素)
这可能是非常基本的数学,但我不知道该怎么做。
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)。
这是一个代码片段,它将@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);