[ODE] Piled objects

Mike Cline cline at cs.ubc.ca
Tue Apr 30 14:54:02 2002


I haven't looked at ODE's box-box code, but I think that generating 
multiple contacts between pairs of boxes should not be too tricky:

- check all 8 vertices of box A for proximity to each face on box B
     (this should be pretty fast -- just transform the 8 points to body B's 
coordinates and then a bunch of greater-than less-than comparisons on the 
coordinates)
- check all 8 vertices of box B for proximity to each face on box A
- check all 12 edges of A for proximity to each of the 12 edges of B
     (this might be the slow part, but there are probably some smart ways 
of culling most of the 144 tests)

would this work?  would it solve the jittering problem?

Mike


At 02:13 PM 4/30/2002, Nate W wrote:
>On Tue, 30 Apr 2002, Richard Lee wrote:
>
> > Frequently when stacked boxes should come to rest they continue to jitter
> > about and act strangely. [...]
> >
> > Will this improve in ODE in the future?
> > Is there ways to improve it now?
>
>When two boxes touch, only one contact is generated between them, even if
>they are touching face-to-face.  This allows them to jitter (or "boil") as
>you saw.  Compare to box-plane interestion, in which multiple joints may
>be created - things behave nicely.
>
>See dBoxBox(...) in geom.cpp.  There are some comments near the end of the
>function that expain a little bit more.  I for one would love to see this
>problem solved, but I'm not even sure how to approach it.
>
>--
>
>Nate Waddoups
>Redmond WA USA
>http://www.natew.com
>
>
>
>_______________________________________________
>ODE mailing list
>ODE@q12.org
>http://q12.org/mailman/listinfo/ode