I've been tasked to do a simple experiment on the elasticity of collisions. For this experiment I used two "pucks" (very light circular metal pieces of certain height but hollow) and a table that works like air hockey tables (decreases friction by blowing air from underneath). One puck was placed on this board and the other one was shot into it. Each puck had two reflective markers on them, one in the center and one on the edge. The positions of these markers were logged by two cameras shooting infrared light. I am now trying to understand this position data.

This is the data I have (I'm using Mathematica):

m1Vel = Differences /@ {m11x, m11y};
m2Vel = Differences /@ {m21x, m21y};
m12Vel = Differences /@ {m12x, m12y};
m22Vel = Differences /@ {m22x, m22y};
m1DeltaX = m11x - m12x;
m1DeltaY = m11y - m12y;
m2DeltaX = m21x - m22x; 
m2DeltaY = m21y - m22y;
angularVel[dy_, dx_] := Differences@ArcTan[dy/dx]
vectorNorm2[list_] := Sqrt[list[[1]]^2 + list[[2]]^2];

Using this to plot position data for the pucks M1 and M2:

ListLinePlot[{m11x, m11y, m21x, m21y}, 
 PlotLegend -> {"M1 X", "M1 Y", "M2 X", "M2 Y"}, LegendSize -> 0.5, 
 LegendPosition -> {1.1, 0}]

Position data

And then approximate the velocity for each puck, for the marker in the center:

ListLinePlot[{vectorNorm2[m1Vel], vectorNorm2[m2Vel], 
  vectorNorm2[m1Vel] + vectorNorm2[m2Vel]}, PlotRange -> Full, 
 PlotLegend -> {"M1 v", "M2 v", "M1+M2 v"}, LegendSize -> 0.5, 
 LegendPosition -> {1.1, 0}]

Velocity for center marker

And for the marker on the edge:

Velocity for edge marker

And finally the rotation of each puck, using the approximation that the angle from a horizontal line is $\mathrm{arctan}(\frac{\Delta x}{\Delta y})$ and the angle velocity therefore the difference between the angle at one point and the angle at the next point, as seen in the function angularVel above.

ListLinePlot[{MovingAverage[angularVel[m1DeltaY, m1DeltaX], 10]^2, 
  MovingAverage[angularVel[m2DeltaY, m2DeltaX], 10]^2}, 
 PlotRange -> Full, PlotLegend -> {"M1 w", "M2 w"}, LegendSize -> 0.5,
  LegendPosition -> {1.1, 0}]

Rotation of each puck

Alright, so what's the matter?

  1. I was expecting both of the velocity graphs to look like the first. Since the kinetic energy is proportional to the velocity squared, it is unacceptable to me that it goes up and down in the second velocity graph. It should decrease in a monoton manner. The first collision is with the other puck, but there are collisions after that with the walls.
  2. The rotational energy is proportional to the angular velocity. I get that if in the collision with a wall some energy is transferred from translation to rotation and that the rotational energy therefore does not decrease in a monoton manner, but these really sharp peaks (even sharper without the moving average) I cannot understand.

Since I'm studying the elasticity I really need only to understand what happens in the first collision. But I feel like a fraud if I write something up about that, neglecting the rest of the graph with all of its peculiarities. If you had to explain these things in a report, what would you write?


2 Answers 2


The general expression for calculating kinetic energy is

$$KE = \frac{m v^2}{2} + \frac{I \omega^2}{2}$$

However, $v$ means the velocity of the center of mass and $\omega$ is rotational velocity around the center of mass. $I$ is moment of inertia about center of mass.

You cannot do the above expression just for arbitrary point of the body.

As for the second question and pulses of rotational movement: I think during the collisions both pucks roll against each other or against the wall for a very small fraction of time. When rolling you have static friction forces, which have great and temporal effects on speed, rotational speed and their relation.


From what I can see, there look to be two problems. The first is that the velocity of the edge marker by itself is difficult to interpret, as it is basically $v_{cm} + r\omega$. There is no reason that your second graph should look like the first. As an example, consider the case of a spinning puck at the origin. Your first graph above would be zero if there is no translational velocity, but the second would look like $\sin(\omega t)$, $\cos(\omega t)$.

The second problem arises from the construction of the angular velocity $\omega$. Within the model assumptions (zero torque outside of collisions), the angular velocity should be constant, with step changes at collisions. This means that the rotational angle $\theta(t)$ should be piecewise linear, with slope changes only at collisions. One thing you could do to make sure that your analysis is doing what you think it is would be to examine the behavior of $\theta(t)$, and make sure it is as you expect. Watch out for branch points of $\arctan$.


Your Answer

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