In general, knowing the mass distribution of two colliding objects and the exact point of contact, how would one take into account angular motion in the analysis of the dynamics of the individual mechanical energy of the objects and the total energy of the mechanical system? That is, each object may be rotating about it's own axis and in addition moving with some linear momentum. I've looked through my mechanics notes, but I don't quite think I know what happens. Around which point is there going to be torque? Or some angular impulse, I guess. Thanks!

  • $\begingroup$ You also need the direction of the contact at the point of contact. $\endgroup$ Commented Oct 15, 2023 at 19:32

1 Answer 1


All collisions are 1D. They occur along the contact normal (orthogonal) axis and due to Newton's 3rd law, the two bodies exchange some momentum along this axis so that the total momentum of the system is conserved.


This short-lived contact force $\vec{F}(t)$ has the effect of changing the momentum of each body by an amount that equals the impulse of the contact

$$ \Delta \vec{p} = \int_{\Delta t} \vec{F}(t)\,{\rm d}t$$

This impulse has a known direction $\hat{n}$ and an unknown magnitude $J$, and acts by convention as positively on one body and negatively on the other body

$$ \begin{aligned} \Delta \vec{p}_1 & = - J \,\hat{n} \\ \Delta \vec{p}_2 & = + J \,\hat{n} \\ \end{aligned} \tag{1}$$

This is usually illustrated by defining the contact normal direction $\hat{n}$ as acting towards one body ( body #2 here).


This change in momentum affects both the translational and rotational motion of each body. It directly changes the translational momentum, and it applies a momentum-torque (moment of momentum) about each center of mass.

$$\begin{aligned} m_1 \Delta \vec{v}_1 &= (- J \hat{n}) & {\rm I}_1 \Delta \vec{\omega}_1 &= (\vec{r}_A - \vec{r}_1) \times (- J \hat{n}) \\ m_2 \Delta \vec{v}_2 &= (+ J \hat{n}) & {\rm I}_2 \Delta \vec{\omega}_2 &= (\vec{r}_A - \vec{r}_2) \times (+ J \hat{n}) \\ \end{aligned} \tag{2}$$

where $m_1$ and $m_2$ are the masses of the bodies, ${\rm I}_1$ and ${\rm I}_2$ the mass moment of inertia (tensors) of each body, $\vec{r}_1$ and $\vec{r}_2$ are the locations of each center of mass, and $\vec{r}_A$ is the location of the contact point A.

This is all you need to know to describe the collision response. But if you need to figure out what the impulse magnitude $J$ actually is, then you need to know the contact condition.

This relates the relative speed of bounce $v_{\rm bounce}$ to the relative speed of impact $v_{\rm imp}$. Notice I said speed, since contacts are 1D, on the component of velocities along the contact normal matter here.

The speed of each body at the point of contact before the collision is

$$ \begin{aligned} v_1^A &= \hat{n} \cdot \left( \vec{v}_1 + \vec{\omega}_1 \times ( \vec{r}_A - \vec{r}_1) \right) \\ v_2^A &= \hat{n} \cdot \left( \vec{v}_2 + \vec{\omega}_2 \times ( \vec{r}_A - \vec{r}_2) \right) \\ \end{aligned} \tag{3}$$

and the change in speed due to the collision is

$$ \begin{aligned} \Delta v_1^A &= \hat{n} \cdot \left( \Delta \vec{v}_1 + \Delta \vec{\omega}_1 \times ( \vec{r}_A - \vec{r}_1) \right) \\ \Delta v_2^A &= \hat{n} \cdot \left( \Delta \vec{v}_2 + \Delta \vec{\omega}_2 \times ( \vec{r}_A - \vec{r}_2) \right) \\ \end{aligned} \tag{4}$$

Now we relate the two relative speeds with the coefficient of restitution $\epsilon$ with the following relationship

$$ (v_1^A + \Delta v_1^A) - (v_2^A + \Delta v_2^A) = - \epsilon ( v_1^A - v_2^A ) $$

keep the unknown changes to the left side, and move the known motions to the right side to rewrite the above as

$$ \Delta v_1^A - \Delta v_2^A = -(1+ \epsilon) ( v_1^A - v_2^A ) \tag{5} $$

If use (3) and (4) in the equation above, then you will find a single equation that can be solved in terms of $J$. Again this is a single equation to solve the contact because the contact is really a 1D process. We can combine the known quantities in the right-hand-side, using (3) into

$$ v_{{\rm imp}}=\hat{n}\cdot\left(\left(\vec{v}_{1}+\vec{\omega}_{1}\times(\vec{r}_{A}-\vec{r}_{1})\right)-\left(\vec{v}_{2}+\vec{\omega}_{2}\times(\vec{r}_{A}-\vec{r}_{2})\right)\right) \tag{6} $$

Actually, before you can do this, you need to use (1) to solve for the change in motion of each body

$$\begin{aligned}\Delta\vec{v}_{1} & =-\frac{1}{m_{1}}\hat{n}\,J & \Delta\vec{\omega}_{1} & =-\left({\rm I}_{1}^{-1}(\vec{r}_{A}-\vec{r}_{1})\times\hat{n}\right)J\\ \Delta\vec{v}_{2} & =+\frac{1}{m_{2}}\hat{n}\,J & \Delta\vec{\omega}_{2} & =+\left({\rm I}_{2}^{-1}(\vec{r}_{A}-\vec{r}_{2})\times\hat{n}\right)J \end{aligned} \tag{7}$$

The solution of the general 3D contact can always be expressed with the following scalar equation

$$ \boxed{ J=(1+\epsilon)\,m_{{\rm imp}}\,v_{{\rm imp}} } \tag{8} $$

where $m_{\rm imp}$ is the effective mass of the contact, also known as the reduced mass of the system.

For the general 3D contacts this is evaluated by the following scalar expression

$$\boxed{\begin{eqnarray}m_{{\rm imp}}=&\left(\tfrac{1}{m_{1}}+\left((\vec{r}_{A}-\vec{r}_{1})\times\hat{n}\right)\cdot\left({\rm I}_{1}^{-1}(\vec{r}_{A}-\vec{r}_{1})\times\hat{n}\right) + \right. \\ & \left. + \tfrac{1}{m_{2}}+\left((\vec{r}_{A}-\vec{r}_{2})\times\hat{n}\right)\cdot\left({\rm I}_{2}^{-1}(\vec{r}_{A}-\vec{r}_{2})\times\hat{n}\right)\right)^{-1} \end{eqnarray}} \tag{9}$$

Notice the $(\ldots)^{-1}$ form, so the reduced mass is the inverse of what is in the parenthesis.

The above value is literally what you would feel as inertia (mass) if you tried to separate the bodies with a force along the contact normal. It is the maximum value if the contact normal goes through the center of mass, and drops off from there the further away the contact is from each center of mass.

In the case, you have spheres in contact, where the contact normal is parallel to the relative location of the contact, each $(\vec{r}_{A}-\vec{r}_{i})\times\hat{n}$ equals to 0 so the above simplifies to the more familiar $$m_{{\rm imp}}=\frac{1}{\frac{1}{m_{1}}+\frac{1}{m_{2}}}$$

Also note the 2D projection of the above in terms of the vectors $\hat{n} = \pmatrix{n_x \\ n_y}$, $\vec{r}_A = \pmatrix{x_A \\ y_A}$, $\vec{r}_1 = \pmatrix{x_1 \\ y_1}$, and $\vec{r}_2 = \pmatrix{x_2 \\ y_2}$ is

$$ m_{\rm imp} = \frac{1}{ \frac{1}{m_1} + \frac{1}{m_2} + \frac{ \left((n_y (x_A-x_1)-n_x (y_A-y_1)\right)^2}{I_1} + \frac{ \left((n_y (x_A-x_2)-n_x (y_A-y_2)\right)^2}{I_2}} $$

Equation (9) above is seen as equation (8-18) in the seminal guide to doing physics-based computer simulations presented to SIGGRAPH'97 by David Baraff.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.