Differences Between RAPID and I-COLLIDE
- The I-COLLIDE collision detection package is applicable to models represented as union of convex polytopes. On the other hand, RAPID is applicable to all polygonal models. They need not be convex or closed surfaces. Furthermore, RAPID expects no adjacency information or topological constraints. The models may contain cracks, holes, self-intersections, and non-generic (e.g. coplanar and collinear) configurations.
- RAPID does not contain any I/O routines. You will have to write your own functions to read and parse files to obtain the polygons which define a model. The ONLY way to feed a model to the RAPID system is with the RAPID_model::AddTri() member function which takes the vertex coordinates of a triangle, and an ID number.
- RAPID operates only with triangles. If your models contain polygons with more than three vertices, you will have to triangulate them yourself, and feed the triangles to RAPID. Convex polygons are trivial to triangularize, but if you want a more sophisticated approach, you can find triangulation code for polygons.
- RAPID has just one collision query function: Collide().
- Unlike I-COLLIDE, RAPID does not keep track of where the objects are. You must specify where the objects are in world space on every collision query.
- I-COLLIDE can report distances between models. On the other hand, RAPID reports only the triangle contact pairs. Pairs of triangle ID's are returned by the collision query function.
- Unlike I-COLLIDE, RAPID makes no use of frame-to-frame coherence in the motion of objects.
- I-COLLIDE has support for multiple object collision detection. On the other hand, RAPID contains support for pair-wise collision queries only.
Geometric Algorithms for Modeling, Motion, and Animation
Last updated on 6/9/97 by gottscha@cs.unc.edu. Please send comments or questions to geom@cs.unc.edu.