# Calculating how a polygon bounces off a plane I'd like to calculate how polygons bounce off a plane. In this picture, the square doesn't bounce straight up, but instead it bounces somewhat to the right and starts spinning. But I have no idea what angle it bounces and how much energy is converted into rotational kinetic energy.

• Is the collision elastic? – Ben Crowell May 13 '13 at 1:37
• this is inelastic – user24420 May 13 '13 at 2:19
• How about friction? Zero, finite or infinite? The general problem has the square rotating also. – ja72 Mar 19 '16 at 6:30

One strategy to approach this problem is to first find the center of mass of the polygon. The next step would be to move the problem forward in time, exactly to the point where the polygon hits the surface.

At this point in you can look at the problem as a rotation of the polygon around it's lower left corner, i.e. you can treat that part with the concept of angular momentum.

Once the lower right corner of the polygon hits the ground, it's impulse gets reflected by the wall and it starts bouncing off again. At the same time, the centre of the rotation is moved from the lower left corner to the lower right corner of the polygon and the sign of the rotation is changed.

So the equation of motion of the polygon is now governed by the reflected impulse that is superimposed by a torque.

To put this in equations is probably not easy and will require some playing around.

The way I handle this problem is to fist imagine infinite friction (rough surface) and find the vertical and horizontal impulses needed in order to bounce off inelastically the contact point. These impulses act on the contact point, and thus cause change not only of the center of mass velocity, but also in the rotational velocity of the body.

Then if friction is finite or zero, I trim the horizontal impulse accordingly and apply the impulses to find the final velocity.

Imagine at the moment of impact, the center of mass moving linearly with $(\dot{x},\dot{y})$ and rotationally with $\dot{\theta}$. If the contact point is A and the center of mass C is located at $(c_x,c_y)$ relative to A then the impact velocity of the contact point is

$$(\dot{x}_A, \dot{y}_A ) = ( \dot{x} + c_y \dot{\theta}, \dot{y} - c_x \dot{\theta} )$$

The law of collision has the final velocity of the impact point being a negative fraction of the initial velocity

$$(\dot{x}_A + \Delta \dot{x}_A, \dot{y}_A + \Delta \dot{y}_A ) = -\epsilon (\dot{x}_A, \dot{y}_A )$$

or for the change in velocities during the impact

$$(\Delta \dot{x}_A, \Delta \dot{y}_A ) = -(1+\epsilon) (\dot{x}_A, \dot{y}_A )$$

To enact this, image a pair of impulses $(J_x,J_y)$ acting on A. Their effect on the motion of the center of mass is (based on the mass $m$ and mass moment of inertia $I_z$ at C)

$$(\Delta \dot{x}, \Delta \dot{y}) = (J_x/m,J_y/m)$$ $$\Delta \dot{\theta}= \frac{J_x c_y - J_y c_x}{I_z}$$

This change in the center of mass motion affects the impact point motion by

$$(\Delta \dot{x}_A, \Delta \dot{y}_A ) = (\Delta \dot{x} + c_y \Delta \dot{\theta}, \Delta \dot{y} - c_x \Delta \dot{\theta} )$$

Putting it all together the above equation becomes

$$\begin{pmatrix} -(1+\epsilon) \dot{x}_A = \frac{J_x}{m} + c_y \frac{J_x c_y-J_y c_x}{I_z} \\ -(1+\epsilon) \dot{y}_A = \frac{J_y}{m} - c_x \frac{J_x c_y - J_y c_x}{I_z} \end{pmatrix}$$

$$\begin{pmatrix} J_x \\ J_y \end{pmatrix} = -(1+\epsilon) \begin{vmatrix} \frac{m ( I_z+ m c_x^2)}{I_z+m (c_x^2+c_y^2)} & \frac{m^2 c_x c_y}{I_z+m (c_x^2+c_y^2)} \\ \frac{m^2 c_x c_y}{I_z+m (c_x^2+c_y^2)} & \frac{m(I_z+m c_y^2)}{I_z+m (c_x^2+c_y^2)} \end{vmatrix} \begin{pmatrix} \dot{x}_A \\ \dot{y}_A \end{pmatrix}$$

If there is finite friction to consider then $$| J_x | \le \mu |J_y|$$

Edit 1

The mass matrix above is more easily memorized as

$$\begin{pmatrix} J_x \\ J_y \end{pmatrix} = -(1+\epsilon) \begin{vmatrix} \frac{1}{m} + \frac{c_y^2}{I_z} & -\frac{c_x c_y}{I_z} \\-\frac{c_x c_y}{I_z} & \frac{1}{m} + \frac{c_x^2}{I_z} \end{vmatrix}^{-1} \begin{pmatrix} \dot{x}_A \\ \dot{y}_A \end{pmatrix}$$