SIAM REVIEW c© 2005 Society for Industrial and Applied Mathematics
Vol. 47, No. 4, pp. 775–798
Modeling Basketball
Free Throws∗
Joerg M. Gablonsky†
Andrew S. I. D. Lang‡
Abstract. This paper presents a mathematical model for basketball free throws. It is intended to
be a supplement to an existing calculus course and could easily be used as a basis for
a calculus project. Students will learn how to apply calculus to model an interesting
real-world problem, from problem identification all the way through to interpretation and
verification. Along the way we will introduce topics such as optimization (univariate and
multiobjective), numerical methods, and differential equations.
Key words. basketball, mathematical modeling, calculus projects
AMS subject classifications. 00-01, 00A71, 26A06
DOI. 10.1137/S0036144598339555
1. Introduction. In these days of superstar basketball players, you would think
that shooting free throws should be as much a formality, and just as exciting, as the
extra point in professional football. Not so. Take for example Shaquille O’Neal, the
subject of our first model, who as of the end of the 2004–2005 regular season had a
career free throw percentage of 53.1%. His troubles seemed to increase during the
playoffs, where he shot around 45% from the line. Shaquille is not alone in his free
throw shooting troubles. In fact nearly one-third of all NBA players shoot less than
70% from the foul line.
When a basketball player steps up to shoot a free throw he does not usually think
(unless he also happens to be a mathematician), “I wonder if my free throw shooting
percentage would improve if I changed my initial shooting angle,” or “I wonder how air
resistance affects the trajectory of my shot,” or even “Should I be aiming for the back
rim, front rim, or the middle of the basket?” We present here a calculus-based model
for basketball free throws to show that they should address some of these musings.
We begin by conjecturing that some players shoot poorly from the line because they
are shooting the ball at the wrong angle. Therefore, the focus of our model will be
the release angle, a simple place to start, and we will extend it later. Some of the
more interesting facts that we’ll discover by refining and interpreting our model are:
1. The best way to shoot free throws depends upon the person
shooting. The two most important factors are their height and
∗Received by the editors May 22, 1998; accepted for publication (in revised form) July 20, 2005;
published electronically October 31, 2005.
http://www.siam.org/journals/sirev/47-4/33955.html
†The Boeing Company, Mathematics and Engineering Analysis, P.O. Box 3707, MC 7L-21, Seat-
tle, WA 98124-2207 (joerg.m.gablonsky@boeing.com).
‡Department of Computer Science and Mathematics, Oral Roberts University, 7777 South Lewis
Ave., Tulsa, OK 74171 (alang@oru.edu).
775
776 JOERG M. GABLONSKY AND ANDREW S. I. D. LANG
how consistent they are in controlling both the release angle and
the release velocity.
2. In general, the taller you are, the lower your release angle should
be. We’ll actually see that taller players are allowed more error
in both their release angles and release velocities and thus they
should have an easier time shooting free throws than shorter players.
3. It is much more important to consistently use the right release
velocity than the right release angle.
4. The best shot does not pass through the center of the hoop. The best
trajectories pass through the hoop somewhere between the center
and the back rim. Taller players should shoot closer to the center
while shorter players should aim more towards the back rim.
2. Mathematical Modeling. Before we jump into modeling a basketball free
throw, it would help for us to tell you exactly what we mean by mathematical mod-
eling:
Mathematical modeling is the process of formulating
real world situations in mathematical terms.
Less formally, mathematical modeling takes observed real-world behaviors or phe-
nomena and describes them using mathematical formulae or equations. All the formu-
lae you see in your physics, chemistry, and biology classes are mathematical models.
Mathematical models can be found everywhere, not only in science, but also in the
social sciences and even in business. For instance, there are people who get paid very
well to model the stock market. By constructing mathematical models, we can often
explain real-world behavior, predict how sensitive real-world situations are to certain
changes, and even predict future behavior (very useful for the people who model the
stock market). The following is a summary of the standard steps for constructing a
mathematical model:
1. Identify the problem. What do you want to find out?
2. Derive the model. Identify the constants and variables involved.
Make assumptions about which variables to include in the model.
Determine the interrelationships between the variables.
3. Solve the equations and interpret the model.
4. Verify the model. Does it answer the original problem? Does it
match up to real-world data?
5. Refine the model. If the model is not satisfactory, refine it by
removing some of your earlier assumptions.
We’ll discuss these steps in greater detail as we use them to model basketball free
throws.
3. Our First Model: The Best Angle. It is true for most models, including ours,
that trying to include every possible physical effect immediately is rather ambitious,
especially if you want to be able to solve the model. The modeling process typically
begins with the construction of very simple models which are easy to solve. Models
are then refined to make them more realistic, which in turn requires the introduction
of more powerful mathematics in order to solve them. In the end the model should
MODELING BASKETBALL FREE THROWS 777
Table 3.1 The physical constants of the problem.
Physical constant Symbol Value
Rim diameter Dr 1.5 ft
Ball diameter Db 0.8 ft
Horizontal distance traversed l 13 ft 6.5 in
Vertical distance traversed h 1 ft 1 34 in
Acceleration due to gravity g −32 ft s−2
be refined enough to describe reality as closely as possible while still being solvable.
You’ll see this refinement process in action as we go through the modeling procedure.
3.1. Problem Definition. When watching basketball players shoot free throws
we notice that sometimes they make small errors and still make the basket. It seems
reasonable that the amount of error that the player can make and still have the shot
go in depends on the initial angle that the ball was thrown. We’ll therefore begin by
defining the problem as follows:
Given a basketball player of a certain height,
what is the best angle for him to shoot a free throw.
3.2. Deriving Our First Model: Identify the Constants and Variables. The
physical constants (the diameter of the rim, etc.) that we shall use to derive the equa-
tions of motion that govern the flight of the ball can be obtained from various sources,
including the Internet, books [14, 17], and actual (tape measure) measurements. The
diameter of the rim, Dr, is 1.5 ft. The diameter of the ball, Db, is taken to be 0.8 ft.1
It has been observed [7] that free throws are shot from a few inches in front of
the free throw line. We thus take the horizontal distance traversed, l, to be 13’6.5”
rather than the total distance, 14’, from the free throw line to the center of the hoop.
It has also been observed [4, 8, 19] that shooters release the ball, on average, from a
height of approximately 1.25 times the shooter’s own height. For example, a 7’1” tall
player releases the ball, on average, at a height of approximately 8’1014”. Thus, for
a 7’1” tall player, we would take the net vertical distance traversed, h, to be 1’1 34”.
See Table 3.1 and Figure 3.1.
3.3. Deriving Our First Model: Simplifying Assumptions. We make the fol-
lowing simplifying assumptions for our first model:
1. Allow only “nearly nothing but net” shots. By this we mean, allow only
trajectories that either (a) go directly in (nothing but net), or (b) hit the
back of the rim and then go directly in. We do this to account for a large
range of successful trajectories while keeping things fairly simple. To make
sure that the ball actually goes in, and does not bounce out, after hitting the
back of the rim, we shall consider only trajectories where the center of the
ball is at or below the height of the rim when the ball hits it. See Figure 3.2.
2. Ignore air resistance. The effect of air resistance is minor compared to the
mathematical complexity it adds to the model.
1The actual diameter of a basketball, Db, can vary legally from approximately 0.78 ft to 0.81 ft.
We assumed an average diameter of 0.8 ft.
778 JOERG M. GABLONSKY AND ANDREW S. I. D. LANG
Fig. 3.1 The conceptualization of the free throw.
Fig. 3.2 Ball going in off the back of the rim.
3. Ignore any spin the ball may have. Spin becomes important if we allow the
ball to bounce before it goes in. Since we are only allowing nearly nothing
but net shots, and ignoring air resistance, we’ll also ignore spin.
4. There is no sideways error in the trajectory. If you want to be a good free
throw shooter, you really ought to shoot straight. The benefit we get from
assuming the shooter always shoots straight is that the model will be two-
dimensional (constrained to a plane). If transverse error were to be included,
the model would be a more realistic, but harder to solve, three-dimensional
one.
5. There is no error in the initial shooting velocity. We are assuming that
some basketball players have problems shooting free throws because they are
shooting at the wrong angle. Therefore, our first model concentrates on errors
in the release angle only.
6. The best shot is one that goes through the center of the hoop. That is, the
model will be one in which the initial velocity is the velocity that would drop
the center of the ball through the center of the hoop. Some coaches encourage
this by placing an insert into the ring that makes the aperture smaller.
7. The shooter is 7’1” tall. After we find the best angle for Shaq, we will quickly
remove this assumption and find the best angle for people of a more diminutive
stature.
MODELING BASKETBALL FREE THROWS 779
Fig. 3.3 Resolving the initial velocity into horizontal and vertical components.
These assumptions may seem very stringent. For example, not everyone is as tall as
Shaq, and basketball is not usually played in a vacuum. Remember, though, that to
begin with, the model should be a simple one—one that is easy to solve and interpret.
Later, in the refinement stage, the model will become more realistic and some of theses
assumptions will be removed.
3.4. Deriving Our First Model: Mathematical Interrelationships between the
Variables. The goal of this section is to derive a mathematical formula that expresses
the amount of error a player can make in the release angle in terms of the other vari-
ables identified above. We’ll do this by taking standard projectile motion equations
that are derived from Newton’s second law of motion. A more in-depth discussion
of these “projectile motion” equations than presented here can be found in any basic
physics book [6]. Instead of finding one long formula for the amount of error that the
player can make before missing the basket, it is better to break down the equation
into separate parts (called submodels) and put things back together later. We begin
by resolving the initial velocity v0 into horizontal and vertical components,
vH = v0 cos(θ0)(3.1)
and
vV = v0 sin(θ0),(3.2)
respectively, where θ0 is the initial release angle. See Figure 3.3. Using a subscript 0
to identify initial values of variables is a common convention in mathematical mod-
eling. Horizontally, there is no acceleration due to gravity or, by assumption, any air
resistance. Thus the horizontal equation of motion is
x(t) = vt,(3.3)
where x(t) stands for distance, v for velocity, and t for time. Substituting our initial
horizontal velocity into this equation we obtain
x(t) = v0 cos(θ0)t.(3.4)
Using l as the horizontal distance to the center of the basket and letting T be the
time it takes to get there, we substitute x(T ) = l into (3.4) and obtain for our model
l = v0 cos(θ0)T.(3.5)
780 JOERG M. GABLONSKY AND ANDREW S. I. D. LANG
Similarly, the vertical equation of motion is given by
y(t) = vt+
1
2
gt2 = v0 sin(θ0)t+
1
2
gt2,(3.6)
where g = −32 ft s−2(−9.8m s−2) is the acceleration due to gravity. Substituting
y(T ) = h, the vertical distance to the center of the basket, into the above equation,
we obtain for our model
h = v0 sin(θ0)T +
1
2
gT 2,(3.7)
where h is the vertical distance to the center of the basket. Solving (3.5) for T ,
T =
l
cos(θ0)v0
,(3.8)
and substituting it into (3.7), we find the initial velocity v0 needed, for a given initial
angle θ0, so that the basketball goes through the middle of the hoop:
v0 =
l
cos θ0
√ −g
2 (l tan (θ0)− h) .(3.9)
We note that this formula gives us sensible answers only for a limited range of θ0.
Not only does it physically make sense to restrict initial angles to ones that result
in forward motion, i.e., 0 < θ0 < 90◦, but also notice that the formula gives real
values only for l tan(θ0)− h > 0 (remember g is negative). Physically this inequality
corresponds to the ball having a sufficiently high initial release angle to reach the
height of the rim. Thus we take the range of initial release angles to be tan−1
(
h
l
)
<
θ0 < 90◦.
In modeling, it is always good practice to note the range that your
parameters can take. Otherwise you may unwittingly attain
solutions which turn out to be nonphysical.
We make special note of the physical range of θ0 here, because it is important for
the numerical methods used to find solutions later in this paper. Furthermore, note
that we assume that the ball will not hit the front of the rim on trajectories where
the ball passes through the center of the hoop. We will show later that this might
not be true, especially for shorter players.
With the equations of motion modeled, we now derive the equations for the
amount of error that can be made in the initial angle θ0 and still have the ball go
directly into the basket. Keeping the initial velocity fixed, allowing the initial release
angle to vary (this corresponds to our basketball player making an error in his release
angle θoops0 ), and replacing l by x in (3.7) and (3.8), we work out the new horizontal
position of the ball as it comes back down to the basket height,
x =
v0 cos (θ
oops
0 )
−g
(
v0 sin (θ
oops
0 ) +
√
v20 sin
2 (θoops0 ) + 2gh
)
.(3.10)
In the above equation θoops0 corresponds to a larger (or smaller) release angle (due to
player error) than the ideal initial angle θ0 where the ball passes through the center
of the hoop; see Figure 3.4.
MODELING BASKETBALL FREE THROWS 781
Fig. 3.4 Comparison of the ideal trajectory that passes through the center on the hoop (v0, θ0) (red)
and the trajectory with an error in the release angle (v0, θ
oops
0 ) (blue).
Fig. 3.5 The distance s between the front of the rim and the center of the ball.
We now derive the following two criteria for the basketball to still go in the net:
1. To avoid contact with the front of the rim, the distance s between the rim
and the center of the ball must remain greater than the radius of the ball
throughout its trajectory, i.e., for all times t such that 0 < t < T ; see Fig-
ure 3.5.2 Using for convenience the square distance, we have the following
criterion for the ball not to hit the front of the rim:
s2 = (x(t)− (l −Dr/2))2 + (y(t)− h)2 > (Db/2)2.(3.11)
2. From (3.10), we note that x+Db/2 is the horizontal distance to the rightmost
part of the ball when the center of the ball is level with the basket. And since
l + Dr/2 is the horizontal distance to the back of the rim, the criterion for
having the ball hit the back of the rim as the center of the ball passes through
the basket is
x+Db/2 = l +Dr/2.(3.12)
2We note that this range of t, when the ball is near the rim, can be sharpened to l−Dr
v0 cos(θ
oops
0 )
≤
t ≤ − 1
g
(v0 sin(θ
oops
0 ) +
√
v20 sin
2(θoops0 ) + 2gh)
−1.
782 JOERG M. GABLONSKY AND ANDREW S. I. D. LANG
3.5. Solving the Equations. To find the error allowed for a given initial angle
θ0, we keep v0 fixed and solve numerically for the unique release angles θlow < θ0 and
θhigh > θ0, which are, respectively, the solutions to the following equations:
s2 − (Db/2)2 = 0,(3.13)
the ball is released at an angle lower than θ0 and just misses the front of the rim as
it goes in, and
x− l + Db −Dr
2
= 0,(3.14)
the ball is released at a angle higher than θ0 and hits the back of the rim and goes
in. We note here that increasing the initial angle may increase xh, the distance to
the center of the ball as it passes through the center of the hoop, but after a certain
point xh will start to decrease. This can happen before the ball hits the back of the
rim. So for certain trajectories, there is no solution to (3.14) and both θlow and θhigh
are solutions to (3.13). This behavior will be made more apparent in the next few
sections. After solving for θlow and θhigh, we find the minimum deviation from θ0,
e (θ0) = min{θhigh − θ0, θ0 − θlow}.(3.15)
The best release angle is the one that maximizes this function.
In calculus, to find a maximum of a function, we usually differentiate it and then
find the zero of the derivative. It can be shown that for a differentiable function,
the derivative is zero at the maximum. This is a so-called necessary condition. To
ensure a maximum, the second derivative must also be negative at that point. This
additional condition is called a sufficient condition. So we are tempted to solve the
equation e′ (θ0) = 0. Unfortunately if we tried to do this, we would run into trouble.
To see why let’s examine Figure 3.6, a plot of the error function e (θ0) for various
values of θ0. We created Figure 3.6 using linear interpolation (connecting the points
with lines). The function is clearly not differentiable at the maximum; the left-hand
slope is not equal to the right-hand slope. This can be easily explained by recognizing
that (3.15) contains the min function, which can introduce nondifferentiability. Most
standard optimization methods require at least first differentiability and therefore
cannot find the maximum of this function. That is, we can’t take the derivative and
set it equal to zero as we usually do to find the maximum because the function is not
differentiable. So to find the maximum we use numerical methods that work for non-
differentiable functions. You may have already seen in your calculus class numerical
methods used to approximate function values (tangent line approximations) or to
find roots of equations (Newton’s method). It is also possible to find maxima and
minima numerically. The exact numerical method you use to find the maximum is
not important, but the interested reader can find more information on optimization
methods in standard texts; see, for example, [10]. Using a computer algebra system’s
optimization routine,3 we get a best angle for our simplest model of
θ∗center ≈ 48.18◦.
To have the ball pass through the center of the hoop for this angle, Shaq would
have to release the ball consistently at an initial velocity of
3We used MATLAB, but you could use Maple or Mathematica if you prefer. You can download
our MATLAB code from http://epubs.siam.org/sam-bin/dbq/article/33955.
MODELING BASKETBALL FREE THROWS 783
40 42 44 46 48 50 52 54 56
0
0.5
1
1.5
2
2.5
3
3.5
4
e
(θ 0
)
θ0
Fig. 3.6 The error about θ0 for which the basketball still goes in.
v∗center ≈ 6.62m/s (21.7 ft/s).
Note that labeling an optimal solution with an ∗ is another common convention
in mathematical modeling. It may seem silly to imagine Shaq stepping up to the line
and thinking “48.18◦, 48.18◦, I must shoot at 48.18◦.”4 For some players though, it
may have to start t