Projections

Download as pdf or txt
Download as pdf or txt
You are on page 1of 35

Projections

Reading
Angel. Chapter 5

Optional
David F. Rogers and J. Alan Adams, Mathematical Elements for Computer
Graphics, Second edition, McGraw-Hill, New York, 1990, Chapter 3.
The 3D synthetic camera model

The synthetic camera model involves two components,


specified independently:
w objects (a.k.a. geometry)
w viewer (a.k.a. camera)
Imaging with the synthetic camera

The image is rendered onto an image plane or projection plane (usually


in front of the camera).

Projectors emanate from the center of projection (COP) at the center of


the lens (or pinhole).

The image of an object point P is at the intersection of the projector


through P and the image plane.
Specifying a viewer

Camera specification requires four kinds of parameters:


w Position: the COP.
w Orientation: rotations about axes with origin at the COP.
w Focal length: determines the size of the image on the film plane, or
the field of view.
w Film plane: its width and height, and possibly orientation.
3D Geometry Pipeline
Projections
Projections transform points in n-space to m-space, where m < n.

In 3D, we map points from 3-space to the projection plane (PP) along
projectors emanating from the center of projection (COP).

PP

COP

There are two basic types of projections:


w Perspective - distance from COP to PP finite
w Parallel - distance from COP to PP infinite
Parallel and Perspective Projection
Perspective vs. parallel projections
Perspective projections pros and cons:
+ Size varies inversely with distance - looks realistic
– Distance and angles are not (in general) preserved
– Parallel lines do not (in general) remain parallel

Parallel projection pros and cons:


– Less realistic looking
+ Good for exact measurements
+ Parallel lines remain parallel
– Angles not (in general) preserved
Parallel projections
For parallel projections, we specify a direction of projection
(DOP) instead of a COP.

There are two types of parallel projections:


w Orthographic projection — DOP perpendicular to PP
w Oblique projection — DOP not perpendicular to PP
Orthographic Projections
Orthographic transformation
For parallel projections, we specify a direction of projection
(DOP) instead of a COP.

We can write orthographic projection onto the z=0 plane with


a simple matrix.

⎡ x ⎤
⎡ x '⎤ ⎡ 1 0 0 0 ⎤ ⎢ ⎥
⎢ y '⎥ = ⎢0 1 0 0 ⎥ ⎢ y ⎥
⎢ ⎥ ⎢ ⎥ ⎢ z ⎥
⎢⎣1 ⎥⎦ ⎢⎣0 0 0 1⎥⎦ ⎢ ⎥
⎣1 ⎦

Normally, we do not drop the z value right away. Why not?


Oblique Projections
Oblique projections
Two standard oblique projections:
w Cavalier projection
DOP makes 45 angle with PP
Does not foreshorten lines perpendicular to PP
w Cabinet projection
DOP makes 63.4 angle with PP
Foreshortens lines perpendicular to PP by one-half
Projection taxonomy
Properties of projections
The perspective projection is an example of a projective
transformation.

Here are some properties of projective transformations:


w Lines map to lines
w Parallel lines don’t necessarily remain parallel
w Ratios are not preserved
A typical eye space

w Eye
• Acts as the COP
• Placed at the origin
• Looks down the z-axis
w Screen
• Lies in the PP
• Perpendicular to z-axis
• At distance d from the eye
• Centered on z-axis, with radius s

Q: Which objects are visible?


Eye space è screen space
Q: How do we perform the perspective projection from eye
space into screen space?

x (x,y,z)
xʹ′
Using similar triangles gives:

z
d
Eye space è screen space, cont.
We can write this transformation in matrix form:
⎡ X ⎤ ⎡1 0 0 0 ⎤ ⎡ x ⎤ ⎡ x ⎤
⎢ Y ⎥ ⎢0 1 0 0 ⎥ ⎢ y ⎥ ⎢ y ⎥
⎢ ⎥ = MP = ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥
⎢ Z ⎥ ⎢0 0 1 0 ⎥ ⎢ z ⎥ ⎢ z ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
W
⎣ ⎦ ⎣ 0 0 1/ d 0 1
⎦ ⎣ ⎦ ⎣ z / d ⎦

Perspective divide:
⎡ x ⎤
⎡ X / W ⎤ ⎢ z / d ⎥
⎢ Y / W ⎥ ⎢ y ⎥
⎢ ⎥ = ⎢ ⎥
⎢ Z / W ⎥ ⎢ z / d ⎥
⎢ ⎥ ⎢ d ⎥
⎣W / W ⎦ ⎢ ⎥
⎢⎣ 1 ⎥⎦
Projective Normalization
After perspective transformation and perspective divide, we
apply parallel projection (drop the z) to get a 2D image.
Perspective depth
Q: What did our perspective projection do to z?

Often, it’s useful to have a z around — e.g., for hidden


surface calculations.
Vanishing points
Under perspective projections, any set of parallel lines that
are not parallel to the PP will converge to a vanishing point.

Vanishing points of lines parallel to a principal axis x, y, or z


are called principal vanishing points.

How many of these can there be?


Vanishing points
The equation for a line is:

⎡ p x ⎤ ⎡v x ⎤
⎢ p ⎥ ⎢v ⎥
y y
l = p + tv = ⎢ ⎥ + t ⎢ ⎥
⎢ p z ⎥ ⎢ v z ⎥
⎢ ⎥ ⎢ ⎥
⎣ 1 ⎦ ⎣ 0 ⎦
After perspective transformation we get:

⎡ x ' ⎤ ⎡ p x + tv x ⎤
⎢ y ' ⎥ = ⎢ p + tv ⎥
⎢ ⎥ ⎢ y y ⎥
⎢⎣w '⎥⎦ ⎢⎣ −( p z + tv z )/ d ⎥⎦
Vanishing points (cont'd)
⎡ px + tvx ⎤
Dividing by w: ⎢ − p d ⎥
z + tvz
⎡ ⎤x ' ⎢ ⎥
⎢ y ' ⎥ = ⎢ − p y + tv y ⎥
d ⎥
⎢ ⎥ ⎢ p + tvz ⎥
z
⎢⎣ w '⎥⎦ ⎢
⎢ 1 ⎥ ⎡ vx ⎤
⎢
⎢⎣
⎥
⎥⎦ ⎢ − v d ⎥
⎢ z ⎥
Letting t go to infinity: ⎡ ⎤x '
⎢ ⎥ ⎢ v y ⎥
limt →∞ ⎢ y ' ⎥ = ⎢ − d ⎥
⎢ vz ⎥
⎢⎣ w '⎥⎦
We get a point! ⎢ 1 ⎥
⎢ ⎥
What happens to the line l = q + tv? ⎢⎣ ⎥⎦
Each set of parallel lines intersect at a vanishing point on the PP.

Q: How many vanishing points are there?


Vanishing Points
Types of perspective drawing
If we define a set of principal axes in world coordinates, i.e.,
the xw, yw, and zw axes, then it's possible to choose the
viewpoint such that these axes will converge to different
vanishing points.

The vanishing points of the principal axes are called the


principal vanishing points.

Perspective drawings are often classified by the number of


principal vanishing points.
w One-point perspective — simplest to draw
w Two-point perspective — gives better impression of depth
w Three-point perspective — most difficult to draw

All three types are equally simple with computer graphics.


General perspective projection
In general, the matrix
⎡ 1 ⎤
⎢ 1 ⎥
⎢ ⎥
⎢ 1 ⎥
⎢ ⎥
⎣ p q r s ⎦

performs a perspective projection into the plane


px + qy + rz + s = 1.

Q: Suppose we have a cube C whose edges are aligned with


the principal axes. Which matrices give drawings of C with
w one-point perspective?
w two-point perspective?
w three-point perspective?
General Projections

Suppose you have a camera with COP c, and x,


y, and z axes are unit vectors i, j and k
respectively. How do we compute the
projection?
World Space Camera
Hither and yon planes
In order to preserve depth, we set up two planes:
w The hither (near) plane
w The yon (far) plane
Projection taxonomy
Summary
Here’s what you should take home from this lecture:
w The classification of different types of projections.
w The concepts of vanishing points and one-, two-, and three-point
perspective.
w An appreciation for the various coordinate systems used in computer
graphics.
w How the perspective transformation works.

You might also like