3

I recently had a chance to go to a sea-shore and to also ponder the question:

"What is the farthest point on the horizon that I can theoretically see, ignoring the effects of fog, clouds, waves, tide, and non-uniform curvature of Earth?"

So, I got to work, and derived the formula thus:

Assuming...

  • Earth to be a perfect sphere of radius, r;

  • My height (at eye-level) to be, h; and

  • The linear distance to the horizon to be, d;

Then,

$(r+h)^2 = d^2 + r^2$ (via Pythagoras theorem)

Or,

$d = (h^2 + 2rh) ^.5$

Also, the curved distance, c, to the horizon, would be:

$c = r . arccos (r / (r+h) )$

However, here begins my difficulty. When I substitute the values...

r = 6370 km
h = 180 cm   (or, 6 ft)

... I get,

d = 4.58 km   (reasonable, appears correct)
c = 274 km    (!!!)

... which doesn't make sense to me!

Why so much difference between c and d? Intuitively, I am expecting c to be very close to d. Why? Because, the surface of Earth is more or less flat, and when dealing with a linear distance, d, in the vicinity of merely 5 km, the curved distance, c, should also be very close to d. Isn't it?

Where am I wrong in my intuitive thinking (as, afaik, my formula and computation are correct)?

Harry
  • 153
  • I think maybe you just punched it in wrong. For me (in radians mode): 6370 / 6370.0018 INV COS * 6370 I get 4.7887. I know this is an old post, but I was just trying to calc something similar. It took me a little while to get it right, too. – Octopus May 08 '18 at 18:14

1 Answers1

3

What are you using to calculate this? Since $r/(r+h)$ is very close to 1, your (correct) formula for $c$ will be very sensitive to small precision errors in computing arccos. With an inexpensive calculator I got a result close to your 274 km, but when I asked Mathematica for the result I got an answer that was for all practical purposes equal to the straight-line distance, 4.78874 km.

Rick Decker
  • 8,718
  • O boy! THAT never occurred to me, and could never have - so I'm glad I posted this here. Now, I used gnome-calculator on Ubuntu 13.x, which I thought was an 'arbitrary precision' calculator. Apparently, it's not. My $r/(r+h)$ came out to be 0.99999971. – Harry Jul 05 '13 at 13:12
  • Rick, since I'm not familiar with Mathematica, would you also post the function (or, the relevant code snippet) you used to calculate $r/(r+h)$ to arbitrary precision? Thanks. – Harry Jul 05 '13 at 13:16
  • 2
    @Harry Mathematica is a very powerful computer algebra program. It's also very expensive. However there's a free program that runs on the same engine. Check out Wolfram Alpha. Using this on your problem the linear distance is 4.788737 km and the circular distance is 4.788736 km, so the two differ by about a millimeter – Rick Decker Jul 05 '13 at 16:27
  • Fair enough. Thanks a lot! – Harry Jul 06 '13 at 03:33
  • 1
    Btw, I found out that /usr/bin/bc -l can also do the job; the -l option uses a precision of 20 digits which can give you a value that is fairly precise, and if you want more precision, you can specify scale=50 or higher inside your bc script. – Harry Jul 09 '13 at 06:09