2013-07-03 107 views
9

在我的項目找出點Y,我想從X點劃一條線指向Y​​.JavaScript的:通過角度和距離

雖然我知道點X的位置,我只知道角度和Y點的距離。

所以我的問題是通過角度(從點X)和距離得到點Y的座標。

我在這個項目中使用JavaScript,不想使用任何圖形庫。


例如:

  • 點X(10; 20)

  • 點Y(10°& 200像素從點X)

這可能是非常基本的數學,但我不知道該怎麼做。

+0

記住'sin'和'cos'?從高中的數學? – Pointy

+0

啊好吧。現在我知道罪和cos是什麼。謝謝。 :) –

+0

@ IgnacioVazquez-Abrams哦,這讓我感覺更好;我想我一定比我想象的要困得多! :) – Pointy

回答

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

10

這裏是一個封裝@ 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); 
+0

我將它封裝在[codepen](http://codepen.io/headwinds/pen/LGmRLX/)中以便進一步播放 – headwinds

相關問題