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
失敗。
你的物理學很奇怪。只需將位置,速度和加速度分解爲x和y並獨立處理它們即可進行正確的物理模擬。幅度不會進入它(直到你達到變速摩擦) – Dave
這是什麼問題? –
你的Vector類的實現是什麼? – skiwi