Let a rigid body fall and collide with the ground (due to gravity), elasticly (100% momentum conserved). The body is sligtly rotated or has an irregular shape. On colision it starts to spin.

How to calculate the rotation speed and the velocity after the collision? (You know the rotation speed and velocity before the collision).

Here is an simulation. The yellow box falls down and bounces right back. The dot in the middle is the mass center. (ignore friction for now) enter image description here Here is after a few bounces. How the momentum is devided seems random to me. How to calculate it? enter image description here Thanks in advance and sry for english bad :P


1 Answer 1


How do linear momentum and angular momentum divide on collision?

The key here is that the object experiences a vertical impulse from the ground. The description of how the impulse divides up into linear momentum and angular momentum is given by applying forces and torques over a period of time. If $S=F \Delta t$ is the impulse applied in the vertical, we can look at how linear and angular momentum change:

  • $m\dot{y}'=m\dot{y}+S$ (linear momentum)
  • $I\omega'\hat{z}=I\omega \hat{z}+\vec{r}\times (S\hat{y})$ (angular momentum - $\vec{r}$ is the vector from the object's center of mass to the object's point of contact)

If you plug these two equations into an equation that demands energy conservation, you can solve for the impulse $S$, along with $\dot{y}'$ and $\omega'$, and this gives a complete description of the impact. I work it out completely below.

General solution to a rigid body colliding with the ground

So, to deal with a rotating rigid body, I'll work in 3D space (though we really only need two dimensions) and with a rectangle, as shown in your picture. I'll make use of angular momentum. The keys here are the vector cross product and the concept of an impulse!

On to definitions: $(x,y)$ are the coordinates of the center of mass of the object. I'll assume the object is moving in a 2D plane, so $z=0$. The object has an $x$ velocity $\dot{x}$, a $y$ velocity $\dot{y}$, an angular velocity $\omega$, a mass $m$, and a moment of inertia about the $\hat{z}$ axis, $I$.

The block contacts the ground somewhere and receives a vertical "punch" - an impulse - from the ground. To describe this punch, let $\vec{r}$ be the vector from the center of mass of the object, to the corner where it contacts the ground. The object has energy $E=\frac{1}{2}m\dot{x}^2+\frac{1}{2}m\dot{y}^2+\frac{1}{2}I \omega^2$ and angular momentum $\vec{L}=I\omega\hat{z}$. By writing out how these quantities change (linear momentum, angular momentum, energy), we solve the problem.

After the collision the object has velocities $\dot{x}'$ and $\dot{y}'$, and angular velocity $\omega'$. The problem is to determine these quantities. It will help to imagine the collision as not being instantaneous, but instead taking place over a small period of time $\Delta t$.

For the duration of the impact, there is an upwards directed normal force $F\hat{y}$. Over the whole period of time $\Delta t$ this provides an impulse $F\Delta t=S$. The change in vertical velocity from this impulse is just $S/m$, so that $\dot{y}'=\dot{y}+S/m$. The force $F$ provides a torque $\vec{r}\times (F\hat{y})$, where $\vec{r}$ is the vector from the center of mass of the object to its point of contact with the floor. This gives a total change in angular momentum: $I\omega'\hat{z}=I\omega \hat{z}+\vec{r}\times (F\hat{y})$

So we have three equations:

  1. $\frac{1}{2}m\dot{y}^2+\frac{1}{2}I \omega^2=\frac{1}{2}m\dot{y}'^2+\frac{1}{2}I \omega'^2$ (energy conservation. $\dot{x}$ cannot change because the force is directed vertically)
  2. $I\omega'\hat{z}=I\omega \hat{z}+\vec{r}\times (S\hat{y})$ (change in angular momentum due to a vertical impulse)
  3. $m\dot{y}'=m\dot{y}+S$ (change in momentum due to a vertical impulse)

This gives three equations in three unknowns: $\omega'$, $\dot{y}'$, and $s$. If you plug equations two and three into equation 1, you get a quadratic equation in $s$ and you can solve it. A quadratic equation has two solutions.

The first solution is $\omega'=\omega$, $\dot{y}'=\dot{y}$, and $s=0$. Nothing happening is consistent with energy conservation!

The second solution is, where $\vec{r}=(r_x, r_y,0)$:

$$\dot{y}'=\frac{m r_x^2 \dot{y}-I (2 \omega r_x+\dot{y})}{I+m r_x^2}$$

$$\omega'=\frac{I \omega-m r_x (\omega r_x+2 \dot{y})}{I+m r_x^2}$$

$$S=-\frac{2 I m (\omega r_x+\dot{y})}{I+m r_x^2}$$

Note that the vertical velocity of the collision point is $\omega r_x$, and that quantity appears a few times in the formula!

  • $\begingroup$ Just some clarification. If the shape rotates around it's center of mass: the moment of inertia equals zero, I=0 ? Also ω′ is absolute? meaning we don't know which direction it's going? And also mrx = the mass at that point or total mass * vertical point $\endgroup$
    – Dwadelfri
    Commented Sep 13, 2016 at 12:54
  • $\begingroup$ 1. $I$ is most certainly NOT zero about the center of mass! Unless the object is a point particle. You should review the definition of moment of inertia. 2. You rotate the object about its center of mass by $\omega$ radians per second. This can be positive or negative. Phrased another way, a point mass $m$ going in a circle $r(\cos(\omega t),\sin(\omega t))$ has angular momentum $\vec{L}=m\vec{r}\times \vec{v}=m \omega r^2 \hat{z}$. If $\omega$ is negative it just means the object is rotating the other way. 3. in $m r_x$, $m$ is the total mass of the object. (cont.) $\endgroup$
    – user12029
    Commented Sep 13, 2016 at 19:18
  • $\begingroup$ (cont.) It comes up because $S$ is proportional to $m$, and the quantity of torque*time applied to the object is $\vec{r}\times (S \hat{y})=r_x S \hat{z}$. (this is in the angular momentum equation) $\endgroup$
    – user12029
    Commented Sep 13, 2016 at 19:19
  • $\begingroup$ Thank you a lot really! Though I have a problem with the angularvelocity formula( ω′ ) Maybe it should be addition instead of subtraction between the first terms? My simulation works... More realistic then. Or my code is wrong somewhere else. $\endgroup$
    – Dwadelfri
    Commented Sep 20, 2016 at 7:27

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.