To derive the formula for the orthographic projection method, we need some linear algebra. In our example, Figure 3(b), the line of sight from the scene to the eye at infinity has direction vector . For convenience, we let be the spherical coordinates of the point , and we let . As we might expect, the formula for the projection turns out to depend only on the angles and and not on the magnitude of .
Orthographic projection, unlike perspective projection, can be treated as a linear transformation -- it's the orthogonal projection T from to whose image is the plane given by . Perhaps the clearest way to derive the formula for the projection is to find an orthonormal basis for such that the first two vectors span the plane . To begin, let denote the usual basis for , and define
which is a unit vector normal to the plane . Next (assuming is not parallel to ), we take
This is a unit vector orthogonal to , therefore is in the subspace . Finally, letting
we get an orthonormal basis for . Now for any vector v, the orthogonal projection is given by , because this map sends to zero and leaves fixed any vector in the subspace . In terms of , we have
and the coefficients C1 and C2 coordinatize .
The final step is to connect this result with the pixels of the output image. Just as we did with the perspective method, we estimate bounds for the calculated components of corresponding to points of the three-dimensional object -- let's say and for all points of the object. Then and yield appropriate row and column indices for an output image, and the size of the image can be taken to be rows and columns.
This procedure has been implemented in the MATLAB program orthographic.m.