Don't read the physics. Play it.
Everything on this page runs the same flight model as the Ball Lab, and it plays out as you scroll. Balls fly, gaps grow, the odds shift. Give it five minutes and you'll know exactly why that "identical" forehand landed two feet shorter.
Three forces, fighting the whole way.
The moment the ball leaves your strings, exactly three things touch it. Gravity pulls straight down, constant and boring. Drag is the air pushing back along the flight path, and it grows with the square of speed, so a fast ball gets punished far harder than a slow one. Magnus is the spin force. A spinning ball drags a layer of air around with it, and that shoves it sideways: down for topspin, up for slice.
If you remember one thing, make it this: drag is about speed, Magnus is about spin. Those are the two dials you're turning on every single shot, whether you know it or not.
Break the school parabola.
The clean arc you learned in school only works in a vacuum. Add drag (which depends on speed) and Magnus (which depends on speed and direction) and the equation starts feeding on its own answer. No formula survives that. The only honest way to know where the ball lands is to march it forward a tiny step at a time: recompute the forces, nudge the ball, repeat a few hundred times until it bounces.
Just scroll. The same swing flies three times: the dotted arc is the textbook fantasy, the blue one adds air, the green one adds spin. By the time they land, the fantasy has overshot by whole metres. That's the difference between painting the baseline and feeding your opponent a sitter.
Tiny errors don't stay tiny.
Here's the unsettling part. Those forces feed on each other, which makes ball flight genuinely chaotic. The two shots beside this one leave the strings a third of a degree apart, a slip you couldn't feel if you tried, and the gap between them grows the entire way down.
There's a single number for how fast that blow-up happens, and the Ball Lab calls it λ(a Lyapunov exponent). A big λ means a twitchy, unforgiving shot. A small one means you've got room to spare. A flat drive aimed at a line runs hot; a loopy topspin ball with net clearance stays calm. Now you can measure which one you're actually hitting.
Keep scrolling and watch them split. That's exponential divergence. Not a metaphor, the actual thing, happening to your forehand.
A cloud, not a point.
If no swing is exactly repeatable, a single predicted landing spot is a polite fiction. So we borrow the weather forecaster's trick: jitter the contact a few hundred times by realistic amounts (a little speed, a little angle, a little spin) and fly every version. The spread is your real margin, and the fraction that stays in is a real in/out probability.
A shot that looks "in" on paper but only stays in six times out of ten is telling you something no single trajectory ever could. Move your cursor over the court, get greedy with the lines, and watch your own odds fall.
The physics reads the ball. The vision reads you.
A pose model finds 33 landmarks on your body in every frame of your clip, right there in the browser. Nothing is uploaded, ever. From those points we pick the contact moment, measure your elbow, knee and trunk angles against stroke-specific targets, and score the swing out of 100. Flaws become drills, drills become sessions, and your Stats page keeps the receipts.
Enough theory. Hit something.
The Ball Lab turns all of this into sliders. Your shot, your spin, your odds.