A line from the eye-point E to a general point P is the radius-vector R, given by
R = (P - E) t + E, #1
Where t is any real number.
A plane may be written at
(R - A) . n = 0, #2
where n is a unit normal to the plance and A is any reference point on the plane.
To find the perspective projection, set these R equal to each other:
(((P - E) t + E) - A) . n = 0. #3
Solve for t, to obtain
t = (A - E) . n / ((P - E) . n). #4
Substitute back into the equation (#1) for the line, to obtain
R = E + (P - E) (A - E) . n / ((P - E) . n). #5
Theorem: Parallel lines terminate at a common vanishing point.
Proof: A line through P in the direction V may be written as
P + V t, #6
where t is a real number.
Substitute it (#6) in place of P in the perspective equation (#5), to obtain
R = E + (P + V t - E) (A - E) . n / ((P + V t - E) . n). #7
Its limit, as t increases without bound, is the vanishing point
R = E + V (A - E) . n / (V . n), #8
which is independent of the point P. QED.
Corollary: A straight-line maps into a straight-line.
Proof: Form the box-product
(#7 - E) . (#5 - E) x (#8 - E) = (P + V t - E) . (P - E) x V s = 0, #9
where s is some scalar, whose value is immaterial.
The intersection of two planes is a straight-line. QED.
Alternative proof:
Since
(#7 - #8) = ((#7 - E) - (#8 - E)) = ((P + V t - E) - (V)) = ((P - E) + V (t - 1)), #10
we have
(#7 - #8) . (#5 - E) x (#8 - E) = ((P - E) + V (t - 1)) . (P - E) x V s = 0, #11
where s is some scalar, whose value is immaterial. QED.
Corollary: A polygon (spatial or planar) maps into a topologically homomorphic polygon.
Proof is obvious.
Theorem: A straight-line through the eye-point maps into a single point -- the vanishing point.
Proof: Substitute P = E into the equation #7, to obtain
R = E + (E + V t - E) (A - E) . n / ((E + V t - E) . n) = E + V (A - E) . n / (V . n). #12
QED.
Stereoscopic vision and photogrammetry depend upon the inversion of the perspective projection of a point into a
pair of planes via their respective eye-points.
This inversion is complicated by the inevitable observational errors.
It is obvious that the special case of a projection from a plane, which is parallel to the projection plane, onto that plane will induce a homogeneous isotropic mapping; i.e., one which maps any shape into a similar one. In particular, a circle will map into a circle. A plane through the eye-point will map into a straight-line. It is remarkable that there is another special case which provides a mapping that is both conformal and circle-preserving.
Stereographic projection is another name for perspective projection. However, in Cartography, the term "stereographic projection" refers to that special case of the projection from a sphere, sitting upright, with its south-pole at the eye-point and the plane of projection being the plane of the equator.
By the foregoing statement regarding parallel perspective, it is obvious that the parallels of latitude project as concentric circles. It also is obvious that the meridians of longitude project as the radial straight-lines, through the projection of the north-pole -- the common center of the aforementioned circles. These two families constitute an orthogonal net. Indeed, as will be shown later, this projection is conformal. The global distortion increases only gradually, as one departs from the north-pole. Shapes are reasonable well-preserved throughout the northern hemi-sphere. Furthermore, as also will be shown later, any spherical-circle projects onto a circle. Hence -- because of these two properties -- the popularity of this projection as a star-chart and the employment of this projection in the astrolabe.
The derivation for the equations of this projection follow:
Projection of a point on the sphere onto the equatorial plane.
Spherical coordinates of the point P are
The Cartesian coordinates of the same point P are
Consider the vector from the eye-point E = -rk at the south-pole to the given point P. It is (P - O) + (O - E) = P - E
R = (i x + j y + k z) - (- r k).
For it to project onto the equatorial plane, we have to have
t R . k = r.
Substitute, to obtain
t ((i x + j y + k z) + r k) . k = r.
It simplifies to
t (z + r) = r.
Substitute, to obtain
t (z + r) = r.
Solve for t, to obtain
t = 1 / (1 + z / r).
Now, the projection is P - O = (P - E) - (O - E) = (t R) - (O - (- r k)) =
t R - r k = ((i x + j y + k z) + r k) / (1 + z / r) - r k =
= (i x + j y) / (1 + z / r) =
= r (i (cos(theta) + j (sin(theta)) cos(phi) / (1 + sin(phi)) =
= r (i (cos(theta) + j (sin(theta)) tan((pi / 2 - phi) / 2) =
= .r (i (cos(theta) + j (sin(theta)) tan(co-phi / 2).
We have made use of the half-angle formula for the tangent function. As required to be a projection *onto* the equator, the k component is zero. The angle (pi / 2 - phi) is the co-latitude. We have obtained half of the co-latitude, thereby proving the
Corollary: Each central angle of a circle is twice the corresponding vertical angle (that is, on the circumference of the circle).
which was proven in an entirely different manner elsewhere.
Azimuth-altitude. Consider the view from a point on the prime-meridian of longitude and at the latitude phi. Let the azimuth be alpha and the altitude (elevation) be beta. Then the half-angle of the cone is the complement of the altitude, namely pi / 2 - beta. Thus the coordinates of this point P are
From the previous derivation, we know that the projection is (i x + j y) / (1 + z / r) =
= r (i (sin(beta) cos(phi) + cos(beta) cos(alpha) sin(phi)) + j (cos(beta) sin(alpha))) / (1 + (sin(beta) sin(phi) - cos(beta) cos(alpha) cos(phi)))
Sorry, it does not simplify. :-) Actually, it could be worse -- we have taken the longitude angle theta to be zero. Since there is an obvious rotational symmetry about the z-axis, there will be no loss of generality in the proofs which employ this expression, which has the theta equal to zero.
Here we consider the limit as the radius co-beta of the circle approaches zero. That is, as the angle beta approaches pi / 2.
Definition: A mapping is said to be conformal iff (= if and only if) it is isotropic and angle-preserving.
Theorem: This stereographic projection is conformal.
It was a great discovery that placing the eye-point at the south-pole results in a conformal projection, with the global distortion by the factor (2 / (1 + sin(phi))).
Proof: To establish that it indeed is a conformal mapping, we need to show that the limit, as beta approaches pi/2, of the derivative of
the foregoing expression, with respect to co-beta, is proportional to (i cos(alpha) + j sin(alpha)).
The derivative wrt (= with respect to) co-beta is minus that wrt beta. Thus, first, take minus the derivative wrt beta, to obtain
- r ((1 + sin(b) sin(p) - cos(b) cos(a) cos(p)) (i (cos(b) cos(p) - sin(b) cos(a) sin(p)) - j sin(b) sin(a)) - (i (sin(b) cos(p) + cos(b) cos(a) sin(p)) + j cos(b) sin(a)) (cos(b) sin(p) + sin(b) cos(a) cos(p))) / (1 + sin(b) sin(p) - cos(b) cos(a) cos(p))^2.
For brevity, we have employed a, b, and p for alpha, beta, and phi, respectively. Then, find the limit, as beta approaches pi/2 -- that is, as the radius of the circle approaches zero --, to obtain
- r ((1 + sin(p)) (- i cos(a) sin(p) - j sin(a)) - (i cos(p) cos(a) cos(p)) / (1 + sin(p))^2 =
= - r (1 + sin(p)) (- i cos(a) - j sin(a)) / (1 + sin(p))^2 =
= r (i cos(alspha) + j sin(alpha)) / (1 + sin(phi)).
QED.
A circle projects onto a circle; however, for almost-all circles, the individual points on the circumference do not project to the same angular-position. Before we can prove this theorem, we need some preliminaries. The foregoing azimuth-altitude equations describe a spherical-circle of spherical-radius co-beta, with a point traveling at the angle alpha. Implicitly, it already answers the question. Just employ the equations to map the circle point-by-point. For mapping the whole circle, there is a short-cut, though. Let us see what we may accomplish.
The actual center of the projected circle is easy enough to locate. By symmetry, the points alpha=0 and alpha=pi are at the ends of its
diameter. Let us find these points.
The point at alpha=0 maps to
= r i (sin(phi) cos(beta) + cos(phi) sin(beta)) / (1 - (cos(phi) cos(beta) - sin(phi) sin(beta))) =
= r i sin(phi + beta) / (1 - cos(phi + beta)) = r i cot((phi + beta) / 2),
where we have employed the addition theorems for the sine and cosine functions and the half-angle formula for the cotangent function. The point at alpha=pi maps to
= - r i (sin(phi) cos(beta) - cos(phi) sin(beta)) / (1 + (cos(phi) cos(beta) + sin(phi) sin(beta))) =
= - r i sin(phi - beta) / (1 + cos(phi - beta)) = - r i tan((phi - beta) / 2).
Since -- as stated -- these are end-points of a diameter, half of their sum is the center of the circle, namely
half sum = (r i / 2) (cot((phi + beta) / 2) - tan((phi - beta) / 2)) =
= (r i / 2) (cos((phi + beta) / 2) / sin((phi + beta) / 2) - sin((phi - beta) / 2)) / cos((phi - beta) / 2))) =
= (r i / 2) (cos((phi + beta) / 2) cos((phi - beta) / 2) - sin((phi + beta) / 2) sin((phi - beta) / 2)) / (sin((phi + beta) / 2) cos((phi - beta) /
2)) =
= r i cos(phi) / (sin(phi) + sin(beta)).
where we have made use of the addition theorems for the sine and cosine functions. And half of their difference is the radius of the circle, namely
half diff = (r i / 2) (cot((phi + beta) / 2) + tan((phi - beta) / 2)) =
= (r i / 2) (cos((phi + beta) / 2) / sin((phi + beta) / 2) + sin((phi - beta) / 2)) / cos((phi - beta) / 2))) =
= (r i / 2) (cos((phi + beta) / 2) cos((phi - beta) / 2) + sin((phi + beta) / 2) sin((phi - beta) / 2)) / (sin((phi + beta) / 2) cos((phi - beta) /
2)) =
= r i cos(beta) / (sin(phi) + sin(beta)),
where again we have made use of the addition theorems for the sine and cosine functions. The radius -- of course -- would not have the unit vector i as a factor.
Theorem: Any spherical-circle maps onto a circle. Observe that a circle through the south-pole maps into a
straight-line, which is a circle through the point at infinity.
Proof: This theorem may be established by showing that the square of the following expression is one. Again, for brevity, we will
employ a, b, and p for alpha, beta, and phi, respectively. This expression is
((equation of circle) - (center of circle)) / (radius of circle) =
= ((r (i (cos(p) sin(b) + sin(p) cos(b) cos(a)) + j (cos(b) sin(a))) / (1 + ( sin(p)sin(b) - cos(p) cos(b) cos(a)))) - (r i cos(p) / (sin(p) +
sin(b)))) / (r cos(b) / (sin(p) + sin(b)) =
= (i ((cos(p) sin(b) + sin(p) cos(b) cos(a)) (sin(p) + sin(b)) - (1 + (sin(p) sin(b) - cos(p) cos(b) cos(a)) cos(p)) + j cos(b) sin(a) (sin(p) +
sin(b))) / (1 + ( sin(p)sin(b) - cos(p) cos(b) cos(a))) =
= (i ((cos(p) sin(b) (sin(p) + sin(b)) - (1 + sin(p) sin(b)) cos(p)) + (sin(p) cos(b) (sin(p) + sin(b)) + cos(p) cos(b) cos(p)) cos(a)) + j cos(b)
(sin(p) + sin(b))) sin(a)) / ((1 + ( sin(p)sin(b) - cos(p) cos(b) cos(a)))) cos(b)) =
= (i (- cos(p) cos(b) + (1 + sin(p) sin(b)) cos(a)) + j (sin(p) + sin(b)) sin(a)) / (1 + sin(p) sin(b) - cos(p) cos(b) cos(a)).
where we have employed the identity to convert each occurrence of the square of the sine to that of the cosine. Finally, we have to square it, subtract one, and show that the result is zero. Hint: employ the identity to convert each occurrence of the square of the sine to that of the cosine.
(foregoing)^2 - 1 =
= ((coefficient of i)^2 + (coefficient of j)^2 - (denominator)^2) / (denominator)^2 =
= ((- cos(p) cos(b) + (1 + sin(p) sin(b)) cos(a))^2 + ((sin(p) + sin(b)) sin(a))^2 - (1 + sin(p) sin(b) - cos(p) cos(b) cos(a))^2 / d^2 =
= (((cos(p) cos(b))^2 - (1 + sin(p) sin(b))^2)
- 2 (cos(p) cos(b) (1 + sin(p) sin(b)) - (1 + sin(p) sin(b)) cos(p) cos(b)) cos(a)
+ ((1 + sin(p) sin(b))^2 - (cos(p) cos(b)))^2) (cos(a))^2 + (sin(p) + sin(b))^2 (sin(a))^2) / d^2 =
= (((cos(p) cos(b))^2 - (1 + sin(p) sin(b))^2 + (sin(p) + sin(b))^2)
- 0 cos(a)
+ ((1 + sin(p) sin(b))^2 - (1 + sin(p) sin(b))^2 (cos(p) cos(b))^2 - (sin(p) + sin(b))^2) (cos(a))^2) / d^2 =
= (((cos(p) cos(b))^2 - (1 + 2 sin(p) sin(b) + (sin(p) sin(b))^2) + ((sin(p))^2 + 2 sin(p) sin(b) + (sin(b))^2))
- 0 cos(a)
+((1 + sin(p) sin(b))^2 - (cos(p) cos(b))^2 - (sin(p) + sin(b))^2) (cos(a))^2)) / d^2 =
= (0 - 0 cos(a) + 0 (cos(a))^2) / d^2 =
= 0.
QED.
Observe that the denominator d is zero iff (= if and only if) the original point is at the south-pole, which projects to the point at
infinity. Furthermore, it is the only point that does so.
Definition: A fan is a family of planes through a given straight-line. Consider a fan through a given straight-line, tangent to the sphere at its south-pole. Each of the planes intersects the sphere in a circle and intersects the plane of projection is a straight-line, which is a circle through the point at infinity. These straight-lines form a family, each member of which is parallel to the given straight-line. Thus, elements of this family are parallel to each other, as well.
The spherical-center of this circle may be obtained by taking beta=pi/2 in the foregoing equations. Thus, this center is
It maps to
= r i cos(phi) / (1 + sin(phi)) = r i tan((pi / 2 - phi) / 2) = r i tan(co-phi / 2),
where we have made use of the half-angle formula for the tangent. Caution: this is not the center of the projected circle.
The antipodal point (the point at the other end of the diameter of the sphere; that is, through the center of the sphere) may be obtained by replacing phi with phi+pi, to yield the antipodal point as
which maps to
= - r i cos(phi) / (1 - sin(phi)) = - r i cot((pi / 2 - phi) / 2) = - r i cot(co-phi / 2),
Half their sum is
half sum = (r i / 2) cos(phi) (1 / (1 + ain(phi) - 1 / (1 - sin(phi))) =
= - r i cos(phi) sin(phi) / (1 - (sin(phi))^2) =
= - r i tan(phi),
where we have employed the identity formula. And half their difference is
half diff = (r i / 2) cos(phi) (1 / (1 + ain(phi) + 1 / (1 - sin(phi))) =
= r i cos(phi) / (1 - (sin(phi))^2) =
= r i sec(phi),
where, again, we have employed the identity formula. At the vantage-point, given by the latitude phi, a great-circle of azimuth is tangent to the azimuth-direction alpha; thus, giving us two points on the circle. On the sphere, this great-circle passes through the antipodal point. Hence, so must the projected circle pass through the projection of the antipodal point; thus, giving us a third point on the circle. Its center must lie on the perpendicular-bisector of the straight-line joining the given vantage-point and its antipodal point. Now, we have the obvious
Theorem: The center of the projection of the azimuth circle is at r (- i tan(phi) + j sec(phi)) tan(alpha) and its radius is radius = r sec(phi) sec(alpha).
As any circle, a spherical-circle lies in a plane. The center in this plane, has the foregoing coordinates multiplied by sin(beta); that is, the coordinates are
It maps (remember the projection is (i x + j y) / (1 + z / r) ) to
= r i cos(phi) sin(beta) / (1 + sin(phi) sin(beta)).
This expression does not simplify. Again, caution: this is not the center of the projected circle.
Copyright (c) 2000 by R.I.'Scibor-Marchocki. Last modified on Thursday 31-st August 2000.