[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