Model a Tennis Serve Ball Flight

バージョン 1.0.3 (1.63 MB) 作成者: Meg Noah
Model the path of a tennis ball that has been served, and create a 3D rotatable visualization of model results. Includes lift and drag.

ダウンロード: 191

更新 2019/5/16


The user defines the initial position, velocity, and spin of the tennis ball. The units are pounds, feet, seconds. The tennis court coordinates are:
x - ground, perpendicular to net
y - ground, parallel to net
z - height above ground
The path taken depends on 3 forces:
1) gravity (constant 32 ft/s^2 in -z direction
2) drag (proportional to v^2 and in -v-hat direction
3) lift (proportional to cross product of spin and velocity)
The proportionality constant of the drag force is proportional to the atmosphere density, the cross-sectional area of the ball, the coefficient of drag, and the inverse of mass:
k_D = C_D*rho_atmosphere*area/(2*mass)
Spin of the ball causes it to lift. The constant has similar form:
k_L = C_L*rho_atmosphere*area/(2*mass)
Spin will increase the margin of error when serving. A top-spin (+y-component) creates a downward force causing the ball to drop and allowing the server to hit the ball at a greater initial angle. Backspin is created by setting the y-component to a negative value. Propagation is via a Runge-Kutta-Fehlberg method of order 4/5.

The model flags conditions: ball moves out of court, ball hits net, or ball bounces. The bounce is modeled with a restitution parameter and, if there is spin, a grip parameter to modify the velocities based on slipping during contact with the ground.

Useful for analyzing video of tennis games to reverse-engineer initial conditions of a serve, for game simulations, and for what if questions such as "How sensitive is the final position to the initial serve position, velocity, and spin?" "What would tennis look like on Mars?" "How does atmospheric density affect tennis serves?"

Based on a model described in:
Danby, J. M. A. (1997) Computer Modeling: From Sports to Spaceflight ... From Order To Chaos, Willmann-Bell, Inc., Richmond, VA., p. 159.


Meg Noah (2023). Model a Tennis Serve Ball Flight (, MATLAB Central File Exchange. 取得済み .

MATLAB リリースの互換性
作成: R2018b
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
バージョン 公開済み リリース ノート

Using mlx files to illustrate use.


Fixed bug with missing velocity and time in final step when it hits the net.


edit summary.