Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have two colliding boxes, How i can calculate contact information like (contact normal, contact point and penetration) .

Is there any simple algorithm .

Note: i'm using XNA .

share|improve this question
what is this you should enter more information – user13109 Feb 1 '12 at 21:15
Are you using a physics engine, or creating your own implementation? – Nic Foster Feb 1 '12 at 23:18
I'm building physics engine – MhdAljobory Feb 1 '12 at 23:52
Are the two boxes axis aligned (ie - the borders are aligned to the x and y axis?), or can they be on an angle (ie, defined by four arbitrary points?)? – lochok Feb 2 '12 at 7:47
Google OBB (Oriented bounding boxes) algorithms if your boxes are arbitrarily aligned otherwise you can use AABB (Axis-aligned bounding boxes) algorithms. Also for extensive detail and algorithms I recommend the book "Real Time Collision Detection" by Christer Ericson. – KlashnikovKid Feb 2 '12 at 15:49

I think this topic has been discussed a few times in the "Physics for Game Programmers" tutorial sessions at the Game Developers Conference.

This paper should at least give you some ideas:

There has definitely been at least one presentation by Erin Catto about how he does it in Box2d, but it's not clear whether the OP wants 2d or 3d. Anyway, his presentations are excellent and at least one of them (the 2008 one IIRC) mentions contact generation between two boxes via clipping:

share|improve this answer

Maybe I'm not fully understanding your question, but if you're looking for general info on collision detection Microsoft has two MSDN pages available, one specifically for XNA:

Bounding Volumes and Collisions in XNA

Collision Detection Overview

You could also look at the Box2D physics engine to get more detailed info on the technical aspects.

share|improve this answer
I think it's just for Collision Detection and it does not return any collision information – MhdAljobory Feb 3 '12 at 19:33

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.