Projectile motion

Projectile motion is a form of motion experienced by an object or particle (a projectile) that is thrown near the Earth's surface and moves along a curved path under the action of gravity only (in particular, the effects of air resistance are assumed to be negligible). This curved path was shown by Galileo to be a parabola. The study of such motions is called ballistics, and such a trajectory is a ballistic trajectory. The only force of significance that acts on the object is gravity, which acts downward, thus imparting to the object a downward acceleration. Because of the object's inertia, no external horizontal force is needed to maintain the horizontal velocity component of the object. Taking other forces into account, such as friction from aerodynamic drag or internal propulsion such as in a rocket, requires additional analysis. A ballistic missile is a missile only guided during the relatively brief initial powered phase of flight, and whose subsequent course is governed by the laws of classical mechanics.

Ballistics (gr. βάλλειν ('ba'llein'), "to throw") is the science of mechanics that deals with the flight, behavior, and effects of projectiles, especially bullets, unguided bombs, rockets, or the like; the science or art of designing and accelerating projectiles so as to achieve a desired performance.

The elementary equations of ballistics neglect nearly every factor except for initial velocity and an assumed constant gravitational acceleration. Practical solutions of a ballistics problem often require considerations of air resistance, cross winds, target motion, varying acceleration due to gravity, and in such problems as launching a rocket from one point on the Earth to another, the rotation of the Earth. Detailed mathematical solutions of practical problems typically do not have closed-form solutions, and therefore require numerical methods to address.

The initial velocity

Let the projectile be launched with an initial velocity , which can be expressed as the sum of horizontal and vertical components as follows:


The components and can be found if the initial launch angle, , is known:


Kinematic quantities of projectile motion

In projectile motion, the horizontal motion and the vertical motion are independent of each other; that is, neither motion affects the other. This is the principle of compound motion established by Galileo in 1638,[1] and used by him to prove the parabolic form of projectile motion [2].

A ballistic trajectory is a parabola with homogeneous acceleration, such as in a space ship with constant acceleration in absence of other forces. On Earth the acceleration changes magnitude with altitude and direction with latitude/longitude. This causes an elliptic trajectory, which is very close to a parabola on a small scale. However, if an object was thrown and the Earth was suddenly replaced with a black hole of equal mass, it would become obvious that the ballistic trajectory is part of an elliptic orbit around that black hole, and not a parabola that extends to infinity. At higher speeds the trajectory can also be circular, parabolic or hyperbolic (unless distorted by other objects like the Moon or the Sun). In this article a homogeneous acceleration is assumed.


Since there is only acceleration in the vertical direction, the velocity in the horizontal direction is constant, being equal to . The vertical motion of the projectile is the motion of a particle during its free fall. Here the acceleration is constant, being equal to g.[3] The components of the acceleration are-



The horizontal component of the velocity of the object remains unchanged throughout the motion. The vertical component of the velocity changes linearly,[4] because the acceleration due to gravity is constant. The accelerations in the x and y directions can be integrated to solve for the components of velocity at any time t, as follows:


The magnitude of the velocity (under the Pythagorean theorem, also known as the triangle law):



At any time , the projectile's horizontal and vertical displacement are:


The magnitude of the displacement is:


Consider the equations,


If t is eliminated between these two equations the following equation is obtained:


Since g, θ, and v0 are constants, the above equation is of the form


in which a and b are constants. This is the equation of a parabola, so the path is parabolic. The axis of the parabola is vertical.

If the projectile's position (x,y) and launch angle (θ or α) are known, the initial velocity can be found solving for v0 in the aforementioned parabolic equation:


Time of flight or total time of the whole journey

The total time t for which the projectile remains in the air is called the time of flight.

After the flight, the projectile returns to the horizontal axis (x-axis), so .

Note that we have neglected air resistance on the projectile.

If the starting point is at height y0 with respect to the point of impact, the time of flight is:

As above, this expression can be reduced to

if θ is 45° and y0 is 0.

Maximum height of projectile

The greatest height that the object will reach is known as the peak of the object's motion. The increase in height will last until , that is,


Time to reach the maximum height(h):


For the vertical displacement of the maximum height of projectile:


Relation between horizontal range and maximum height

The relation between the range R on the horizontal plane and the maximum height h reached at is:




Maximum distance of projectile

The range and the maximum height of the projectile does not depend upon its mass. Hence range and maximum height are equal for all bodies that are thrown with the same velocity and direction. The horizontal range d of the projectile is the horizontal distance it has traveled when it returns to its initial height ().


Time to reach ground:


From the horizontal displacement the maximum distance of projectile:




Note that d has its maximum value when


which necessarily corresponds to




The total horizontal distance (d) traveled.

When the surface is flat (initial height of the object is zero), the distance traveled:

Thus the maximum distance is obtained if θ is 45 degrees. This distance is:

Application of the work energy theorem

According to the work-energy theorem the vertical component of velocity is:


These formulae ignore aerodynamic drag and also assume that the landing area is at uniform height 0.

Angle of reach

The "angle of reach" is the angle (θ) at which a projectile must be launched in order to go a distance d, given the initial velocity v.

There are two solutions:


Angle required to hit coordinate (x,y)

To hit a target at range x and altitude y when fired from (0,0) and with initial speed v the required angle(s) of launch θ are:

The two roots of the equation correspond to the two possible launch angles, so long as they aren't imaginary, in which case the initial speed is not great enough to reach the point (x,y) selected. This formula allows one to find the angle of launch needed without the restriction of .

One can also ask what launch angle allows the lowest possible launch velocity. This occurs when the two solutions above are equal, implying that the quantity under the square root sign is zero. This requires solving a quadratic equation for , and we find

This gives

If we denote the angle whose tangent is y/x by α, then

This implies

In other words, the launch should be at the angle halfway between the target and Zenith(vector opposite to Gravity)

Trajectory of a projectile with air resistance

In this section we will take air resistance to be in direct proportion to the velocity of the particle (i.e. ). This is only valid at Reynolds number below about 1000. In air, which has a kinematic viscosity around 0.15 cm2/s this means that the product of speed and diameter must be less than about 150 cm2/s which is obviously not usually the case. We do this though so that the equations describing the particle's motion are easily solved. At higher values of speed times diameter (high Reynolds number) the force of air resistance is proportional to the square of the particle's velocity (see drag equation). Here, , and will be used to denote the initial velocity, the velocity along the direction of x and the velocity along the direction of y, respectively. The mass of the projectile will be denoted by m. For the derivation only the case where is considered. Again, the projectile is fired from the origin (0,0).

The free body diagram on the right is for a projectile that experiences air resistance and the effects of gravity. Here, air resistance is assumed to be in the direction opposite of the projectile's velocity. (actually is more realistic, but not used here, to ensure an analytic solution,) is written due to the initial assumption of direct proportionality implies that the air resistance and the velocity differ only by a constant arbitrary factor with units of N*s/m.

The relationships that represent the motion of the particle are derived by Newton's Second Law, both in the x and y directions. In the x direction and in the y direction .

This implies that:




Solving (1) is an elementary differential equation, thus the steps leading to a unique solution for vx and, subsequently, x will not be enumerated. Given the initial conditions (where vxo is understood to be the x component of the initial velocity) and for :



While (1) is solved much in the same way, (2) is of distinct interest because of its non-homogeneous nature. Hence, we will be extensively solving (2). Note that in this case the initial conditions are used and when .



This first order, linear, non-homogeneous differential equation may be solved a number of ways; however, in this instance, it will be quicker to approach the solution via an integrating factor .






And by integration we find:


Solving for our initial conditions:



With a bit of algebra to simplify (3a):


An example is given using values for the mass and terminal velocity for a baseball taken from .

m = 0.145 kg (5.1 oz)
v0 = 44.7 m/s (100 mph)
g = -9.81 m/s² (-32.2 ft/s²)
vt = -33.0 m/s (-73.8 mph)

The more realistic trajectory can not be calculated analytically, but only by numerical simulations.

Similarly to above:

However, this takes advantage of the fact that horizontally, acceleration is always negative. As acceleration is negative while velocity is positive and positive while velocity is negative, a projectile fired upwards requires the absolute value to be taken of the vertical velocity, which makes an analytical solution for vertical position more complex.

Where is gravitational acceleration set to some constant, such as standard gravity:

for constant gravity

or, even more complex,

for gravity as a function of height above a planet's surface, where

  • is the planet's gravity at the surface.
  • r is the planet's radius.

Solution by numerical integration

A solution to the problem of motion of a projectile with air resistance modelled as follows.

The following assumptions are made:


The approach will be to formulate expressions that will later be used to demonstrate a numerical solution of the stated problem.

Derivation of integral expressions

A projectile of mass m is launched from a point , with an initial velocity in an initial direction that makes an angle with the horizontal. It experiences air resistance that is given by that acts tangentially to the path of travel at any point.

Newton's second law of motion is . Applying this in the x-direction yields;






Where, , and are the horizontal and vertical components of the velocity respectively.

Let , , and . Equation (1) now becomes;






In the y-direction;






Again let, , , and . Equation (2) is now;






Knowing that we may divide equation (B) by equation (A) to get;






Introduce a quantity such that , then;






From equations (C) and (D), observe that;

Hence, which may be re-written as;

Separate variables and integrate as;






The left-hand side of equation (E) is

For the right-hand side, let , such that and,

Thus . Also


Equation (E) is now;

From which;


Denote , such that;











At the beginning of the motion, and

Hence; , such that;

As the motion proceeds, and , i.e., , and

This means that, and


In equations (F) and (G), observe that;

As ,

When a state of dynamic equilibrium is attained under vertical free fall, the opposing forces of gravity and drag are equalized, i.e,






In equation (A), substitutions for and from equations (F) and (G) yields;


Knowing that; , we may write


















Time of flight

Determine the time of flight by setting to in equation (K) above. Solve for the value of the variable .






Equation (I) with substituted for gives;






Horizontal range

Equation (J) gives the horizontal range R as;






Maximum height

At the highest point of the projectile path , and , giving the maximum height from equation (K) as;






Numerical simulation

A numerical solution of a projectile modelled as a baseball (also from ), with the parameters listed below follows;

A computer program in the form of a Python script is used for the numerical solution. The script uses the libraries numpy (for arrays), scipy (for numerical integration by gaussian quadrature, and for root-finding by Newton's method), and matplotlib (for plotting).

Results of analysis:

  • Time of flight (s)  : 6.608
  • Horizontal range (m)  : 43.667
  • Maximum height (m)  : 53.444
#!/usr/bin/env python
from math import pi, radians, degrees, sin, cos, atan, sqrt, sinh, cosh, asinh
import numpy as np
from scipy.integrate import quadrature
from scipy.optimize import newton
import matplotlib.pyplot as plt

# Parameters of projectile (Modelled after a baseball)
V_0     = 44.7                 # Initial velocity (m/s)
g       = 9.81                 # Acceleration due to gravity (m/s^2)
psi     = 75                   # Launch angle (deg.)
c       = 0.5                  # Drag coefficient (spherical projectile)
r       = 0.0366               # Radius of projectile (m)
m       = 0.145                # Mass of projectile (kg)
rho_air = 1.29                 # Air density (kg/m^3)
a       = pi * r**2.0          # Cross-sectional area of projectile (m^2)
psi     = radians(psi)         # Convert to radians

# Display of parameters
print('Launch angle (deg.)                      : {:.3f}'.format(degrees(psi)))
print('Launch speed (m/s)                       : {:.3f}'.format(V_0))
print('Drag coefficient - Spherical projectile  : {:.3f}'.format(c))
print('Radius of spherical projectile (m)       : {:.3f}'.format(r))
print('Mass of projectile (kg)                  : {:.3f}'.format(m))
print('Air density (kg/m^3)                     : {:.3f}'.format(rho_air))
print('Cross-sectional area of projectile       : {:.3f}'.format(a))

# Initial position and launch velocity
x_0 = 0.0
u_0 = V_0 * cos(psi)
y_0 = 0.0
v_0 = V_0 * sin(psi)

# Constants and function definitions for solution
mu = 0.5 * c * rho_air * a / m
Q_0 = asinh(v_0 / u_0)
A   = g / (mu * u_0**2.0) + (Q_0 + 0.5 * sinh(2.0 * Q_0))

def lam(Q):
    return A - (Q + 0.5 * sinh(2.0 * Q))

def u_s(Q):
    return sqrt(g / mu) / sqrt(lam(Q))

def v_s(Q):
    return sqrt(g / mu) * sinh(Q) / sqrt(lam(Q))

def f_t(Q):
    return cosh(Q) / sqrt(lam(Q))

def f_x(Q):
    return cosh(Q) / lam(Q)

def f_y(Q):
    return sinh(2.0 * Q) / lam(Q)

def t_s(Q):
    return - quadrature(f_t, Q_0, Q, vec_func=False)[0] / sqrt(g * mu)

def x_s(Q):
    return x_0 - quadrature(f_x, Q_0, Q, vec_func=False)[0] / mu

def y_s(Q):
    return y_0 - quadrature(f_y, Q_0, Q, vec_func=False)[0] / (2.0 * mu)

def y_s_p(Q):
    return -(1.0 / (2.0 * mu)) * sinh(2.0 * Q) / lam(Q)

# Time of flight
Q_T_est = asinh(-v_0 / u_0)      # Initial estimate for Newton's method
Q_T = newton(y_s, Q_T_est, y_s_p)
T = t_s(Q_T)
print('Time of flight (s)                       : {:.3f}'.format(T))

# Horizontal range
R = x_s(Q_T)
print('Horizontal range (m)                     : {:.3f}'.format(R))

# Maximum height
H = y_s(0.0)
print('Maximum height (m)                       : {:.3f}'.format(H))

# Vectorize scalar functions
t_vec = np.vectorize(t_s)
x_vec = np.vectorize(x_s)
y_vec = np.vectorize(y_s)
u_vec = np.vectorize(u_s)
v_vec = np.vectorize(v_s)

# Array for variable 'Q'
N = 101
psi_T = degrees(atan(sinh(Q_T)))
Q = np.arcsinh(np.tan(np.radians(np.linspace(degrees(psi), psi_T, N))))

# Arrays for projectile path variables
t = t_vec(Q)
x = x_vec(Q)
y = y_vec(Q)
u = u_vec(Q)
v = v_vec(Q)

# Plot of trajectory
fig, ax = plt.subplots()
line, = ax.plot(x, y, 'r-', label='Numerical')
ax.set_title(r'Projectile path')
ax.set_xlabel('x (m)')
ax.set_ylabel('y (m)')

# Plot of velocity components
fig, ax = plt.subplots()
line, = ax.plot(t, u, 'b-', label='u')
ax.set_title(r'Horizontal velocity component')
ax.set_xlabel('t (s)')
ax.set_ylabel('u (m/s)')

fig, ax = plt.subplots()
line, = ax.plot(t, v, 'b-', label='v')
ax.set_title(r'Vertical velocity component')
ax.set_xlabel('t (s)')
ax.set_ylabel('v (m/s)')

Lofted trajectory

A special case of a ballistic trajectory for a rocket is a lofted trajectory, a trajectory with an apogee greater than the minimum-energy trajectory to the same range. In other words, the rocket travels higher and by doing so it uses more energy to get to the same landing point. This may be done for various reasons such as increasing distance to the horizon to give greater viewing/communication range or for changing the angle with which a missile will impact on landing. Lofted trajectories are sometimes used in both missile rocketry and in spaceflight.[6]


  1. Galileo Galilei, Two New Sciences, Leiden, 1638, p.249
  2. Nolte, David D., Galileo Unbound (Oxford University Press, 2018) pp. 39-63.
  3. The g is the acceleration due to gravity. ( near the surface of the Earth).
  4. decreasing when the object goes upward, and increasing when it goes downward
  5. Ballistic Missile Defense, Glossary, v. 3.0, US Department of Defense, June 1997.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.