Physics Installment #1: On the road to collisions

My math installments have been very popular, but I really need to jump into a more specialized mathematics in the form of equations that pertain to physics. We are going to be covering the basics of collisions today. These are very basic, in that we'll be examining the collision of a ball with a fixed body, in this case the floor. This is the old bouncing ball program and I'm covering it because it is often very helpful in understanding more complex physical equations and I'd rather you not have to go somewhere else to get this information.

Acceleration and Velocity
When you drop a ball from some height, it begins accelerating towards the ground. It does this relative to gravity, minus some friction with respect to the ball passing through the air. In fact, if the ball is perfectly elastic when it hits the ground, the only thing that will stop the ball from bouncing forever is the slowdown experienced through air friction. At some point, the acceleration of the ball is disrupted, since you can't accelerate through another object. At this point we register a collision, and we can measure the ball's velocity. The velocity is both the speed and direction the ball was travelling when it hit the surface.

Once the ball hits the surface we register a bounce. This is extremely easy since the velocity of the ball after the bounce is simply the reverse of the velocity before the bounce. Remember that velocity registers both speed and direction, so the ball will leave the ground at the same speed as it arrived, only in the opposite direction. This is a perfectly elastic equation.

// Edits: Adding more equations
acceleration = meters per second per second or m/s^2
velocity = meters per second or m/s
velocity = acceleration * time

accelerationGravity = 9.8m/s^2
time = 1.2s
velocity = (1.2s * 9.8m)/s^2
velocity = 11.76m/s

// Some additional information helpful for collisions
distance at time t = (acceleration)(time^2) / 2
d = (9.8m/s^2)((1.2s)^2) / 2
d = (9.8m/s^2)(1.44s^2) / 2
d = 7.056m

The most important concept you should take away from the last equation is that of unit consistency. Notice that all of the terms have some unit of measure and that we purposely expand the unit terms so that they cancel to create the final unit of measure. Distance is measured in meters while acceleration in meters per second per second and time in seconds. In order to cancel out the seconds terms, we have to square the time and then the seconds unit cancels out to leave us with only distance. This type of consistency check can help you prove you are doing the correct thing.

Elasticity and the Coefficient of Restitution (CoR)
Collisions come in two types along with any combination of the in-between. A collision that preserves the original velocity of the objects (velocity before = velocity after) is considered perfectly elastic and has a CoR of 1. Colissions that result in a cancellation of the original velocity are considered perfectly plastic and have a CoR of 0... Realistic interations have some number between 0 and 1, and for something like a superball that you would get at your local Wal-Mart, might be as high as a 0.95 or so. Most often energy is lost in a collision through deformation of the original substances. We can compute CoR values by examining the velocity before and after a particular collision:

CoR = (eV2 - eV1)/(sV1 - sV2);

// Compute the velocity of a sample ball using start and end velocities
sV1 = -30m/s, sV2 = 0m/s, eV1 = 28m/s, eV2 = 0m/s
CoR = abs((0m/s - 28m/s)/(-30m/s - 0m/s))
CoR = 0.934

Using the value is easy enough once you empirically (through experiment) find the value. During each collision we can now modify the resulting velocities of both bodies by the CoR and that will account for any loss of energy through material composition. If you want to experimentally find the value for a bouncing ball you can use a shortcut that makes use of the heights at various points during the experiment.

h = bounce height
H = drop height
CoR = sqrt(h/H)

h = 88, H = 100
CoR = sqrt(h/H) = 0.938

Initial Velocity
You don't have to start from 0 and accelerate because you can already be moving. If you were to throw a ball at the ground it would have an initial velocity leaving your hand and some additional acceleration from gravity. The only thing to remember when working with initial velocities is that the bounce height may be higher than the drop height because additional energy is being placed in the system in terms of an initial velocity.

// Edits 2: More Equations
velocity = initial velocity + acceleration * time
distance = initial velocity * time + acceleration * time^2 / 2
final position = initial position + distance

Distance travelled gets more complicated when you take into account an initial velocity. First, we take into account where it is released from, how it's initial velocity affects it's distance, and how the acceleration affects it's distance. If you set initial position to 0 and initial velocity to 0 you can see where these two terms cancel out and you get the much easier equation that we examined earlier.

Velocity and Acceleraion can both be negative to denote the direction of movement. In fact when normally covering these equations gravity is always negative because it operates to pull an object downwards. Of course the spatial orienation is relative to the observer and we could just as match any sign with any value so long as we keep the equations consistent.

Travel
A bouncing ball is nice, but what about travel, what happens when it has movement along more than one axis. Well, each axis can generally be computed independently. For instance, the movement or velocity along the x-axis is going to remain constant unless something slows it down. Walls could definitely slow it down, so you could apply the same CoR to the velocity along the x-axis whenever the ball encounters a wall. In this manner you'd get a bouncing ball that would eventually roll along the ground and finally after running into enough walls would stop entirely.

Edits: I got asked specifically what effect gravity has on the lateral movement of the ball. Most people are surprised to find out that gravity doesn't affect travel along the x-axis. As a kind of human example, think of the human long jump record versus the human high jump record. You can see that gravity has a huge effect on the high jump record, but much less of an effect on the long jump. The only reason gravity does come into play during the long jump is that the hang time of the jump, or the amount of time the person is in the air, is based along the y-axis where gravity has an effect.

Friction
Completing the model we can add friction. Friction is going to help slow the ball down. Friction can occur as the ball passes through the air, or as it travels across a surface. The most obvious choice for friction and the largest effect is going to be along the x-axis. As the ball stops bouncing it will have to start rolling. Friction is a force that will help turn the balls x-axis velocity into a mixture of x-axis velocity and angular velocity.

If you have some initial angular velocity it can play hell with your x-axis velocity. Ever place a large back-spin on a ball so that it would return to you? Well the backwards angular velocity is turned into an x-axis velocity that counter-acts and then reversed the original x-axis velocity of the ball. Normally, you wouldn't need to simulate any of this to create a passable model.

Taking Shortcuts
Acceleration and Velocity are going to give the ball a realistic up and down movement, but depending on the scale of your model, the user might not even notice. Feel free to replace velocity with a fixed distance movement, and simply change the height after a bounce to be dependent on the initial height modified by some shrinking factor... Remember the height based CoR calculation? Well, if you remove the sqrt() and simply take h/H you get a linear scaling factor that is pretty effective.

Published Wednesday, September 01, 2004 6:36 PM by Justin Rogers

Comments

Tuesday, September 07, 2004 8:09 PM by TrackBack

# Now THIS is blogging...

Saturday, September 29, 2007 2:47 AM by John

# re: Physics Installment #1: On the road to collisions

myfreepaysite members private message

Thursday, January 10, 2008 11:42 AM by snoneycle

# re: Physics Installment #1: On the road to collisions

Thursday, July 10, 2008 9:40 AM by Bryan Regan

# re: Physics Installment #1: On the road to collisions

Hi

I have a question that I hope someone can help me with.

I play the Irish sport of road bowling (www.irishroadbowling.ie)

It involves the player throwing a 28 oz. (800g) round iron ball (bowl) over set distances. The player who covers the set distances in the least number of throws wins.

I believe there area number of factors that influence the distances a bowl travels.

1. Speed person is travelling at when they throw the bowl.

2. Force/Power the thrower generates from their arm

I guess 1. and 2. above can be combined to give initial speed.

Question A is... what is the relative influence of the above two parts. Is more power achieved by running fast or by throwing the bowl fast.

Question B….Is it better to throw the bowl (ball) through the air or have it travel along the road.

Any help would be much appreciated

Bryan

Regan_bryan@yahoo.co.uk

Leave a Comment

(required) 
(required) 
(optional)
(required)