Windowing and Clipping

Perspective Projections

In the world of computer graphics we can produce very complicated scenes in 3D, but when we display these scenes, all mediums are 2D. Examples include: printers, display screens, plotters, and so on. There are basically two kinds of projections:

parallel projections - this technique involves casting a shadow onto the display device from a source that is infinitely far away.

perspective projections - mirror as close as possible the way the human eye works in that objects that are farther away appear smaller. Perspective projections preserve this property.

With perspective projections, we have a "center" which is assumed to be the point in front of the display screen. This center is specified in the same coordinate system that the description of the objects are specified in.

Note1: The display screen is assumed to be in the z=0 plane.

Note2: The object is specified such that it is positioned behind the display screen.

The geometry of a perspective projection is as follows:

d - is the distance of the center of projection from the plane z=0. Remember, z=0 is the display screen. Typically the distance, d, is given as a positive number.

Note1: The coordinates of the center of projection is: (0,0,-d).

Note2: If we project the point in object space onto the display screen, the projection is a straight line from the center to the point. We then need to find the intersection of this straight line with the display screen (z=0). That is, we want to find the point (xps,yps).

Since triangles OQ'P' and OQP are similar, this gives us the relation:


yps/d = y/(d+z)

xps/d = x/(d+z)

Therefore,

xps = (d*x)/(d+z)

yps = (d*y)/(d+z)

Discuss Figure 6.5 on page 165 and the difference between a perspective projection and a parallel projection. Another representation looks like the following:

Side view along x-axis:

A similar situation exists for a top view along the y-axis i.e. looking from the y-axis to the z-axis.


©1995 Douglas J. Ryan
Douglas J. Ryan/ryand@tardis.pacificu.edu