Closed poruru closed 6 years ago
GRigid.cpp void GRigid::CalcTotalFuel() において、Top->TotalFuelMax、Top->TotalFuelが初期化されていない このため、CalcTotalFuelの呼び出しごとにTotalFuelMax、TotalFuelが実際の値の呼び出し回数倍になっていた 燃料消費量はvoid GRigid::UseFuel(double f)でrate=fabs(f)/Top->TotalFuel;となっているため、n番目の呼び出し時にTotalFuelがn倍となっていたため消費量が1/nになっていた
修正方法 void GRigid::CalcTotalFuel() { の次に if(Parent==NULL) { Top->TotalFuelMax=0; Top->TotalFuel=0; } 追記で直る (ルートチップ(Parent==NILL)でCalcTotalFuelが呼び出された場合に初期化)
ウェイト用変数(TotalFuel2)忘れてた 追記部分を以下と差し替え if(Parent==NULL) { Top->TotalFuelMax=0; Top->TotalFuel=0; Top->TotalFuel2=0; }
RC組み込みの燃料システムは,n番目の要素の燃料消費が1/nになることが知られている.