The visibility depends on several parameters, the most relevant is the altitude of the observer: the highest altitude, the farthest distance one can observe. With a bit of geometry and assuming Earth is a sphere of radius R
equal to 6371 km, we can derive the formula to estimate the distance D
to the horizon, knowing the altitude H
of the observer:
D ≃ √(2 h R)
for example:
This does not mean that one cannot observe anything behind that distance: an object at altiude h
can be seen, provided that the relation
D < 3.57 (√h + √H)
is satisfied. For example, the distance between el Teide and Pico de las Nieves is about 110 km.
110 < 3.57 * (√(1.949) + √(3715.)) = 220
The condition is satisfied (110 < 220).
They are several reasons why one cannot see objects (islands) located at shorter distances.
The shortest distance between Fuerteventura and Morocco is around 100 km (la Entallada lighthouse), but the absence of high peaks in this area prevents one from observing Africa from the Canary Islands.
The case of the Salvage Islands (Portugal) is different, as it is theoretically possible to see the Teide from the Pico da Atalaia (163 m), though it is not easy to find a photo that demonstrates it.