the acceptation is computed in two places, for a free single body in funtion
- Code: Select all
void dgDynamicBody::IntegrateOpenLoopExternalForce(dgFloat32 timestep)
...
m_accel = m_externalForce.Scale4(m_invMass.m_w);
and for bodies with joints in function
- Code: Select all
void dgWorldDynamicUpdate::CalculateNetAcceleration(dgBody* const body, const dgVector& invTimeStep, const dgVector& maxAccNorm2) const
dgVector accel (invTimeStep * (body->m_veloc - body->m_accel));
dgVector alpha (invTimeStep * (body->m_omega - body->m_alpha));
in both cases is a function of the velocity at a = (v(t+ dt) - v(t)) / dt
so if velocity is smooth a - be very small.
if velocity is changing in magnify that acceleration should be more of less const to smooth,
but of your body are suggested to conservation gravitational forces, of the for
f = G * m / r ^2
the neither velocity non acceleration be correlated, since there are not linear quantities.
basically the acceleration effect is a gradual change of the direction of the velocity leaving the magnitude almost constant.
you set a brake point on those two functions and put dgTraces, to check if the values make sense to you. do not get the latest code it is broken now.