Esta animación muestra dos bolas de igual masa que chocan entre sí. Las posiciones iniciales de las bolas son aleatorias, al igual que la velocidad inicial de la bola roja. La bola azul comienza siempre en reposo.
En estas situaciones se conserva el momento lineal total (o cantidad de movimiento), definido para cada partícula como \vec{p}=m\vec{v}. Por tanto, considerando los instantes inmediatamente anterior y posterior a un choque, se cumple:
\vec{p}_{1}+\vec{p}_{2}=\vec{p}_{1}'+\vec{p}_{2}'
donde las velocidades sin apóstrofo se refieren a las que hay en el momento anterior al choque, mientras que las que llevan apóstrofo son las del instante posterior.
Como ambas partículas tienen la misma masa (m_1=m_2), entonces la conservación del momento lineal total se reduce a:
\vec{v}_{1}+\vec{v}_{2}=\vec{v}_{1}'+\vec{v}_{2}'
Los choques son perfectamente elásticos, con lo que no se pierde energía cada vez que las bolas se tocan. Estamos considerando que no hay fricción entre ellas, de forma que los choques no inducen giros en las bolas.
Puesto que los objetos son bolas circulares iguales, la condición de que se produzca un contacto es que la distancia entre los centros sea igual al diámetro de las bolas. Sean x_1 e y_1 las coordenadas del centro de la primera bola en el momento del contacto, sean x_2 e y_2 las de la segunda bola. Llamaremos \theta al ángulo que forma la recta que pasa por los dos centros medido respecto del eje X. Esta es la dirección de ataque del choque.
\theta = \arctan \frac{y_2-y_1}{x_2-x_1}
Las componentes de los momentos lineales proyectadas en la dirección paralela a la recta de ataque se intercambian entre ambas bolas al ser un choque elástico, mientras que las componentes proyectadas en la dirección normal (perpendicular) a la recta de ataque no cambian. Podemos hallar dichas componentes paralelas y normales mediante una rotación de los ejes coordenados en un ángulo \theta.
Por tanto, si las velocidades de ambas bolas antes del choque son \vec{v}_1 y \vec{v}_2, tenemos:
v_{1\parallel}=v_{1x}\cos\theta + v_{1y}\,\text{sen}\,\theta
v_{1\perp}=-v_{1x}\,\text{sen}\,\theta + v_{1y}\cos\theta
v_{2\parallel}=v_{2x}\cos\theta + v_{2y}\,\text{sen}\,\theta
v_{2\perp}=-v_{2x}\,\text{sen}\,\theta + v_{2y}\cos\theta
Las componentes v_{1\parallel} y v_{2\parallel} se intercambian entre sí, mientras que v_{1\perp} y v_{2\perp} permanecen constantes en el choque.
v_{1\parallel}'=v_{2\parallel}
v_{1\perp}'=v_{1\perp}
v_{2\parallel}'=v_{1\parallel}
v_{2\perp}'=v_{2\perp}
Para recuperar las velocidades en los ejes coordenados originales, debemos deshacer la rotación, esta vez girando un ángulo -\theta, es decir:
v_{1x}'=v_{1\parallel}'\cos\theta - v_{1\perp}'\,\text{sen}\,\theta
v_{1y}'=v_{1\parallel}'\,\text{sen}\,\theta + v_{1\perp}'\cos\theta
v_{2x}'=v_{2\parallel}'\cos\theta - v_{2\perp}'\,\text{sen}\,\theta
v_{2y}'=v_{2\parallel}'\,\text{sen}\,\theta + v_{2\perp}'\cos\theta