好了有你
首先你有速度,所以你需要一個時間框架也因此讓我們假設我們需要1秒後的座標。測量速度的公式是V = S/T 其中V是速度(方向上的速度)S是距離而T是時間。 因此S = VxT 根據你的速度200,在1秒內行進的距離是200M 現在我們有角度也是你給它的53deg。因此我們可以繪製一個想象的三角形來找出(x,y)未知的新座標。 要知道的x,y式是
y= sin(theta) x Distance
x = cos(theta) x Distance
其中θ等於53deg和距離爲200 因此(X,Y)=()
更一點的描述,在我們的假想三角形y是相反的,x是相鄰的,並且x,y只是距離0,0的距離。有一個在三角公式,其中規定,
Sin(theta) = opposite/Hypotenuse
hence 53 = unknown/200
similarly
Cos(theta) = Adjacent/Hypotenuse
hence 53 = unknown/200
So after calculating we get the result (120.36,159.72)
所以在Java腳本可以使用
// since Math.cos takes input in radians you have to convert it into degrees.
var speed = 200;
var time = 1;
var angle = 53;
x = (Math.cos(angle*(Math.PI/100))* (speed*time);
y = (Math.sin(angle*(Math.PI/100))* (speed*time);
我們計算使用弧度不度,所以你可能需要必要的轉換成度,但多數民衆贊成不難,只需將(x,y)交換爲(y,x),這將是度數的結果。
這不是一個真正的編程問題,這是一個數學問題。一旦找出合適的公式,JavaScript部分將變得簡單。你有沒有嘗試http://math.stackexchange.com/? – nnnnnn
即使下面的答案給出瞭解決這個問題的數學方法,但它的實現可能會有所不同。你能更具體地瞭解你的項目嗎?你在製作一個畫布動畫嗎?你到底想在你的代碼中計算x和y?你會用它做什麼? – akinuri
儘管已經給出了很好的答案,但您可能需要閱讀[三角函數](https://www.mathsisfun.com/algebra/trigonometry.html)。如果你理解它的工作原理,它會更有趣。 – miraculixx