Simulation

2D Collision SimulatorOff-Center Hits in 2D

Momentum & CollisionsElastic collisions

Two objects colliding at angles in two dimensions with adjustable masses and velocities.

Published: May 3, 2026 · Updated: June 2, 2026

Objective

Verify that an elastic 2D collision between two equal-mass spheres conserves both total momentum (as a vector) and total kinetic energy. Confirm the geometric prediction that, when one mass is initially stationary, the post-collision velocity vectors of the two balls are perpendicular, separated by exactly 90°. Decompose velocities into components along the contact normal and tangential to it, and observe that only the normal components exchange while the tangential components pass through unchanged.

Setup

  1. Set Ball 1 mass to 2.0 kg and Ball 2 mass to 2.0 kg using the mass sliders.
  2. Set Ball 1 speed to 8.0 m/s and Ball 2 speed to 0.0 m/s, so Ball 2 begins stationary.
  3. Set the Approach angle slider to 30°, which offsets Ball 2 sideways from Ball 1's path by R·sin θ = 2 m and produces a glancing, not head-on, impact.
  4. Press Start and watch the v₁, v₂, p, KE, and θ₁ after readouts as the two balls approach, collide, and separate.
  5. Press Pause once both balls have clearly separated, and record the final values of v₁, v₂, p, KE, and θ₁ after.
  6. Press Reset to restore the initial configuration before changing parameters for the next run.
The 2D Collision simulator at the start of a run.

Analytical Prediction

With m₁ = m₂ = 2.0 kg, v₁ = 8.0 m/s, v₂ = 0, the initial total momentum is p = m₁·v₁ = 16.000 kg·m/s along +x and the initial kinetic energy is KE = ½·m₁·v₁² = 64.00 J. Both should be conserved. The Approach angle of 30° offsets Ball 2 vertically by R_SUM·sin 30° = 2 m, so the contact normal at impact tilts 30° below horizontal: sin α = b/R_SUM = 0.5, giving α = 30°. For equal masses with a stationary target, the normal component of Ball 1's velocity transfers entirely to Ball 2 and the tangential component remains with Ball 1:

v₂'=v₁ · cos α
=8 · cos 30°
6.93 m/s
v₁'=v₁ · sin α
=8 · sin 30°
=4.00 m/s

The two outgoing velocity vectors meet at exactly 90°. Check the readouts: v₁ ≈ 4.00, v₂ ≈ 6.93, θ₁ after ≈ 60.0°, p ≈ 16.000, KE ≈ 64.00.

Results Analysis

Compare the v₁, v₂, p, KE, and θ₁ after readouts to the predicted 4.00 m/s, 6.93 m/s, 16.000 kg·m/s, 64.00 J, and 60.0°. Total momentum p and total kinetic energy KE should both match the pre-collision values to within the displayed precision: that is the experimental signature of an elastic collision, distinguishing it from any inelastic case where KE would drop. The perpendicularity check is the strictest geometric test: with Ball 1 at θ₁ ≈ +60° and Ball 2 emerging at θ₂ ≈ −30°, the angle between the outgoing vectors is 60° − (−30°) = 90°. This 90°-separation result is unique to equal-mass elastic collisions with a stationary target; it follows algebraically from imposing both conservation laws simultaneously. Verify the speed ratio v₁'/v₂' = sin 30°/cos 30° = tan 30° ≈ 0.577, which matches 4.00/6.93. Finally, decompose each post-collision velocity onto the contact normal (the line tilted 30° below horizontal): Ball 1's normal component should be ≈ 0, and Ball 2's tangential component should also be ≈ 0, confirming the normal-tangential exchange picture.

The 2D Collision simulator after a completed run.

Source of Error

What this sim does NOT model: friction along the table, rotational kinetic energy of either ball, deformation during contact, finite ball stiffness, air drag, gravity (the table is horizontal), or any spin-coupling between the balls. Both balls are modelled as point particles on a frictionless plane and every collision is resolved as perfectly elastic by construction. The closed forms for the post-collision normal velocities and the conservation laws assume the same idealizations, so they cancel rather than contributing to the residual. The remaining gap between prediction and readouts is therefore purely numerical, not physical.

Further Exploration