A curiosity journal of math, physics, programming, astronomy, and more.

Distance to horizon

The distance to the horizon varies with the size of the planet you're standing on and your height above the ground. Since the horizon occurs where your sight line is tangent to the sphere, we can diagram a two-dimensional version of the horizon with a right triangle:

RRhsdθ

R is the radius of the planet and h is our height above the ground. We'd like to know either the ground distance to the horizon (s) or the sight distance (d). Where R is much larger than h, s and d should be pretty close. Here we'll just find d, since all we need is the Pythagorean theorem.

StartLayout 1st Row 1st Column upper R squared plus d squared 2nd Column equals left-parenthesis upper R plus h right-parenthesis squared 2nd Row 1st Column Blank 2nd Column equals upper R squared plus 2 upper R h plus h squared 3rd Row 1st Column d squared 2nd Column equals 2 upper R h plus h squared 4th Row 1st Column d 2nd Column equals StartRoot 2 upper R h plus h squared EndRoot EndLayout

This is the exact formula, however for most terrestrial uses R is orders of magnitude larger than h. For example, Earth's average radius is 3958.8 miles, and Mount Everest is 29,032 feet high, meaning Everest is only 0.14% the radius of the Earth. We can make this clearer in the equation above by factoring out a 2Rh:

StartLayout 1st Row 1st Column d 2nd Column equals StartRoot 2 upper R h left-parenthesis 1 plus StartFraction h Over 2 upper R EndFraction right-parenthesis EndRoot 2nd Row 1st Column Blank 2nd Column almost-equals StartRoot 2 upper R h EndRoot EndLayout

Since evelations and altitudes are usually given in feet (or meters), but we don't need the same precision for how far we can see. Given a height in feet, we're only curious how many miles (or kilometers) we can see. Taking R in miles, we can convert it to feet, do the calculation, then divide by feet per mile to get an answer in miles:

StartLayout 1st Row 1st Column d Subscript m i l e s 2nd Column almost-equals StartFraction StartRoot 2 dot 5280 dot upper R Subscript m i l e s Baseline dot h Subscript f e e t Baseline EndRoot Over 5280 EndFraction EndLayout
StartLayout 1st Row 1st Column d Subscript k i l o m e t e r s 2nd Column almost-equals StartFraction StartRoot 2 dot 1000 dot upper R Subscript k i l o m e t e r s Baseline dot h Subscript m e t e r s Baseline EndRoot Over 1000 EndFraction EndLayout

On Earth, these simplify to

StartLayout 1st Row 1st Column d Subscript m i l e s 2nd Column almost-equals StartFraction StartRoot 2 dot 5280 dot 3958.8 dot h Subscript f e e t Baseline EndRoot Over 5280 EndFraction 2nd Row 1st Column Blank 2nd Column equals StartFraction StartRoot 2 dot 5280 dot 3958.8 EndRoot Over 5280 EndFraction StartRoot h Subscript f e e t Baseline EndRoot 3rd Row 1st Column Blank 2nd Column equals 1.22 StartRoot h Subscript f e e t Baseline EndRoot EndLayout
StartLayout 1st Row 1st Column d Subscript k i l o m e t e r s 2nd Column almost-equals StartFraction StartRoot 2 dot 1000 dot 6371 dot h Subscript m e t e r s Baseline EndRoot Over 1000 EndFraction 2nd Row 1st Column Blank 2nd Column equals StartFraction StartRoot 2 dot 1000 dot 6371 EndRoot Over 1000 EndFraction StartRoot h Subscript m e t e r s Baseline EndRoot 3rd Row 1st Column Blank 2nd Column equals 3.57 StartRoot h Subscript m e t e r s Baseline EndRoot EndLayout