Underwater Basketball Release

How high will a basketball pop up out of the water after being released at a specified depth?

This applet simulates the motion of a basketball released at a specified depth underwater.  The ball’s size, density, and release depth are user controlled parameters, as well as the densities of both the air and water.  The program computes the vertical position of the ball at specified time intervals numerically, taking into account gravitational, buoyant, and drags forces.

User-set Parameters (units) : Description

  • Ball Density (kg m-3) : The density of the ball
  • Ball Radius (m) : The radius of the ball
  • Liquid Density (kg m-3) : The density of the liquid
  • Gas Density (kg m-3) : The density of the gas
  • Release Depth (m) : The depth at which the ball is released; the distance below the liquid-gas interface.
    The depth is measured from the ball’s geometric center.
    Release depth may be controlled via the vertical scroll bar on the right hand side of the applet window.
  • Simulation Time (s) : The length of time after the release of the ball to simulate
  • Time Increment (s) : The amount of time between each simulated data point


The animation in this applet graphically displays data relevant to the ball’s motion. The ball’s position and speed, as well as the 3 forces acting on it, are displayed in text with the corresponding time index. Additionally, a graphical representation of the ball’s position is shown as a red dot moving between the liquid (blue) and gas (white) media. The animation is intended to be an accurate, to-scale, representation of the ‘real-life’ motion one might observe while performing this experiment.

Explanation of Results

When considering the question: “How high will a basketball pop up out of the water after being submerged at a specified depth?” one might initially think that the greater the depth of release, the higher it will pop up. After all, there is a fairly high buoyant force acting to push the ball up while it is submerged, creating a high “buoyant potential energy” (analogous to gravitational potential energy, but due to the buoyant force and not gravity). As the ball ascends through the water this buoyant potential energy is converted into kinetic energy which is then, in turn, converted into gravitational potential energy as the ball rises into the air. Therefore, the more buoyant potential the ball initially has (the deeper it is submerged), the higher it will pop. However, this is not always the case. Since water is so dense, a deeply-submerged ball very quickly approaches its, relatively low, terminal velocity. Any remaining buoyant potential is converted into heat as the drag forces on the ball prevent it from speeding up. Thus, the pop-height of the ball is limited by the low terminal velocity of the ball flowing through the water. The terminal velocity of the ball (and in turn the pop-height) can be increased by lowering the density of the water (assuming all other parameters are fixed) as one can see below in the formula describing the ball’s terminal velocity.

Above: Equations describing the terminal velocity of a spherical object of radius R, density ρball, and drag coefficient Cd, moving through a fluid of density ρfluid, under the influence of gravitational acceleration g.

Above: Plots showing the theoretical velocity of a basketball as a function of the time spent ascending through the water (left) and the distance over which it has risen (right). Notice how quickly, in only a fraction of a second, the ball approaches its terminal velocity of around 3.6 m/s.

Input Protection

There is virtually no input protection provided on the user-set parameters, therefore it is possible to crash the applet and / or cause strange behavior. In general the user-input parameters should be real, finite, numeric entries. Also, the user-set parameters often only make physical sense when they are positive values even though the applet may still run with negative inputs (i.e. a negative density is not physically reasonable). Just use common sense when providing input to the program.

Since the applet computes the ball’s position numerically for only a finite number of data points there is an error associated with the data generated. The error can be minimized when the net force acting on the ball is small. Just how small is "small" depends on the number of data points used. By decreasing the Time Increment (thus generating a greater number of data points spaced more closely together) the error shrinks. The trade off to using a smaller Time Increment is that the calculations take longer to perform.


Return to Simulation and Calculator Applets

Return to AmazingRust.com
Contact Us