Collision treatment for "long" objects ??

Blitz3D Forums/Blitz3D Programming/Collision treatment for "long" objects ??

Coda(Posted 2004) [#1]
Hi everyone.

My understanding of B3D's collision support is:

a) For moving objects, spheres against spheres, boxes, or
polygons. This can be generalised somewhat by stretching
the spheres in the vertical (y) dimension (ellipsoids).

b) MeshIntersect detects collision between arbitrary meshes,
but takes no account of their motion, is slow, and does
not return detailed info (point of collision, normal,
etc).

c) Linepicks can be given a radius, allowing the user to
construct 'swept-sphere' tests.

I'd like to be able to do collisions for moving, 'long'
objects (eg., a millipede). A single bounding sphere
(option (a)) will give very inaccurate results. An obvious
possibility is to use a string of overlapping spheres,
arrayed in a line along the objects primary axis (eg.,
millipedes backbone). I did a search both here and at Blitz
Coder to see if anyone had tried this, and it seems that
Shawn Swift has posted code to do this. Unfortunately, the
supplied links were two or three years old and are now
dead. Are you out there Shawn? :-) Did anyone keep a copy
of his code they could post? Does anyone have any other
suggestions? I did some thinking along the lines of (c),
and thought it'd be conceptually straightforward until I
realised I'd forgotten that *rotation* of a multi-sphere
object would mean that the outlying spheres would have
translational motion in circular arcs. :-(

Thanks for reading this, and thanks for any input.

Cheers,
Coda.