Re[2]: [ODE] Collision detection for arbitrary polytopes ?

Bergen, G.J.A. van den G.J.A.v.d.Bergen at cebra.tue.nl
Wed Jun 19 04:12:02 2002


Even for a concave solid decomposed into convex subpart, finding the
penetration depth is not trivial. Imagine a rod standing on the floor and
leaning against a wall. Decomposing the static scene into a convex floor and
a convex wall part, would result in two penetration depth vectors. The wall
vector would be horizontal while the floor vector would be vertical. The
actual penetration depth vector would point diagonally away from the floor
and the wall. 
The problem is that in general you cannot combine the different penetration
depth vectors to a single penetration depth vector for all subparts. You'd
have to find the actual penetration depth vector on the level of the
Minkowski sum of the rod and the floor-wall object. However, this Minkowski
sum is concave and thus finding the point on the boundary closest to the
origin is not that simple. Of course, you can treat the floor and the wall
as separate objects and impose a glue constraint between them if the
floor-wall object is dynamic as well. But if the number of supparts are
large, the large number of glue constraint would impose quite a load on the
simulator (torus tossed on a cone). 

-----Original Message-----
From: Pierre Terdiman
To: ode@q12.org
Sent: 6/14/02 10:32 AM
Subject: Re: Re[2]: [ODE] Collision detection for arbitrary polytopes ?

> Yes, Opcode does provide penetration depth in Sphere and Ray collides
> with a poly soup! But I can't see any in poly-poly (TreeCollider)
> test.

Because that's very hard to do for arbitrary meshes. I don't think a
good,
convincing solution exists, and the ones I've seen are too slow for
realtime
anyway.

If I had to implement it for next week, I would probably decompose the
mesh
into convex parts using SWIFT++, use the hierarchy of convex hulls as a
BV-tree, then use SOLID 3.0 on top of this to compute penetration depth
between 2 hulls.

Would work, for a very high price.

Pierre

_______________________________________________
ODE mailing list
ODE@q12.org
http://q12.org/mailman/listinfo/ode