[ODE] box-box collisions

Peter Amstutz tetron at interreality.org
Fri Oct 25 11:43:02 2002


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Fri, 25 Oct 2002, slipch wrote:

> Box - box collision use axis separating. It never checks complanarity of
> box faces and I do not think It will ever do it and do not think it
> really need it. But you can make your own alternative box-box collider
> than you can see easy it or not :). May be it needs to spend more time
> looking at the original box-box collider :).

It seems there are a couple possible ways to test for face-face box
contacts.  Rather than being coplanar actually I meant that the planes of
each box are parallel, so if we know that the boxes penetrate and are
coplanar then there must be a face-face contact.  The other way suggested
by Marta is to compare rotations, and if the boxes are at equal/right/180
degree angles to one another then they must be in face-face contact as
well.

I think the second way may be a bit faster.

For box-edge collisions we definately need to test to see if an edge is
coplanar with the face it collides with.  Actually, that may not be so
bad.  Once we know that, generating a couple contact points should be
easy.

Russ, would you care to explain the current box-box collision algorithm
(and maybe box-plane as well)?  I've been looking it over but the code is
rather... dense :-)

Oh, and for comparison, last night I took a midterm exam in Advanced
Algorithms (a required course in the masters/PhD program here) and it was
waaay easier than trying to figure out the box collision code :-)

[   Peter Amstutz   ][ amstutz@cs.umass.edu ][ tetron@interreality.org  ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE9uZCcaeHUyhjCHfcRAmR+AJ9JvdpYz0722LwBZgOJlLkOJgc20gCdFnhg
USeMPPQ/VUpi8lXlqK8DgwA=
=RmQm
-----END PGP SIGNATURE-----