Pin a shot, then adjust a variable to compare.
This is an illustrative single-shot simulation, not a calibrated prediction of a real athlete or a match outcome. A reachable ball means the racket can get there; it does not guarantee a controlled return.
Three-dimensional motion includes gravity, quadratic air drag, wind and a bounded Magnus force from topspin or backspin and sidespin. Power is a direct launch-speed control (100% = 180 km/h), independent of player body size. Spin values are initial RPM.
The receiver reacts, then accelerates in a straight line at driving force ÷ body mass, up to the selected top speed. Height sets the shoulder reference; arm length and a fixed racket extension set reach. The receiver has ideal knowledge of the trajectory after reacting. No anticipation, turning penalty, fatigue, footwork, jumping or swing preparation is modeled.
The court uses ITF dimensions: 23.77 × 8.23 m for singles, with a net about 0.914 m at the center and 1.07 m near the posts. Ground contact uses a ball of radius 3.3 cm and mass 57.6 g. Hard, clay and grass use illustrative friction and bounce coefficients. This is a singles rally shot: first-bounce legality is checked in the far singles court; serve-box rules and doubles are not included.
The receiver selects the playable contact with the largest arrival-time cushion, before or after an in-court first bounce and before the second bounce. Minimum contact height is 0.25 m. A positive time margin means arriving early enough. The complete flight trace shows where the ball would go if it were not returned. A possible volley of a shot predicted to land out is labeled separately.
References: ITF court dimensions ↗ · NASA drag equation ↗ · NASA spin and lift ↗