SOLID- a library for interface detection
A Library for interface detection of three-dimensional polygonal
objects undergoing rigid motion
SOLID is a library for collision detection of three-dimensional
objects undergoing rigid motion and deformation. SOLID is designed to be
used in interactive 3D graphics applications, and is especially suited
for collision detection of objects and worlds described in VRML.
Some of the features are:
Object shapes are represented by primitive shapes (box,
cone, cylinder, sphere), and complexes of polytopes (line segments, convex
polygons, convex polyhedra). A single shape can be used to instantiate multiple
Motion is specified by translations, rotations, and
nonuniform scalings of the local coordinate system of each moving object. These
changes can be given absolute or relative to the previous frame. The local
coordinate system can also be set according to an array of sixteen floats
or doubles representing a 4x4 column-major matrix of an affine
transformation, as used in OpenGL.
Deformations of complex shapes can be specified using
client-defined vertex arrays.
Caollision response is defined by the client by means of
call-back functions. Response may be defined per object pair, for all pairs
containing a specific object, and as default for all pairs of objects.
Response call-backs can use collision data describing the
configuration of a pair of colliding objects. As collision data can be
used a point common to both objects, and the closest point pair of the
objects from the previous frame. The latter response type can be used for
approximating the collision plane in physics-based simulations.
Frame coherence is exploited by maintaining a set of pairs
of proximate objects (incremental sweep and prune of axis-aligned bounding
boxes), and caching separating axes for these pairs. This feature
is optional and may be turned on/off at any time during a
Download Files (local site)SOLID's Homepage at SourceForge
This page last modified on 2008-07-10