0% found this document useful (0 votes)
14 views

Computer Graphics and Visualization SSE, Mukka

The document discusses classical and computer graphics viewing techniques. It introduces classical views based on objects, viewers, and projectors. Planar geometric projections are described as projecting onto a plane, preserving lines but not necessarily angles. Perspective and parallel projections are compared. Various types of projections are defined, including orthographic, multiview orthographic, axonometric, oblique, and perspective projections. Computer viewing implements these projections using matrices to position the camera and select a projection. Projections are normalized for use in the graphics pipeline.

Uploaded by

powe2aj
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Computer Graphics and Visualization SSE, Mukka

The document discusses classical and computer graphics viewing techniques. It introduces classical views based on objects, viewers, and projectors. Planar geometric projections are described as projecting onto a plane, preserving lines but not necessarily angles. Perspective and parallel projections are compared. Various types of projections are defined, including orthographic, multiview orthographic, axonometric, oblique, and perspective projections. Computer viewing implements these projections using matrices to position the camera and select a projection. Projections are normalized for use in the graphics pipeline.

Uploaded by

powe2aj
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 44

Chapter 6 Computer Graphics and Visualization SSE, Mukka

Classical Viewing

Introduce the classical views Compare and contrast image formation by computer with how images have been formed by architects, artists, and engineers Learn the benefits and drawbacks of each type of view

Classical Viewing Viewing requires three basic elements


One or more objects A viewer with a projection surface Projectors that go from the object(s) to the projection surface

Classical views are based on the relationship among these elements


The viewer picks up the object and orients it how she would like to see it

Each object is assumed to constructed from flat principal faces


Buildings, polyhedra, manufactured objects
3

Planar Geometric Projections


Standard projections project onto a plane Projectors are lines that either
converge at a center of projection are parallel

Such projections preserve lines


but not necessarily angles

Nonplanar projections are needed for applications such as map construction


4

Classical Projections

Perspective vs Parallel
Computer graphics treats all projections the same and implements them with a single pipeline Classical viewing developed different techniques for drawing each type of projection Fundamental distinction is between parallel and perspective viewing even though mathematically parallel viewing is the limit of perspective viewing

Taxonomy of Planar Geometric Projections


planar geometric projections

parallel

perspective

multiview orthographic

axonometric

1 point oblique

2 point

3 point

isometric 7

dimetric

trimetric

Perspective Projection

Parallel Projection

10

Orthographic Projection Projectors are orthogonal to projection surface

11

Multiview Orthographic Projection


Projection plane parallel to principal face
isometric (not multiview orthographic view) front

Usually form front, top, side views


in CAD and architecture, we often display three multiviews plus isometric side top 12

Advantages and Disadvantages


Preserves both distances and angles
Shapes preserved Can be used for measurements

Building plans Manuals Cannot see what object really looks like because many surfaces hidden from view
Often we add the isometric

13

Axonometric Projections Allow projection plane to move relative to object


classify by how many angles of a corner of a projected cube are the same

none: trimetric two: dimetric three: isometric

q1
q2 q3

14

Axonometric Projections
The distinguishing feature of axonometric projection is the inclined position of the object with respect to the plane of projection.
The axonometric axis is the intersection of the three edges of the cube at the corner (O). Axonometric projections are classified as isometric projection (a), dimetric projection (b), and trimetric projection (c).

15

Types of Axonometric Projections

16

Lines are scaled (foreshortened) but can find scaling factors Lines preserved but angles are not Can see three principal faces of a box-like object Some optical illusions possible
Parallel lines appear to diverge

Advantages and Disadvantages

Projection of a circle in a plane not parallel to the projection plane is an ellipse

Does not look real because far objects are scaled the same as near objects Used in CAD applications
17

Oblique Projection
Arbitrary relationship between projectors and projection plane

18

Advantages and Disadvantages


Can pick the angles to emphasize a particular face
Architecture: plan oblique, elevation oblique

Angles in faces parallel to projection plane are preserved while we can still see around side

In physical world, cannot create with simple camera; possible with bellows camera or 19 special lens (architectural)

Perspective Projection
Projectors coverge at center of projection

20

Vanishing Points
Parallel lines (not parallel to the projection plan) on the object converge at a single point in the projection (the vanishing point) Drawing simple perspectives by hand uses these vanishing point(s)
vanishing point

21

Three-Point Perspective
No principal face parallel to projection plane Three vanishing points for cube

22

Two-Point Perspective On principal direction parallel to projection


plane Two vanishing points for cube

23

One-Point Perspective
One principal face parallel to projection plane One vanishing point for cube

24

Advantages and Disadvantages


Objects further from viewer are projected smaller than the same sized objects closer to the viewer (diminution)
Looks realistic

Equal distances along a line are not projected into equal distances (nonuniform foreshortening) Angles preserved only in planes parallel to the projection plane More difficult to construct by hand than parallel projections (but not more difficult by computer)
25

Computer Viewing
There are three aspects of the viewing process, all of which are implemented in the pipeline,
Positioning the camera

Setting the model-view matrix


Selecting a lens

Setting the projection matrix


Clipping

Setting the view volume


26

The OpenGL Camera


In OpenGL, initially the object and camera frames are the same
Default model-view matrix is an identity

The camera is located at origin and points in the negative z direction OpenGL also specifies a default view volume that is a cube with sides of length 2 centered at the origin
Default projection matrix is an identity

27

Default Projection

Default projection is orthogonal


clipped out 2

z=0

28

Moving the Camera Frame


If we want to visualize object with both positive and negative z values we can either
Move the camera in the positive z direction

Translate the camera frame


Move the objects in the negative z direction

Translate the world frame Both of these views are equivalent and are determined by the model-view matrix
Want a translation (glTranslatef(0.0,0.0,-d);) d > 0
29

Moving Camera back from Origin

frames after translation by d d>0

default frames

30

Moving the Camera

We can move the camera to any desired position by a sequence of rotations and translations Example: side view
Rotate the camera Move it away from origin Model-view matrix C = TR

31

OpenGL code
Remember that last transformation specified is first to be applied
glMatrixMode(GL_MODELVIEW) glLoadIdentity(); glTranslatef(0.0, 0.0, -d); glRotatef(90.0, 0.0, 1.0, 0.0);

32

The LookAt Function


The GLU library contains the function gluLookAt to form the required modelview matrix through a simple interface Note the need for setting an up direction Still need to initialize
Can concatenate with modeling transformations

glMatrixMode(GL_MODELVIEW): glLoadIdentity(); gluLookAt(1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0., 1.0. 0.0);
33

Example: isometric view of cube aligned with axes

gluLookAt
glLookAt(eyex, eyey, eyez, atx, aty, atz, upx, upy, upz)

34

Other Viewing APIs

The LookAt function is only one possible API for positioning the camera Others include
View reference point, view plane normal, view up (PHIGS, GKS-3D) Yaw, pitch, roll Elevation, azimuth, twist Direction angles

35

Projections and Normalization


The default projection in the eye (camera) frame is orthogonal For points within the default view volume
xp = x yp = y systemszuse p = 0 view

Most graphics

normalization

All other views are converted to the default view by transformations that determine the projection matrix Allows use of the same pipeline for all views

36

Homogeneous Coordinate Representation


default orthographic projection

xp = x yp = y zp = 0 wp = 1
M=

pp = Mp

1 0 0 0

0 0 0 1 0 0 0 0 0 0 0 1

In practice, we can let M = I and set the z term to zero later 37

Simple Perspective

Center of projection at the origin Projection plane z = d, d < 0

38

Perspective Equations
Consider top and side views

x z/d

xp = 39

x z/d

yp =

y z/d

zp = d

Homogeneous Coordinate Form


consider q = Mp where

M=

1 0 0 0

0 1 0

0 0 1

0 1/ d

0 0 0 0

q=

40

x y z 1

p=

x y z z / d

Perspective Division
However w 1, so we must divide by w to return from homogeneous coordinates This perspective division yields
xp =

x z/d

yp =

y z/d

zp = d

the desired perspective equations We will consider the corresponding clipping volume with the OpenGL functions

41

OpenGL Orthogonal Viewing


glOrtho(left,right,bottom,top,near,far)

near and far measured from camera


42

OpenGL Perspective
glFrustum(left,right,bottom,top,near,far)

43

Using Field of View


With glFrustum it is often difficult to get the desired view

gluPerpective(fovy, aspect, near, far) often provides a better interface


front plane

aspect = w/h

44

You might also like