$R = $$ \cdot m = $ Earth radius.
$\Delta r = $$ \cdot m = $ viewing altitude above Earth surface.
$r = R + \Delta r = $ {{ view_alt_in_m + earth_radius_in_m }} = viewing distance from Earth center.
Viewer is at the origin.
Viewing down z axis.
Sphere is distance $z$ away (along the $-z$ axis), and $R$ down beneath you (along the $-y$ axis), such that its north pole is directly in front of you at all times.
How does the profile of its surface change with respect to your distance?
So sphere's distance from the origin is $r = \sqrt{z^2 + R^2}$
So the altitude above the surface is $\Delta r = r - R = \sqrt{z^2 + R^2} - R$.
So the sphere distance as a function of the view altitude is: $z^2 = (\Delta r + R)^2 - R^2$,
i.e. $z = \sqrt{(\Delta r)^2 + 2 R \Delta r}$.
$z = $ {{ Math.sqrt( view_alt_in_m * ( view_alt_in_m + 2 * earth_radius_in_m )) }}
What's the profile of the sphere in the view?
i.e. what are all rays that intersect the sphere surface perpendicular to its origin?
$(r_0 + s v - c) \cdot v = 0$ (right angle)
$|r_0 + s v - c|^2 = R^2$ (sphere surface)
right angle:
$(r_0 + s v - c) \cdot v = 0$
$r_0 \cdot v + s v \cdot v - c \cdot v = 0$
$s |v|^2 = (c - r_0) \cdot v$
$s (1 + (tan(\theta))^2) = -R tan(\theta) + z cos(\phi)$
sphere surface:
$(s v - c) \cdot (s v - c) = R^2$
$s^2 v \cdot v - 2 s v \cdot c + c \cdot c = R^2$
$s^2 (1 + (tan(\theta))^2) - 2 s (-R tan(\theta) + z cos(\phi)) + R^2 + z^2 = R^2$
...substitute right angle results for s:
$s^2 (1 + (tan(\theta))^2) - 2 s^2 (1 + (tan(\theta))^2) + z^2 = 0$
$s = \pm z / \sqrt{1 + (tan(\theta))^2}$
...let's just use the positive parameter:
$s = z / \sqrt{1 + (tan(\theta))^2}$
...substitute back into ray equation:
$r_0 + s v$
$= z / \sqrt{1 + (tan(\theta))^2} [-sin(\phi), tan(\theta), -cos(\phi)]$
That's the point of intersection of ray with sphere.
What's its declination?
What is $\theta$ as a function of $\phi$ ?
$s (1 + (tan(\theta))^2) = -R tan(\theta) + z cos(\phi)$
$(1 + (tan(\theta))^2) z / \sqrt{1 + (tan(\theta))^2} = -R tan(\theta) + z cos(\phi)$
$\sqrt{1 + (tan(\theta))^2} = -(R / z) tan(\theta) + cos(\phi)$
$1 + (tan(\theta))^2 = (R / z)^2 (tan(\theta))^2 - 2 cos(\phi) (R / z) tan(\theta) + cos(\phi)^2$
$((R / z)^2 - 1) (tan(\theta))^2 - 2 cos(\phi) (R / z) tan(\theta) - sin(\phi)^2 = 0$
$tan(\theta) = \frac{1}{2 ((R / z)^2 - 1)} \left(
2 cos(\phi) (R / z) \pm \sqrt{
(2 cos(\phi) (R / z))^2
+ 4 ((R / z)^2 - 1) sin(\phi)^2
}
\right)$
$tan(\theta) = \frac{1}{2 ((R / z)^2 - 1)} \left(
2 cos(\phi) (R / z) \pm \sqrt{
4 cos(\phi)^2 (R / z)^2
+ 4 sin(\phi)^2 ((R / z)^2 - 1)
}
\right)$
$tan(\theta) = \frac{1}{(R / z)^2 - 1} \left(
cos(\phi) (R / z) \pm \sqrt{
cos(\phi)^2 (R / z)^2
+ sin(\phi)^2 ((R / z)^2 - 1)
}
\right)$
$tan(\theta) = \frac{1}{(R / z)^2 - 1} \left(
cos(\phi) (R / z) \pm \sqrt{
(R / z)^2 - sin(\phi)^2
}
\right)$
$tan(\theta) = \frac{R / z}{(R / z)^2 - 1} \left(
cos(\phi) \pm \sqrt{
1 - sin(\phi)^2 / (R / z)^2
}
\right)$
$tan(\theta) = \frac{1}{R / z - z / R}
\left(
cos(\phi) \pm \sqrt{
1 - (sin(\phi) z / R)^2
}
\right)$
$\theta = atan\left(
\frac{1}{R / z - z / R}
\left(
cos(\phi) \pm \sqrt{
1 - (sin(\phi) z / R)^2
}
\right)
\right)$
For an altitude of 1.5 m we get ...
...a declination angle of just 0.03 degrees.
For an altitude of 10,000 m we get ...
...a declination angle of just 3 degrees.
For an altitude of 1/3 Earth radii we get ...
...a declination angle of down to 60 degrees.
For an altitude of 3x Earth radii we get ...
... the ability to finally see a distinct circle beneath us.