[ODE] box-box collisions
Marta Pla i Castells
Marta.Pla at uv.es
Fri Oct 25 02:02:01 2002
--=-sbJWy6VppIJdrQ4ob90f
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable
El vie, 25-10-2002 a las 10:33, Peter Amstutz escribi=F3:
First of all, hello to everyone, this is my first message to the list
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>=20
> Okay, so I've spent a little time looking at the box-box collision code.
> Detecting face-face contacts seems fairly easy; we just need to compare
> the normal vector between the boxes centers in the collision with the
> normal vector of the normal vectors of the sides of the penatrating box.
> In other words, determine if they share a coplanar face. Then we need to
> generate contact points (I haven't quite figured this part out yet).
>=20
> I have a few questions. The first is that in doing this comparison, ther=
e
> is enough error floating around that it is very unlikely that the normals
> of box faces that should be treated as coplanar will be *exactly* the
> same. In general, what is the policy in ODE for handling these sorts of
> slightly inexact comparisons?
>=20
The fact is that I don't know really how it does, but I have the same
problem in my application. I resolve the face-face collision by
examining the relative rotation matrix between the two boxes. If the
angles of this matrix are "little" enough I consider the boxes are
parallel and solve the problem adding two more contact points in the
colliding face with the same problem.
> The second question is face-edge collisions. What's a good way of
> determining if a line (the edge) lies in the plane of the face? Again,
> this has to be a slightly inexact comparison rather than an exact
> calculation because of error. I've determined that face-edge collisions
> are absolutely crucial for good box stacking, since otherwise it becomes
> almost impossible for one box to come to rest upon another if the first
> one hits the supporting box at an angle. Face-edge contacts need two
> contact joints, otherwise boxes will just tumble uncontrolably.
>=20
Totaly certain. But this is more difficult. Before beginning working
with ODE I was using another collision detection library based also in
OBBTrees but I was not able to determine well enough the face-edge
collision. If anyone has an idea, it will be great.
I wish you understand why a spanish write so bad english :)
--=20
****************************************
gpg pub 1024D/A2D21610 Marta Pla i Castells <Marta.Pla@uv.es>
Key fingerprint =3D 9578 8116 FC87 C4D2 1A5C 993F 86B4 52D2 A2D2 1610
***********************************
Marta Pla i Castells (Marta.Pla@uv.es)
http://www.uv.es/~mplac
****************************************
Mathematicians are like Frenchmen:
Whenever you say something to them, they translate it into
their own language, and at once it is something entirely different
Goethe.
--=-sbJWy6VppIJdrQ4ob90f
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Esta parte del mensaje esta firmada digitalmente
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.0 (GNU/Linux)
iD8DBQA9uQkUhrRS0qLSFhARAgeVAJ9JMW9rDWGEk7MPvVIrvGal6LhltgCcCcwG
wFgN4YUqdAzcZJLxbevHwCo=
=PF9Y
-----END PGP SIGNATURE-----
--=-sbJWy6VppIJdrQ4ob90f--