[ODE] contact joints / attaching them

Steve Baker sjbaker1 at airmail.net
Sat Oct 11 09:52:50 MST 2003


Flavien Brebion wrote:
> If a ball is on one side of a wall at the start of a timestep,
> and on the other side at the next timestep, no collisions will
> be reported, and the ball will pass through it. That's what
> i call the "tunneling" effect, as opposed to "sweep collisions".
> And that's why i need different timesteps.

OK - I'm really new to ODE and I didn't know how that happened.

The 'tunnelling' problem is a serious issue.

The way I've dealt with that in the past is to 'extrude'
objects along their flight path - so I do intersection testing
on (say) a sphere using two spheres and a cylinder.  One sphere
at the start of the motion, one at the end and the cylinder
filling in the gap between them.   This guarantees that you'll
find a collision whenever one occurs - although it can be
challenging to get the precise moment of collision exactly
right.

That seems a much better approach than brute force shrinkage of
the time-step which is likely to do bad things to the CPU consumption.

---------------------------- Steve Baker -------------------------
HomeEmail: <sjbaker1 at airmail.net>    WorkEmail: <sjbaker at link.com>
HomePage : http://www.sjbaker.org
Projects : http://plib.sf.net    http://tuxaqfh.sf.net
            http://tuxkart.sf.net http://prettypoly.sf.net
-----BEGIN GEEK CODE BLOCK-----
GCS d-- s:+ a+ C++++$ UL+++$ P--- L++++$ E--- W+++ N o+ K? w--- !O M-
V-- PS++ PE- Y-- PGP-- t+ 5 X R+++ tv b++ DI++ D G+ e++ h--(-) r+++ y++++
-----END GEEK CODE BLOCK-----



More information about the ODE mailing list