Include rolling resistance into car->DynGC.acc calculation

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@5328 30fe4595-0a0c-4342-8851-515496e4dcbd

Former-commit-id: 83158278a8dffd3b8ea9028dcde3f9034d91377e
Former-commit-id: 9dd5c333480b9db130f361915d8de84d33464e13
This commit is contained in:
kakukri 2013-03-16 21:19:48 +00:00
parent e35e4d4add
commit ac5a51e6ac

View file

@ -232,7 +232,7 @@ SimCarUpdateForces(tCar *car)
}
/* Rolling Resistance */
v = sqrt(car->DynGCg.vel.x * car->DynGCg.vel.x + car->DynGCg.vel.y * car->DynGCg.vel.y);
v = car->DynGC.vel.xy;
R = 0;
for (i = 0; i < 4; i++) {
R += car->wheel[i].rollRes;
@ -249,8 +249,10 @@ SimCarUpdateForces(tCar *car)
} else {
Rv = 0;
}
Rx = Rv * car->DynGCg.vel.x;
Ry = Rv * car->DynGCg.vel.y;
Rx = Rv * car->DynGC.vel.x;
Ry = Rv * car->DynGC.vel.y;
F.F.x -= Rx;
F.F.y -= Ry;
if ((R * car->wheelbase / 2.0 * car->Iinv.z) > fabs(car->DynGCg.vel.az)) {
Rm = car->DynGCg.vel.az / car->Iinv.z;
@ -281,8 +283,8 @@ SimCarUpdateForces(tCar *car)
car->DynGC.acc.y = F.F.y * minv;
car->DynGC.acc.z = F.F.z * minv;
car->DynGCg.acc.x = (F.F.x * Cosz - F.F.y * Sinz - Rx) * minv;
car->DynGCg.acc.y = (F.F.x * Sinz + F.F.y * Cosz - Ry) * minv;
car->DynGCg.acc.x = (F.F.x * Cosz - F.F.y * Sinz) * minv;
car->DynGCg.acc.y = (F.F.x * Sinz + F.F.y * Cosz) * minv;
car->DynGCg.acc.z = car->DynGC.acc.z;
car->DynGCg.acc.ax = car->DynGC.acc.ax = F.M.x * car->Iinv.x;