1-D and 2-D Collision Demos
Elastic collisions in 1D, 2D
This page is more simulations than calculations, because they are more fun.
Collisions between two objects are elastic only if there is no loss of kinetic energy. That is, the kinetic energy of the two particles before and after remains the same. One object can lose all of its energy, but it must then transfer that energy to the other particle. This situation is very rare for large objects or even molecules, but generally holds for atoms.
All collisions conserve momentum, which is the main tool for determining the motion resulting from a collision.
Conservation of momentum:
$$\vec{p_i} = m_1 \cdot \vec{u_1} + m_2 \cdot \vec{u_2}$$
$$= \vec{p_f} = m_1 \cdot \vec{v_1} + m_2 \cdot \vec{v_2} $$
Note that if one object loses speed in a given direction, \(u_{1x} < v_{1x}\), that speed is transfered to the other object, \(u_{2x} > v_{2x}\).
Conservation of kinetic energy:
$$KE_i = \:^1\!/_2 \, m_1 \, u_1^2 + \:^1\!/_2 \, m_2 \, u_2^2$$
$$= KE_f= \:^1\!/_2 \, m_1 \, v_1^2 + \:^1\!/_2 \, m_2 \, v_2^2$$
These two equations can be used to calculate post-collision motion.
1-D Elastic Collisions
Equations for post-collision velocity for two objects in one dimension, based on masses and initial velocities:
$$v_{1} = \frac{u_{1}(m_{1}-m_{2})+2m_{2}u_{2}}{m_{1}+m_{2}}$$
$$v_{2} = \frac{u_{2}(m_{2}-m_{1})+2m_{1}u_{1}}{m_{1}+m_{2}}$$
In the demo below, use the input fields to change the initial positions, velocities, and masses of the blocks. The blocks can also be dragged, as can the tips of the velocity vectors (when box is checked).
mass is represented by size in this demo, thus both blocks have the same density
2-D Elastic Collisions
Two dimensional collisions are a little bit tricker, because the angle of collision affects the final velocities.
In the demo below, the two "balls" undergo only elastic collisions, both between each other and with the walls. Use the input fields to set the initial positions, masses, and velocity vector, then press "apply values" and "start" to see what happens! You can also click and drag the balls into the desired position, as well as click and drag the arrow tips to change the velocity vector (use the checkbox to show velocity arrows).
mass is represented by size in this demo, thus both balls have the same density
Created with help from this site
The equations for two object collision in two dimensions:
$$\begin{align} v'_{1x}&=\frac{v_{1}\cos(\theta_1-\varphi)(m_1-m_2)+2m_2v_{2}\cos(\theta_2-\varphi)}{m_1+m_2}\cos(\varphi) \\[0.2em] &\quad+v_{1}\sin(\theta_1-\varphi)\cos(\varphi+\frac{\pi}{2}) \\[0.8em] v'_{1y}&=\frac{v_{1}\cos(\theta_1-\varphi)(m_1-m_2)+2m_2v_{2}\cos(\theta_2-\varphi)}{m_1+m_2}\sin(\varphi) \\[0.2em] &\quad+v_{1}\sin(\theta_1-\varphi)\sin(\varphi+\frac{\pi}{2}) \end{align}$$
To get values for the second object, just swap all of the 1s and 2s. The masses are \(m_1\) and \(m_2\), \(\theta_1\) and \(\theta_2\) are the movement angles, and \(\phi\) is the contact angle. See the illustrations below for an example.
Below is a step-by-step illustration of a 2-D collision. Use the white arrows to navigate.
The equations can also be written and calculated in vector format, without angles, by using the position coordinates, \(\mathbf{x}_1\) and \(\mathbf{x}_2\) at the point of collision and velocity vectors \(\mathbf{v}_1\) and \(\mathbf{v}_2\):
$$ \begin{align}\mathbf{v}'_1&=\mathbf{v}_1-\frac{2\cdot m_2}{m_1+m_2}\cdot \frac{\langle \mathbf{v}_1-\mathbf{v}_2,\,\mathbf{x}_1-\mathbf{x}_2\rangle}{\|\mathbf{x}_1-\mathbf{x}_2\|^2}\cdot(\mathbf{x}_1-\mathbf{x}_2),\\\mathbf{v}'_2&=\mathbf{v}_2-\frac{2\cdot m_1}{m_1+m_2}\cdot \frac{\langle \mathbf{v}_2-\mathbf{v}_1,\,\mathbf{x}_2-\mathbf{x}_1\rangle}{\|\mathbf{x}_2-\mathbf{x}_1\|^2}\cdot(\mathbf{x}_2-\mathbf{x}_1)\end{align} $$