[ODE] Pushing through collisions
Nguyen Binh
ngbinh at glassegg.com
Fri Apr 30 19:15:57 MST 2004
Hi Alen,
AL> But, it is the correct solution by definition. Contact normal and depth
AL> define shortest direction and distance along which the two objects need to
AL> be moved in order not to penetrate.
Yes!
AL> If you push sphere deep enough in the
AL> bottom of a cylinder, so that its center is further from the bottom, than
AL> from the side of the cylinder - then the side is closer, and separation
AL> normal goes that way.
First, it is not always true when the center is pushed deep inside
cylinder then the side is closer. Imagine when you have a flat
cylinder with small size but large radius.
Second,maybe I got the Nan thing you stated before. The depth
normal is just switch right and left so the small sphere is stuck
there.
AL> Generally, if center of one object is inside another
AL> object, you are possibly already in trouble. Though you can calculate
AL> correct resolution for that for primitives, you can't do that for generic
AL> meshes, so you should avoid such cases in general.
Hmmm.. I think collider not just need the position and geometric
information of the two objects, it should consider their
velocities and or last states,...
I had used the difference between the flat cylinder and sphere to
determine what parts of cylinder (side, top, bottom) collided with
sphere.
So, I wonder if that's a bad practice? I guess in general mesh
collider, velocities play some roles...
Nguyen Binh.
More information about the ODE
mailing list