Note: this article makes use of MathML, the standard XML markup for math formulas. Sadly, this is not properly supported on some allegedly ‘modern’ and ‘feature-rich’ browsers. If the formulas don't make sense in your browser, consider reporting the issue to the respective developers and/or switching to a standard-compliant browser.

Something that everybody (but the staunchiest believer in a Flat Earth) can agree on is that you can see farther by climbing higher. Indeed, getting to a higher place not only helps you see beyond any obstacles that might be in your line of sight, but it actually helps you see farther along the surface of the Earth even if there are no other obstacles than Earth's own curvature: it's the reason why ships have a Crow's nest.

So the obvious question is: how much farther can you see by climbing higher? And people that follow me will surely have already caught on: yes, we're trying to solve the inverse problem to how high do you have to go. In fact, we'll recycle the figure:

Again, we assume we're dealing with a spherical Earth of known radius r. This time, however, we assume h known (how far high we are), and we want to know d, the distance along the geodetic to the farthest point we can see1. Equivalently, we want to know the angle α subtending the geodetic, since by definition of radian its amplitude in radians is just dr, hence d=rα. And again, of course, we know that it will be for sure 0α<π2, i.e. 2d<πr.

In fact, from our study on the direct problem we know that the relationship between h and α can be expressed as

h=r(1cosα-1)

which can invert rather easily; divide by r:

hr=1cosα-1

add 1 on both sides:

hr+1=1cosα

and take the reciprocals, swapping the two sides:

cosα=1hr+1.

Given our range of existence for α, we can use the inverse function of the cosine, arccos, to get the final formula for α

α=arccos(1hr+1)

and from this get

d=rα=rarccos(1hr+1).

As a quick check, for h=0 we have α=arccos1=1, while for h growing to infinity we get α=arccos0=π2, as we would expect.

Approximation?

As with the previous problem we would like to devise a formula that can be applied easily under the assumption that the angle is small. The most obvious approach would be to use the first term(s) of the Taylor expansion of the arc cosine, as it's usually done for small-angle approximations. However, Taylor series for these functions are usually developed around 0, whereas we would like to develop them around 1, since a small angle, in our case, leads to an argument of 1 for the arc cosine.

(In fact, we can see that better if we focus on the argument to the arc cosine:

1hr+1=1-(hr)+(hr)2-(hr)3+...

assuming h<r.)

From a mathematical perspective, writing a Taylor expansion of arccos around 1 is not recommended, since some assumptions needed to ensure good convergence behavior for the series cannot be guaranteed (in particular, the fact that 1 is at the boundary of the domain of the arc cosine rather than inside it is a no-no).

Worse, if we opt to disrergard the warning, we find out that we can't even do what we want, since the derivative of the arc cosine is

-11-x2

which isn't even defined for x=1.

We could try leveraging the nice relationship between the arc cosine and the arc secant:

arccos(1hr+1)=arcsec(hr+1),

but that barely helps us, since the arc secant's first derivative is

1xx2-1

for x>1 so that again, for h=0, we would have a degenerate case.

Look ma, no inverse functions!

To work around this conundrum, let's take a step back, to:

cosα=1hr+1,

and let's use the small-angle approximation for the cosine; we get

1-α22=1hr+1

or

α22=1-1hr+1=hrhr+1=hh+r

which gives us a much more approachable

α2=2hh+r

and finally, with an ugly square root,

α=2hh+r.

In fact, there's two horrible things in this formula: the division of a (potentially) very small number by a very large number, and a square root.

For the ratio, we can rewrite things with our friend q=rh under the assumption that h0 (sensible, since otherwise α=0, which isn't very interesting):

α=21+q

with q large (in fact, potentially tending to +).

As it turns out, ignoring for a moment the 2 factor, the rest has a power series expansion, in the form of a Puiseux series that can be written in an acceptable form in terms of p=1q=hr:

α=2(p-(12)p3+(38)p5-(516)p7+).

Curiously (but unsurprisingly) the first order term is what we get if we just ignore the 1 in the non-expanded formula.

More in general, we shouldn't be surprised by the need to compute p with a square root, given that in the other direction we used s=2q2. But then again, if we have to compute a square root, why even bother doing it for p when we can do it directly for α?

So, shall we just stop at

d=rα=r21+q

or can we do something more interesting?

(Aside for local manipulations, such as:

d=r2hh+r

of course.)

Another rollback

To find a better formula, let's roll back to

1-α22=1hr+1

and work on the right-hand side, which we can write as (1+hr)-1. For small h (compared to r) this has a curiously nice expansion:

1-hr+(hr)2-(hr)3+

so that our equation for α becomes:

α22=hr-(hr)2+

and truncating:

α22=hr(1-hr),

but also

α22=(hr)2(rh-1).

The nice thing about these formulas is that we can rewrite the right-hand side in terms of q, giving us

α22=1q(1-1q)=q-1q2

which comes in very handy if we don't stop at α, but actually go and compute d:

d=rα=r2(q-1)q=h2(q-1)=h2r-hh

that is interesting since it expresses the distance in terms of “the height, multiplied by something” rather than “the radius of the planet, multiplied by something”.

In fact, in this case we can even try pulling out the 2 from under the square root:

d=2hr-h2h

(well, sort of; but at least it has some symmetry to it).

A different approach

Remember that we could also express h as the exterior secant, that could be expressed in terms of the tangent function, giving us

h=rtan(α)tan(α2).

Can we try inverting this instead? Let us proceed by expressing the tangent in terms of t=tan(α2):

h=r2t1-t2t=r2t21-t2

and let's solve for t:

h(1-t2)=2rt2

(2r+h)t2=h

t2=h2r+h.

We can go for a direct solution now, with

α2=arctan(h2r+h).

The good news is that, in contrast to the situation with the arc cosine, we would need to go now for the expansion of the arc tangent for small values of the tangent, which is just its argument, giving us the following approximation:

α2=h2r+h,

or

α=2h2r+h,

If instead we wanted to use small-angle approximation for t, giving us t2=α24, we'd get

α2=4h2r+h,

or finally

α=2h2r+h.

Would you look at that, it's the same formula! That's good news, like that fact that the 2 is already out of the square root (well, at least one of them!) and when we go for d:

d=2rh2r+h

we have the same nice symmetry that we had with the previous approach —but no h outside of the square root.

Going crazy

As an alternative, we could leverage that fact that 0α<π2, so that we are in the range where

tan(α2)=tanα1+1+tan2α

which would give us

h=rtan2α1+1+tan2α

that we can manipulate to

1+1+tan2α=rtan2αh

1+tan2α=rtan2αh-1

1+tan2α=(rtan2αh-1)2

h2+h2tan2α=(rtan2α-h)2

h2+h2tan2α=r2tan4α-2hrtan2α+h2

r2tan4α-(h2+2hr)tan2α=0

And assuming α0 (which for us would only be the case if h=0) we can actually simplify this to

tan2α=h2+2hrr2.

Going for the small-angle approximation (that, as we've seen, gives us the same result regardless if we go first for the arc tangent), we finally get:

α=h2+2hrr

and for the distance that we're interested in:

d=rα=h2+2hr=h1+2rh=h1+2q,

with an amazing similarity to the h2(q-1) we had found before. (Of course, for small enough h i.e. large enough q, the extra term, be it +1 or -2, doesn't really matter, 2q prevails.)

(As someone might have noticed, this approximation is nothing more than the length of the HS segment, i.e. the distance from the observation point «as the crow flies» rather than along the geodetic1.)

TL;DR

Pick your poison (as usual, q=rh). The exact formula is:

d=rarccos(1hr+1)=rarccos(rh+r)=rarccos(q1+q).

And several possible approximations:

d=r2hh+r

d=h2(q-1)

d=2hr-h2h

d=2rh2r+h

d=h1+2q

d=h1+2rh

Oh, and do you know how you can tell that this is the inverse problem? Because the formulas are uglier.

Example

How far can a human being with their eyes 2 meters from the ground (yes, it's a tall human being) see? Let's pretend that r is 6,400 km (yes, it's a larger-than-ours planet). We have 2q=6,400,000 (how convenient, the 2 simplifies with h!), so its square root is marginally (less than 0.2) smaller than 2530 (damn, one would hope that with that nice 64 … but no, we went and had an odd number of zeroes!). We multiply that by the 2 meters of height, and it turns out that the tall man can see over 5 km in the distance, marginally less than 5,060 m. The exact solution would be 5,059.64… m —not bad, not bad at all!

Let's say you managed to climb up to the top of Mt Everest: then 2q would be something less than 1,500, and its square root around 38. If not for the weather and the mountains and everything else, you could se things nearly 340 km away —336 km and counting, which is still just as good as the exact solution, within less than a meter.

It's interesting to see what happens if we push the boundaries of these approximations: assume h equal to r, i.e. q=1. Then the exact formula gives us d=rπ3, i.e. around 1.05r. What about the rest?

Formula Result for h=r i.e. q=1 Quality
d=r2hh+r d=r Not that bad
d=2rh2r+h d=23r1.15r Could be better
d=h1+2q d=3r1.73 Losing it …
d=h2(q-1) d=0 Oh, come on!

Overall, the situation isn't even that bad: only one formula completely misses the target, and for two out of three of the others the error is relatively small (5% to 10%). Sadly, but unsurprisingly, the worst behaving approximations are the ones expressed for h rather than r: the extra benefit in their simplification comes more strongly from the “small h” assumptions, and that's why they fail the hardest.

The extra mile

A slightly different question that we might be interested in is: how much more can you see by going to higher ground? In other words, if we have two different heights h1 and h2 (say, h1<h2), and the corresponding distances d1 and d2 (for which it will still be d1<d2, since the arc cosine is nondecreasing), what would be, for example, the ratio d2d1 compared to the ratio h2h1, or the difference compared to the difference?

For the ratio, I'm not aware of a formula, but for the difference there's actually a way to express the difference of the arc cosines, giving us

d2-d1=rarccos(q1q2(1+q1)(1+q2)+(1-(q11+q1)2)(1-(q21+q2)2))

which is quite the mouthful that offers only a little bit of possibility for simplification, if it can be called that way:

d2-d1=rarccos(q1q2(1+q1)(1+q2)+1+2q1(1+q1)21+2q2(1+q2)2)

or possibly even

d2-d1=rarccos(q1q2+(1+2q1)(1+2q2)(1+q1)(1+q2)).

Of course, if we couldn't easily reason (or simplify) the analytical formula for the geodetic distance visible from a certain height, much less so we can hope to do derive any interesting information from the present formula.

A bit of insight on the other hand can be derived by looking at the derivative of d as a function of h, in particular using the expression for the arc secant.

From

d=rarcsec(hr+1)

and the arc secant derivative for positive arguments, we get

dh=1(hr+1)(hr+1)2-1

(interestingly enough, the r on the numerator cancels with the r coming from the derivative of hr+1). We can work on simplifying this

dh=r2(h+r)(h+r)2-r2

and finally

dh=r2(h+r)h2+2hr

(and we can rejoyce in the knowledge that even well-known software tools with strong analytical capbilities have issues trying to integrate that, while we know the result from the previously computed d2-d1) that tells us pretty clearly how quickly the rate of growth decreases as h increases.

We can still massage the expression to give

dh=r2(h+r)h1+2q

or even

dh=q1+qq1+2q,

which is a bit improper (we're expressing a derivative with respect to h using q), but it makes life easier for us if we want to know how small variations in height affect how far you can see.

Let's pretend for example that humans, on average have their eyes about 1.6 m from the ground; then q=4106 assuming our usual r, and the rate of change of d with respect to h is about 1,414: a centimeter of difference alters your perspective by about 14 m.

Let's linearize this too!

Of course, the expression we have for the derivative isn't that nice either. It would be better if we could approximate that one with something more manageable. And there is, in fact an expansion for the formula assuming h small (or q large):

dh=q2(1-54q+4332q2-177128q3+)

and our previous example works perfectly if we stop at the first order, since q2=21061414.

And now that we have it easy, we can see what happens around 2 m of baseline (yes, we can still use the first-order approximation for the derivative): q2=1.61061264: a centimeter of difference alters your perspective by less than 13 m.

(Notice how moving our baseline up by 40 cm has reduced the effect of fluctuations by over 1 m per cm.)


  1. we're picking the distance along the geodetic because we're looking at this issue as the inverse to the previous problem, but we could also look at this in a slightly different manner, i.e. considering the distance «as the crow flies»: this is in fact different, since we'd be talking about the HS distance instead of the PS arc.

    Curiously, the formula for the crow's flight interpretation is actually simpler, since we're looking at a leg of the right triangle with hypothenuse r+h and other leg r: the crow's flight is then (r+h)2-r2=h2+2hr=h1+2q, which is, in fact, one of the approximations we'll find for d. ↩  ↩