rigidchips-lib / rigidchips

23 stars 7 forks source link

燃料消費バグ #12

Closed poruru closed 6 years ago

poruru commented 8 years ago

RC組み込みの燃料システムは,n番目の要素の燃料消費が1/nになることが知られている.

siruhu commented 8 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になっていた

siruhu commented 8 years ago

修正方法 void GRigid::CalcTotalFuel() { の次に if(Parent==NULL) { Top->TotalFuelMax=0; Top->TotalFuel=0; } 追記で直る (ルートチップ(Parent==NILL)でCalcTotalFuelが呼び出された場合に初期化)

siruhu commented 8 years ago

ウェイト用変数(TotalFuel2)忘れてた 追記部分を以下と差し替え if(Parent==NULL) { Top->TotalFuelMax=0; Top->TotalFuel=0; Top->TotalFuel2=0; }

lempiji commented 6 years ago

111 で修正済み