The Trajectory of a Ball thrown or Bullet shot straight up into the air
by Michael Monagan
Abstract:
The motion of a ball thrown or bullet shot straight up into the air.
Application Areas/Subjects:
Science, Physics, differential equations
Keywords:
Differential equation, ODE, motion, bullet, trajectory
>
restart:
Introduction
This worksheet considers the problem of a ball or bullet thrown (shot) straight up into the air. We describe the trajectory of the ball / bullet as an ODE, plot the motion of the ball / bullet and solve for when the ball lands on the ground. In the model
m is the mass of the ball in kg.
b is the air friction constant 0.2 used here
g is the gravitational constant 9.8 meters per second
y(t) is the height of the ball at time t.
>
The Trajectory
The trajectory is governed by this 2nd order differential equation. The main thing here is to model the air resistance.
>
ode := m*diff(y(t),t$2) + b*diff(y(t),t) = -m*g;
We obtain a general symbolic solution of this ODE
>
gsol := dsolve( ode, y(t) );
The variables _C1 and _C2 are constants which are determined by appropriate initial conditions. Here we assume that the initial height of the ball (bullet) is 0, i.e. y(0) = 0, and the initial velocity of the ball (bullet) is v0, i.e. y'(0)=0 which in Maple is specified as D(y)(0)=v0. This is the velocity of the ball after the ball leaves the persons hand (after the bullet leaves the barrel of the gun). Solving the ODE with these intial conditions we obtain
>
psol := dsolve( {ode,y(0)=0,D(y)(0)=v0}, y(t) );
Now consider two particular examples. A ball of mass 0.5kg with initial velocity v0 = 20 meters per second. This is approximately the situation of a man throwing a cricket ball.
>
ball := [g = 9.8, b=0.2, m=0.5, v0=20.0]:
>
sol := subs( ball, rhs(psol) );
>
plot( sol, t=0..10, labels=[t,height] );
From the plot we see that the ball comes back to the ground in about 3.5 seconds, or more precisely
>
fsolve( sol, t, 1..10 );
Consider the case of a gun. The bullet has mass of approximately 0.05 kg, and the initial velocity of 300 meters per second.
>
bullet := [g = 9.8, b = 0.2, m = 0.05, v0 = 300]:
>
sol := subs( bullet, rhs(psol) );
>
plot( sol, t=0..100, labels=[t, height] );
The bullet returns to the ground after about 30 seconds
>
fsolve( sol, t, 20..40 );
>
>