[ODE] contact joints / attaching them
Flavien Brebion
f.brebion at vrcontext.com
Sat Oct 11 17:26:16 MST 2003
Well, that's in spirit what i'm doing.
The problem is, what do you do when you find that the
intersection occured between two timesteps ?
If you "just" report a contact at the next timestep,
this contact will not even be located onto the moving
object's surface..
That's why my solution was:
1. Find any contact that could occur between the
previous and the next timestep.
2. Advance the object up to the contact's time;
3. Generate the contact joints;
4. Advance the object for the remaining time (ie.
recursively continue at 1. for the remaining time).
F. Brebion
-----Original Message-----
From: ode-bounces at q12.org [mailto:ode-bounces at q12.org]On Behalf Of Steve
Baker
Sent: Saturday, October 11, 2003 4:53 PM
To: ode
Subject: Re: [ODE] contact joints / attaching them
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-----
_______________________________________________
ODE mailing list
ODE at q12.org
http://q12.org/mailman/listinfo/ode
More information about the ODE
mailing list