Velocities after a perfectly elastic head-on collision. Both momentum and kinetic energy are conserved.
What an elastic collision is
In a perfectly elastic collision, both momentum and kinetic energy are conserved. No energy is lost to heat, sound, or deformation. The bodies bounce off each other.
Real collisions are never perfectly elastic, but billiard ball collisions and atomic/subatomic collisions come close.
Setting up
Two bodies of masses m1 and m2 moving with initial velocities u1 and u2 (all in the same line, taking rightward as positive).
After collision, their velocities are v1 and v2.
Derivation
Conservation of momentum:
m1u1+m2u2=m1v1+m2v2...(1)
Conservation of kinetic energy:
21m1u12+21m2u22=21m1v12+21m2v22...(2)
Rearrange (1): m1(u1−v1)=m2(v2−u2) ... (3)
Rearrange (2): m1(u12−v12)=m2(v22−u22)
Factor: m1(u1−v1)(u1+v1)=m2(v2−u2)(v2+u2) ... (4)
Divide (4) by (3):
u1+v1=v2+u2
u1−u2=v2−v1...(5)
Equation (5) is key: relative velocity of approach = relative velocity of separation.
Now solve (1) and (5) simultaneously.
From (5): v2=v1+u1−u2
Substitute into (1):
m1u1+m2u2=m1v1+m2(v1+u1−u2)
m1u1+m2u2=(m1+m2)v1+m2u1−m2u2
(m1−m2)u1+2m2u2=(m1+m2)v1
v1=m1+m2(m1−m2)u1+2m2u2
Similarly: v2=m1+m2(m2−m1)u2+2m1u1
Special cases
Equal masses (m1=m2):
v1=u2,v2=u1
The bodies exchange velocities. If m2 is at rest: m1 stops, m2 moves off with m1's initial velocity.
Very heavy projectile (m1≫m2, m2 at rest):
v1≈u1v2≈2u1
The heavy body barely slows down. The light body shoots off at twice the projectile's speed.
Very light projectile (m1≪m2, m2 at rest):
v1≈−u1,v2≈0
The light body bounces back with the same speed. The heavy body barely moves. (Like a ball bouncing off a wall.)
The relative velocity result (equation 5)
For elastic collisions: relative velocity of separation = relative velocity of approach
v2−v1=u1−u2
This is equivalent to coefficient of restitution e=1 for elastic collisions.
Remember
In problems where both masses and initial velocities are given, use the formulas directly. But for special cases (equal masses, one at rest), use the special case results — they are faster and less error-prone.