Elastic collision between two circles I am trying to calculate the final velocities of two equal mass 2-dimensional circles after an elastic collision. I have tried to figure it out using formulas I know from high school physics, but nothing seems to work. My known variables are:


*

*initial x and y velocities for each circle

*x and y distances between the centres of the circles at the time of the collision


The variables I would like to solve for are:


*

*final x and y velocities for each circle


Here are diagrams showing all the variables:

 A: So I came up with a graphical solution to this kind of problem. It might help you understand the process of collisions, without giving you a direct answer.


*

*Consider an Cartesian coordinate system xy for measuring momentum. Draw the initial momentum vectors $\vec{A} = m_A \vec{v}_A$ and $\vec{B} = m_B \vec{v}_B$. 

*Draw a circle with the two vectors as diagonals as seen below. If the final momentum vectors are still diagonal this this circle the total momentum has been conserved. Half of the total momentum is represented by the center of the circle.


*Draw the direction vector $\vec{n}$ for the contact normal on the tail of vector $\vec{A}$ and its negative off the tail of $\vec{B}$. In this case this direction joins the two body centers. Make sure you place the normal vectors pointing on the inside of the circle.


*The bodies will exchange an equal and opposite amount of momentum $\vec{J}$ called an impulse. The represents the total contact force over a short period of time $\vec{J}=\int 
\vec{F}(t)\,{\rm d}t$. You find this amount graphically by extending the normal vector directions until they reach the circle again. 


*The final momentum is found by connecting the origin to where the impulse vectors touch the circle
$\vec{A}^\star = \vec{A}+\vec{J}$ and $\vec{B}^\star = \vec{B}-\vec{J}$


*The final velocities are then $\vec{v}_A^\star = \frac{m_A\vec{v}_A+\vec{J}}{m_A}$ and $\vec{v}_B^\star = \frac{m_B\vec{v}_B-\vec{J}}{m_B}$
A: Rotate the digram so the line connecting the circles is horizontal at the moment that they touch - since you know dx and dy, you just take the arc tangent.
Now you move the frame of reference so the point where the two balls meet is stationary. The actual speed of the center of mass is just the vector mean of the velocities of the two balls (if they have different mass, you would weight each vector by the mass). This gives each circle a new velocity that is the original velocity minus the velocity of the center of mass.
In this frame, the two balls are moving towards each other at an angle, and after the collision they "switch directions":

And finally you convert back to the lab frame of reference.
