我正在創建一個遊戲,在開始時,球需要在html畫布上隨機選擇,但所有方法的速度都相同。這不是我所需要的:隨機速度矢量公式
vx = Math.floor(Math.random() * 20)
vy = Math.floor(Math.random() * 20)
因爲它不會給出恆定的速度。 你能想出一個公式嗎? 謝謝。
我正在創建一個遊戲,在開始時,球需要在html畫布上隨機選擇,但所有方法的速度都相同。這不是我所需要的:隨機速度矢量公式
vx = Math.floor(Math.random() * 20)
vy = Math.floor(Math.random() * 20)
因爲它不會給出恆定的速度。 你能想出一個公式嗎? 謝謝。
所以你想要一個隨機方向的恆定速度?然後使用
phi = 2*Math.PI*Math.random();
vx = speed * Math.cos(phi);
vy = speed * Math.sin(phi);
我假設你在Java中工作並想要一個幅度爲20的隨機向量?
首先,你的矢量並不是真正的隨機開始。 Math.random()會生成一個介於0和1之間的正數,因此您的矢量始終指向座標系統的同一象限(兩個座標均爲正數)。我想你想要的是類似的Math.random()* 2 - 1到-1和1
二之間建立座標系,你需要你的正常化載體:http://mathworld.wolfram.com/NormalizedVector.html
最後,乘兩個向量座標按照你想要的矢量的大小,在你的情況下20,可能。
出於某種原因,對我而言,它不會始終保持恆定速度 – kcode
您將不得不記錄下速度矢量旁邊會發生什麼。 (並且可能如何測量標量速度。) – LutzL