I want to modify my billiard simulator to use special relativity instead than classical mechanics. The idea is to add the speed of light as a parameter, so that it is possible to see the relativistic effects increase as the speed of light decreases.

I need to derive the relativistic formulas for ball-side and ball-ball collisions, as well as adjusting the collision detection to account for relativistic time dilation and length contraction. I did not find anything much ‘ready made’ in various books and papers found on the Internet, so I’ll start working out the simple cases and (hopefully) build from that.

The simplest collision is ball-ball head-on:

It can be treated as one-dimensional, ignoring the vertical coordinate. The energy-momentum conservation equations are:

$$ \frac{E}{c^2} = m_0\gamma_0 + m_1\gamma_1 = m’_0\gamma’_0 + m’_1\gamma’_1 = \frac{E’}{c^2} $$

$$ p = m_0 \gamma_0 v_0 + m_1 \gamma_1 v_1 = m’_0 \gamma’_0 v’_0 + m’_1 \gamma’_1 v’_1 = p’$$

where \(m_0\) and \(m_1\) are the rest masses of the two balls and

$$ \gamma_0 = \frac{1}{\sqrt{1 - v_0^2 / c^2}}, \gamma_1 = \frac{1}{\sqrt{1 - v_1^2 / c^2}}$$

with \(c\) the speed of light. The primed symbols indicate the same quantities after the collision.

The collision can be not perfectly elastic, and so the rest masses of the balls can change, i.e. some of the kinetic energy gets converted into internal energy of the balls – hence \(m’_0\) and \(m’_1\) instead than just \(m_0\), \(m_1\) in the right-hand sides of the conservation equations.

These equations are difficult to solve for \( v’_0 \) and \( v’_1 \). The standard way to simplify them is to switch to the rest frame of the two-balls system, i.e. the frame of reference where the total momentum is zero. Indicating with \(\bar v_0\) and \(\bar v_1\) the ball velocities in this frame of reference, the momentum conservation equation becomes:

$$ m_0 \bar\gamma_0 \bar v_0 + m_1 \bar \gamma_1 \bar v_1 = 0 = m’_0 \bar\gamma’_0 \bar v’_0 + m’_1 \bar\gamma’_1 \bar v’_1 $$

(note that the rest masses are Loretz-invariant, so they stay the same). This equation has solutions

$$ m’_0 \bar\gamma’_0 \bar v’_0 = -\epsilon m_0 \bar\gamma_0 \bar v_0 $$

$$ m’_1 \bar\gamma’_1 \bar v’_1 = -\epsilon m_1 \bar\gamma_1 \bar v_1 $$

where \(\epsilon\) is a positive constant, and the minus sign indicates that the velocities change direction after the collision. Even with this simplification, the single conservation of energy equation is not enough to determine both the rest masses and the velocities after the collision, so we need to make some further assumption. In the classical, perfectly elastic case the energy of each ball in the zero momentum frame of reference is conserved after the collision. Assuming that this is still the case in a relativistic collision gives the equations:

$$ m_0 \bar\gamma_0 = m’_0 \bar\gamma’_0 $$

$$ m_1 \bar\gamma_1 = m’_1 \bar\gamma’_1 $$

Solving for \( \bar v’_0 \), \(m’_0\) and \( \bar v’_1 \), \(m’_1\) gives:

$$ \bar v’_0 = –\epsilon \bar v_0 $$

$$ \bar v’_1 = -\epsilon \bar v_1 $$

$$ m’_0 = m_0 \frac{\bar\gamma_0}{\bar\gamma’_0} = m_0 \sqrt\frac{1-\epsilon^2 \bar v_0^2 / c^2}{1- \bar v_0^2 / c^2} $$

$$ m’_1 = m_1 \frac{\bar\gamma_1}{\bar\gamma’_1} = m_1 \sqrt\frac{1-\epsilon^2 \bar v_1^2 / c^2}{1- \bar v_1^2 / c^2} $$

The first two equations are exactly as in the classical case, with \(\epsilon\) being the coefficient of restitution.

To compute the final velocities in the frame of reference of the billiard table it is necessary to convert the initial velocities to the zero-momentum frame of reference, apply the formulas above and then convert back the results to the original frame of reference.

The Lorentz transformation of the momentum \(p\) of a body with energy \(E\) to a frame of reference with velocity \(u\) is:

$$ p’ = \gamma_u (p – \frac{u}{c^2}E) $$

so the velocity of the zero-momentum frame of reference is

$$ \begin{equation}\tag{U} u = \frac{p}{E/c^2} = \frac{m_0\gamma_0 v_0 + m_1 \gamma_1 v_1}{m_0 \gamma_0 + m_1 \gamma_1} \end{equation}$$

and the velocity transformations are:

$$ \bar v = \frac{v-u}{1-vu / c^2} $$

$$ v’ = \frac{\bar v’+u}{1+\bar v’u / c^2} $$

hence:

$$ \begin{equation}\tag{V} v’ = \frac{u(1-u v / c^2) + \epsilon (u – v)}{1- u v / c^2+\epsilon u / c^2 (u-v)} \end{equation} $$

$$ \begin{equation}\tag{M} m’ = m \sqrt{\frac{1 – 2(1-\epsilon^2)vu/c^2 – \epsilon^2 (v^2 + u^2) / c^2 + v^2u^2/c^4}{1- (v^2+u^2)/c^2 + v^2u^2/c^4}} \end{equation} $$

#### Classical limit

In the classical limit (U) becomes:

$$ u = \frac{m_0 v_0 + m_1 v_1}{m_0 + m_1} $$

and (V) becomes:

$$ v’ = (1 + \epsilon) u – \epsilon v$$

combining the two:

$$ v’ = \frac {1+\epsilon} {m_0+m_1} [m_0 (v_0 – v) + m_1 (v_1 – v)] + v$$

that gives:

$$ v’_0 = –m_1 \frac {1+\epsilon} {m_0 + m_1} (v_0 – v_1) + v_0 $$

$$ v’_0 = m_0 \frac {1+\epsilon} {m_0 + m_1} (v_0 – v_1) + v_1 $$

that is the same solution as in the two dimensional classical case when \(\alpha = 0\).

#### Inelastic collision

For a perfectly inelastic collision \(\epsilon = 0\) and so (V) becomes simply \( v’ = u \): the two balls have always the same velocity after the collision, i.e. they ‘stick together’ as expected.