I have often seen people showing how much of an object one can see at a given distance due to earth's curvature (actually, this was mostly in discussions with flat-earthers).

How can I calculate this? Let's for example say, a building of known height $h$ is at a known distance $d$. How would I find out how much of the building is visible?

I have learned in school how to do such calculations with functions, where you can basically add a new line originating from your eyes and "touching" some point (like a hill), then you can calculate the point of intersection with another point of the graph, as below:

enter image description here

A similar thing would probably have to be done for the case of the earth:

enter image description here

(very not to scale)

How can this be done? (For simplicity, let's assume the earth to be a perfect sphere and no atmospheric effects such as refraction).


So I found this Earth curvature calculator where you can simply input the values and let it calculate the result. There is also an explanation to how the calculator works. In this answer, I will derive and present the calculation method.

Let's start with assigning some names and lengths:

enter image description here

(I apologize for the not very beautiful drawing)

$h=$ oberver's eye height; $r=$ earth's radius; $a=$ distance to horizon; $d=$ distance to the lowest visible point of the object; $x=$ height of the hidden part of the object. Note that $d$ does not have to be the same as $2a$ although it looks like so in my drawing.

We start by calculating $a$, the distance to the horizon. From the Pythagoream Theorem, it follows that $$(h+r)^2=a^2+r^2$$ thus $$a=\sqrt{(h+r)^2-r^2}\tag{1}$$

For an observer with eye height $1.7m=0.0017km$, this gives $a \approx 4.65km$ which by the way is about the same as given in the wikipedia article.

Now we want to know how much of an object at known distance $d$ (where $d$ isn't actually the distance, but the distance to the lowest visible point of the object; but the difference should in most cases not be very large).

Again, using the Pythagoream Theorem, we can write $$(x+r)^2=r^2+(d-a)^2$$ Since we want to know $x$, let's first multiply out the right side using the 2nd of the binomial formulas: $$(x+r)^2=r^2+d^2-2da+a^2$$ so $$x+r=\sqrt{r^2+d^2-2da+a^2}$$ and $$x=\sqrt{r^2+d^2-2da+a^2}-r\tag{2}$$

We can either first calculate $a$ (using formula $(1)$) and then plug in the value or do everything in one expression: $$x=\sqrt{r^2+d^2-2d\sqrt{(h+r)^2-r^2}+((h+r)^2-r^2)}-r$$ which is the same as $$x=\sqrt{d^2-2d\sqrt{(h+r)^2-r^2}+(h+r)^2}-r\tag{3}$$

We have been working with the lowest visible distance $d$ instead of the actual distance (which is slightly larger; it corresponds to the circle segment connecting the observer's feet and the object's lowest point). In most cases, one should be able to simply use the actual distance and plug it into the formula - the difference is neglegible and the calculation is in any case only an approximation as it doesn't include atmospheric effects.

So this is how you can calculate the hidden height of an object. Again, credits go to this site (The only thing I did was showing how to get to this formula).

If you know want to know how much is visible ($h_v$), you can of course simply subtract the hidden height $x$ from the total height $h_t$: $$h_v=h_t-x$$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.