Sign in to follow this  
Satook

collision problems

Recommended Posts

I've been working on a basic physics system for a while now. It uses 2D polygonal and circular collison primatives. I understand how I can test if the objects have intersected, or are touching. However, my problem is with the response. The system I have requires that the two objects be touching. When the objects are overlapping, I need to "move backwards", which can be expensive. When they are found to be overlapping, is there a better way to find the point at which they touched, or are there response systems that can work with overlapping?? Many thanks, Satook

Share this post


Link to post
Share on other sites
If I'm understanding your question correctly, you might want to look into continuous collision detection, i.e. algorithms that take velocity into account and return the first time of contact, if any, between two objects.

If your polygonal primitives are convex, there's a very well-documented method using the separating axis theorem that might be useful to you. (Circles will probably have to be handled differently, using swept-circle tests.)

Dave Eberly's book on game physics includes a detailed treatment of continuous collision detection in 2D and 3D using the separating axis theorem, including discussion of reconstructing contacts and optimizing the intersection functions. If you don't have the book, there's a less in-depth .pdf on the subject on his Magic Software website.

I think there are response systems which work from overlap information, but I haven't implemented such a system so I'll leave that to someone else.

Share this post


Link to post
Share on other sites
thanks guys, the stuff sounds promising. I've implemented most of it without worrying about penetration, and it seems to work fine. I also realised that I don't really need to worry that much, as I only really need to know approx when two things collide. Thanks for the info, I'll look it up anyways because it prolly has other useful info in it.

Thanks again
Satook

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