2014-01-26 92 views
0

我想寫加速方法Ship類,所以我寫了失敗的assertEquals兩個矢量

public void accelerate(double fo){ 
    double newSpeedMag = speed.magnitude() + fo; 
    speed = new Vector(Math.cos(facing) * newSpeedMag , Math.sin(facing) * newSpeedMag ); 
} 

facing面臨的角度,目前facing == Math.PI

testAccelerate()測試用例:

testAccelerate(){ 
    s.facing = Math.PI/2; 
    s.accelerate(4); 
    assertEquals("wrong vector",new Vector(-3,4),s.speed); 
} 

assertEquals失敗。

+3

你的物理學很奇怪。只需將位置,速度和加速度分解爲x和y並獨立處理它們即可進行正確的物理模擬。幅度不會進入它(直到你達到變速摩擦) – Dave

+0

這是什麼問題? –

+1

你的Vector類的實現是什麼? – skiwi

回答

相關問題