Sign in to follow this  
Endemoniada

Collision Detection with Rotation ?

Recommended Posts

Endemoniada    430
Hi guys,

I've been using sweep tests for my 2D objects but I don't see how they can detect collisions of rotating objects.

I really have no idea how to handle the detection scheme for 2D rotating objects and need some guidence.

Please help.

Share this post


Link to post
Share on other sites
GreenToad    320
A simple way to handle collision detection with rotated 2D objects (convex polygons) is to use Separating Axis Theorem. See here:

http://www.gamedev.net/reference/programming/features/2dRotatedRectCollision/
http://www.metanetsoftware.com/technique/tutorialA.html

Share this post


Link to post
Share on other sites
raigan    1110
I think the OP was asking about rotatING collision, not rotatED -- i.e the angular equivalent of linear swept collision tests.

Box2D uses conservative advancement, which I think is a popular approach in practice:
http://www.continuousphysics.com/BulletContinuousCollisionDetection.pdf

There is also the method used by cloth sims, which handles concave and deforming shapes; sadly since it sweeps vertices along linear paths, it means that your rigid shape will deform a bit if it's spinning fast, but AFAIK this is what was used in LBP and it seemed to work very well (see second link):
http://www.cs.ubc.ca/~rbridson/docs/cloth2002.pdf
http://www.bungie.net/images/Inside/publications/siggraph/MediaMolecule/final_alex_siggraph.ppt

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this