[ODE] Collisiondetection with triangles

David Walters hidden.asbestos at googlemail.com
Fri Mar 16 09:49:29 MST 2007


Hi,

> already read the documentation and i think i misunderstood something. For a
> plane, therefore I need the normal vector of that plane and some factor
> (d?).

> First of all I thought a,b,c,d are just vectors and the planes edges are
> placed at the coordinates for a,b,c,d.

No, the plane primitive in ODE is a mathematical plane - i.e. infinite in area.

Parameters a, b, c, d are all scalar values representing the plane such that

a * x + b * y + c * z + d = 0

for any point (x,y,z) on the plane. To put it a bit more simply, a
normal: (a,b,c) defines a direction and 'd' the distance from the
origin (typically a negative value in my experience)

If you want some more detail beyond the basics, maybe this with help:
http://mathworld.wolfram.com/Plane.html



> So with that circumstance the only way for checking a ray's collision with a
> single triangle is a trimesh.
>
> Or does anyone of you has better ideas?

The only way to do this in ODE currently is to create a trimesh with 1
triangle in it.

I'm not sure if the overhead of a trimesh is significant enough to
warrant a single triangle collider...

Regards,
David Walters


More information about the ODE mailing list