Physics Stack Exchange is a question and answer site for active researchers, academics and students of physics. 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

How would you explain in detail elastic collision of two rotating bodies to someone with basic understanding of classical mechanics?

I'm writing simple physics engine, but now only simulating non-rotating spheres and would like to step it up a bit. So what reading do you recommend so I could understand what exactly is happening when two spheres or boxes collide (perfectly in 2 dimensions)?

share|cite|improve this question
I found this quite useful once: And this might help you gain some intuition: – Martin Ender Apr 2 '13 at 13:15
up vote 3 down vote accepted

I worked on a physics engine written in C# that does just this.

Here are my notes on this topic.

Objects have both translational and rotational momentum.

When two objects collide, the overall algorithm goes like this:

1> Find the total momentum of both objects. Calculate the translational and rotational momentum, the vector sum of this is the total momentum of the object.

2> Split the momentum using the usual momentum splitting equation you would ordinarily use. (As in here)

Each object now has their new momentum. The next step is to decide how much of that momentum is translational and rotational.

3> Imagine a vector A which goes from the point of collision to the center of mass of the object that was hit. The component of the incoming momentum vector which is parallel with A forms the new translational momentum vector, the rest of the vector represents rotational momentum.

The extra notes I have linked to show more details on my methematical working, and also a description of how to handle inelastic collisions.

You can find the physics engine here, and an implementation of the collision handling here

share|cite|improve this answer
You shouldn't be adding linear to angular momentum. They have different units. The correct relationship is $$\vec{L}_A = \vec{L}_B + \vec{r}_{AB} \times \vec{P}$$ See – ja72 Jun 1 '15 at 15:51

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.