Archived

This topic is now archived and is closed to further replies.

shadow12345

Methods for colliding rotating objects

Recommended Posts

shadow12345    100
I've implemented swept volume collision detection using brushes against a BSP, but that paradigm of collision detection can't seem to account for something like a machine arm pivoting but then striking an object that hits the mid point of the arm. What methods can you use to account for the pivoting machine arm? All I need is a name to search or a URL. EDIT: I'm not actually in any hurry to get this info, in fact I'm not going to implement it any time soon, if ever. [edited by - Shadow12345 on January 17, 2004 4:50:54 PM]

Share this post


Link to post
Share on other sites
oliii    2196
seems like you''re out of luck, so I''ll chip in...

It''s pretty hard to detect collisions with rotating objects, if you want to do it properly. What you''d want is continous collision detection, where objects are assumed to move at constant linear and angular velocity through a delta time.

the maths are hard-ish, it''s finding roots to a 3rd order equation, or something in that vein, to get the time of collision. Look for stephane redon''s paper on continuous collision detection. It''s PhD material, so hard to digest (at least for a simpleton like me).

I''d probably not bother, and check for overlaps. It''s likely the objects will start intersecting when they start rotating. It''s quite a big modification to the collision detection, physics system, to be able to cope with overlaps and swept volumes at the same time. But that''s probably one of the reasons why nothing rotates in Quake3 and others. It''s a pain to support.

Share this post


Link to post
Share on other sites
shadow12345    100
Thanks for the reply. It seems ridiculously hard to implement, and like you said I''d probably just check for overlaps or something like that...ultimately it just has to look okay, not necessarily be mathematically correct, but thanks for the stuff to search

Share this post


Link to post
Share on other sites
TerranFury    142
Just sketch out all the equations on paper and use a numerical method to find the roots. Not all THAT difficult.

You know the "hit a bullet with a bullet" problem? I spent half of a long car ride doing a lot of algebraic manipulation and solved it.

You can solve these too. It''s just math. :-)

Share this post


Link to post
Share on other sites