Contact handling on "Nonconvexe rigid bodies with stack

Please don't post Bullet support questions here, use the above forums instead.
LonelyStar
Posts: 6
Joined: Sun Nov 26, 2006 2:56 pm

Contact handling on "Nonconvexe rigid bodies with stack

Post by LonelyStar »

Hello dear community,

In the paper "Nonconvexe rigid bodies with stacking" the following time sequence for contact handling is suggested:

1. Collisiond detection and response
2. Integrate velocity
3. Contact handling by doing collsions detection and response with e=0
4. Integrate position

Now consider this (pathological) scenario.
A ball with high elasticity (e=0.99 i.E.) falls on the ground.
I am using the following varibles:
dt = time step
v = current velocity (in direction to the ground)
dv = velocity gain in dt (in example g*dt)
D = Distance ground - ball

What if
v*dt<D
but
(v+dv)*dt>=D

The algorithem would do the following:
1. Since v*dt<D, no collision is detected.
2. The new velocity v'=v+dt is set
3. Since v'*dt=(v+dv)*Dt>=D a "contact collision" is detected and executed with e=0.
4. Position is integrated.

Because of step 3, the ball now lies on the ground, which is not the desired effect.

Why is this not a problem?

Thanks!
Nathan