It is actually possible to very accurately determine the distance, and
in your situation, the estimate can be far more exact than the
measures given in pro ballparks.
Here's how they do it in ballparks:
A homer goes off and lands on some obstruction far away, at
coordinates (x1,y1). That means x1 feet from home plate and y1 feet
above the ground. Someone subjectively characterizes the flight path
as "high fly" "low fly" or "line drive", and these correspond to
cotangent values of 06, 0.8, and 1.2 respectively. Then plug in this
formula to find the total distance, x:
x = x1 + (y1 * cotangent)
For example, if a "line-drive" hits your wall 200ft away 20ft high,
then the estimated distance is 224 ft.
There is a glaring problem here: that algorithm assumes that the ball
was hit in a ballpark where the ball had plenty of space to rise and
fall. And it assumes the ball is on a sharp downward trajectory, so
it significantly understimates the distance. However, in your
situation, you know that no ball's trajectory could ever exceed 40ft
in height (or whatever your ceiling clearance is). Moreover, if a
ball hits the wall high, around 40ft, then you know that it must have
been on an upward trajectory or very near its peak. For most balls
that hit the wall, the peak would have to occur somewhere before the
wall and at a maximum height of less than 40ft. Very very few people
are able to hit a line drive below 40ft high that is still on its
upward trajectory after 200 feet. So we make this assumption: any
ball that hits the wall must have already reached its peak prior to
hitting the wall. And we also should make this assumption: that peak
occurred very close to the ceiling, say 35 ft high.
With these two reasonable assumptions, we can do a lot of algebraic
manipulations to come up with the formula that you want. If you're
not mathematically inclined, skip to the end. Otherwise, proceed...
The ball's flight path is approximated as a 2-dimensional parabola,
described by this quadratic function:
y = -m * (x - a)^2 + b
y is the height of the ball, as a function of the horizontal distance
x from home plate. m is a coefficient that describes the "slope" of
the trajectory. a is the horizontal distance at which the ball
peaked, and b is its peak height. What we want to do is determine m,
a, and b to have a function that describes a given ball's trajectory.
That means we need to know three points (x,y) in order to define the
three unknowns. That's tough.
Fortunately, our assumption was that b=35, so we only have two
unknowns. And we also happen to have to points, so we can create a
solvable system of equations. The first point we know is (0,3). That
is the coordinate corresponding to 3ft above homeplate, where bat
contact was made and the ball's flight began. We also know that the
ball hit the wall at coordinates (x1,y1). So the equations are:
3 = -m * (0 - a)^2 + 35
y1 = -m * (x1 - a)^2 + 35
We want to solve this for m and a. There are many ugly ways to do
this, but the answer should come out to:
a = x1 / (1 + sqrt((35 - y1) / 32))
m = 32 / a^2
Then your ball's trajectory, given wall contact at (x1,y1), can be
easily found by calculating the value of a above and using it in this
equation:
y = (-32 / a^2) * (x - a)^2 + 35
This is nice, but what we really want to know is where would the ball
hit the ground. In math terms, this is called finding the roots of an
equation, and can be solved using the quadratic formula you learned in
algebra class. So we rewrite the equation in second-order polynomial
form, Ax^2 + Bx + C:
0 = (-32 / a^2)*x^2 + (64/a)x + 3
and the roots are given by the quadratic formula:
x = ((-64/a) + sqrt((64/a)^2 - 4*a*3)) / (2*a)
This answer is how far the ball would have travelled before hitting
the ground. (Yes, there are two roots to this equation, and if you
use the negative square root in the equation above, you'll find where
the ball hypothetically began its flight path at a negative distance
behind the hitter. Also, if you take the negative square root when
calculating the value of a, then you'll be working under the
assumption that the ball would have peaked at 35ft high somewhere
beyond the wall... an unrealistically powerful hit.)
For the math-phobes, a do-it-yourself algorithm:
1. Measure your target's horizontal distance to homeplate. Call this x1.
2. Measure your target's vertical height. Call this y1.
3. Measure the height of the ceiling, or whatever you consider the
ball's peak height could be. Call this yp.
4. Measure the height above homeplate at which the ball is hit. Call this yh.
5. Now calculate the value of a:
a = x1 / (1 + sqrt((yp - y1) / (yp - yh)))
6. Now the final answer:
x = (sqrt((2*(yp-yh)/a)^2 - 4*a*yh) - 2*(yp-yh)/a)/(2*a)
These are kind of messy equations, but you should be able to copy and
paste them into software such as Matlab. If you don't have Matlab,
grab a pencil and paper and calculator. If you still don't know,
offer a dollar to a precocious eigth-grader and have him do your
calculations. |