Model a Tennis Serve Ball Flight

Version 1.0.3 (1.63 MB) by 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.
219 Downloads
Updated 16 May 2019

View License

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.

Cite As

Meg Noah (2024). Model a Tennis Serve Ball Flight (https://www.mathworks.com/matlabcentral/fileexchange/70324-model-a-tennis-serve-ball-flight), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2018b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on General Physics in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.3

Using mlx files to illustrate use.

1.0.2

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

1.0.1

edit summary.

1.0.0