Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

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 am looking for literature - or a simple explanation - on how the Farseer (and for that reason, the Box2D) collision detection system works - specifically the logic that comes after the broadphase culling:

  • What data structure does it use?
  • How does it use that data structure to determine if a collision has occurred?
  • How does it calculate the response normals?

NB: I am not asking how to use it, I merely want to know how it works as a matter of personal enlightenment.

share|improve this question
Add a bounty and post the link to question on Farseer/Box2D boards. – Den Nov 2 '11 at 12:02
Have you considered jumping into the source and checking it out? – Richard Marskell - Drackir Nov 2 '11 at 18:26
@Drackir I definitely have been looking at the code - but it's hard to get started when I don't know what I am actually looking at :). Really; I am just look for a broad overview so that I have it at the back of my mind while reading the code. – Jonathan Dickinson Nov 2 '11 at 21:31

I really recommend Real-Time Collision Detection by Christer Ericson

It'll answer all your questions, go buy, rent, steal this book.

share|improve this answer
It's worth noting, that this book covers 3D collision detection, whereas box2d and farseer are 2D. – George Duckett Nov 2 '11 at 15:44
Many thanks. I'll avoid stealing it at all costs :). – Jonathan Dickinson Nov 2 '11 at 21:31
up vote 0 down vote accepted

There is a small explanation of the Farseer 2.1 physics. It includes information on both SAT and Distance Grid detection.

share|improve this answer

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.