[Please send any comments to Ahbee0@gmail.com,MaverickOne@gmail.com ]
Here is a way to estimate your serve speed from digital video footage of the serve using the following 3 pieces of information: - The frame rate of your camera. It is usually 29.97 frames per second in USA, unless you used some special feature like the 240 fps "smooth slow motion" in some Sony camcorders.
- Estimate of the distance traveled in the air by your serve. The distance from the middle of the baseline to the cross of the service T is 60 feet; the distance from the middle of the baseline to the wide coners of the service box is 61.5 ft. The fact that the serve is hit from a height of 8 or 9 feet increases the distance by 0.5 ft. But typically serves are struck a little inside the baseline, so you have to reduce by that distance. If your serve lands about a foot inside the service line, you have to estimate and subtract that distance as well.
- Number of frames. Play the video in frame by frame mode, count the number of frames between contact with racket and subsequent contact with the floor. You may have to estimate partial frames.
- An example of an Andy Roddick serve from the 2007 AO is included for those who wish to calculate an accurate calculation or who wish to verify the validity of the Speed Calculator. Click Here for Example.
## Formula used in the above calculation$$ Speed_{mph} = \frac{e^{K \times distance} - 1}{5280 K \times FrameCount} ( FrameRate \times 3600 ) $$
$K = \frac{\ln(V_i/V_f)}{S}$
Python: import math # published numbers from a now dead link KNOWN_SERVE_SPEED= 120. KNOWN_SPEED_AT_BOUNCE= 87.0 DISTANCE_TRAVELED=60. # A constant for formula: K= math.log(120./87)/60 def init_speed(nf, d=60, fps=29.97): speed = ( math.exp(K*d) - 1) / (5280.*K * nf) * fps * 3600 return round(speed*100)/100 def avg_speed(nf, d=60, fps=29.97): speed = d / (nf / fps ) * (3600./5280.) return round(speed*100)/100The main assumptions are : - The motion of the ball after the hit is only affected by the drag force of the air alone, which is assumed to be proportional to the square of the veolocity. There is the obvious force of gravity, but being a vertical force, it doesn't significantly affect the calculation.
- A $V_0$ mph serve slows down to $V_f$ mph over S feet. We need these numbers from some external source such as this website (unfortunately, it no longer works) reporting a study done on Sampras' serve
## The full derivationThe model for motion under a drag force is$ \frac{dv}{dt} = \frac{-kv^2}{m}$ Note that this is a statement of Newton's second law, acceleration = Force/mass. Drag force is $-kv^2$ where $k$ is a constant related to the drag coefficient. Let us make up a modified drag coefficient $c = k/m$ to simplify our job since we only care about one mass, that of a tennis ball $ \frac{dv}{dt} = \frac{-c}{m}$ The solution to the above separable first order differential equation is $ v = \frac{1}{ct + D} $ D is the constant of integration, and when you set t=0 above, you can see that D must be equal to $\frac{1}{v_0}$ Therefore $v = \frac{1}{ct + \frac{1}{v_0}}$ .....(1)
where v Integrating the solution for v, we get distance s $s = \frac{\ln(ct + \frac{1}{v_0})}{c} + E$ E is yet another constant of integration. Knowing that the distance s is 0 when time t=0, we calculate $E = -\ln(1/v_0)/c$ Substituting for E, $s = \frac{\ln(ct + 1/v_0)}{c} - \frac{\ln(1/v_0)}{c}$ $s = \frac{\ln(ct + 1/v_0) - \ln(1/v_0)}{c}$ $ s = \frac{\ln(ctv_0 + 1)}{c} $ ...... (2) $ e^{sc} = ctv_0 + 1$ $v_0 = e^{sc}/ct - 1$ ...... (3) This $v_0$, the initial velocity immediately after racquet impact, is what we are after. From our camcorder experiment, we know s, the distance traveled and we know t, the time it took to travel that distance; t = (frames * FrameRate). The only unknown in the above formula is c, the modified drag coefficient for a Tennis ball. Time to calibrate our model using a known fact about Sampras' serve - that a 120 mph serve slows down to 87 mph over 60 feet. Substituting the numbers into Equation (1), $87 = \frac{1}{ct_1 + 1/120}$ $t_1$ above is whatever time that 120 mph serve took to travel 60 ft(= 60/5280 miles). Therefore, $ct_1 = 1/87 - 1/120 = 0.00316092 $ ....... (4) Now applying Equation (2) to the point of the bounce, $60/5280 = \frac{\ln(120ct_1 + 1)}{c}$
We can plug in the expression for ct $ 60/5280 = \frac{\ln(120 \times 0.00316092 + 1)}{c}$ $ c = \frac{\ln(120 \times 0.00316092 + 1)}{60/5280}$ $c = 28.3$
We plug this c into Equation (3) to get
We want to be able to express the formula in terms of number of video
frames rather than time.
$v_0 = \frac{e^{28.3 s/5280} - 1}{28.3 F} (FrameRate \times 3600) $
where
## Comments about this method compared to using a consumer Radar gunCompared to using a radar gun, this method requires several extra steps.There are several sources of error, such as estimating the number of frames and the actual distance, but they are all manageable and in your control( you can minimize them by being careful). A consumer Radar can give significantly wrong speeds depending on how far the ball traveled before entering the range of the radar and the angle between direction of the ball and the Radar's line of sight at the instant it "sees" the ball. Also, once in a while, Radars give you totally wild numbers. If you suddenly hit one serve that is 5mph mpre than every other serve, you will never know if it was an erroneous reading or if you actually did something very right. That will never happen with Video method. If your serve took 0.5 secs to bounce, it is going to be 15 frames in the video. If you serve 5 mph faster, it will be a whole frame quicker and impossible to miss. Even better, you can replay the video and study what you did differently and try to incorporate that permanently into your service motion. This method gives you very visual proof that anyone can see. They don't have to take your word. You can tape someone while they are playing a match and estimate their speed. You can walk around your club with a camcorder and measure the pace of anyone's serve or groundstrokes. OTOH, A consumer radar can never be used in a match because it need to be placed on the court. |