在我的項目找出點Y,我想從X點劃一條線指向Y.JavaScript的:通過角度和距離
雖然我知道點X的位置,我只知道角度和Y點的距離。
所以我的問題是通過角度(從點X)和距離得到點Y的座標。
我在這個項目中使用JavaScript,不想使用任何圖形庫。
例如:
點X(10; 20)
點Y(10°& 200像素從點X)
這可能是非常基本的數學,但我不知道該怎麼做。
在我的項目找出點Y,我想從X點劃一條線指向Y.JavaScript的:通過角度和距離
雖然我知道點X的位置,我只知道角度和Y點的距離。
所以我的問題是通過角度(從點X)和距離得到點Y的座標。
我在這個項目中使用JavaScript,不想使用任何圖形庫。
例如:
點X(10; 20)
點Y(10°& 200像素從點X)
這可能是非常基本的數學,但我不知道該怎麼做。
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,艾布拉姆斯的回答到一個函數如何使用它的一個示例代碼片段:
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);
我將它封裝在[codepen](http://codepen.io/headwinds/pen/LGmRLX/)中以便進一步播放 – headwinds
記住'sin'和'cos'?從高中的數學? – Pointy
啊好吧。現在我知道罪和cos是什麼。謝謝。 :) –
@ IgnacioVazquez-Abrams哦,這讓我感覺更好;我想我一定比我想象的要困得多! :) – Pointy