Camera. Content Coordinate systems and transformations Viewing coordinates Coordinate transformation...

Preview:

Citation preview

Camera

Content

• Coordinate systems and transformations

• Viewing coordinates

• Coordinate transformation matrix

• Projections

• Window and viewport

Acknowledgments: To Alex García-Alonso who provided material for these slides (http://www.sc.ehu.es/ccwgamoa/clases)

Projection

• We want to project the 3D space into a plane

• Definition of camera and projection with geometric transformations of the coordinate systems

Coordinate systems and transformations

• Modeling coordinates (local)Modeling transformation

• World coordinates (world)Viewing transformation

• Viewing coordinates (view)Projection transformation

• Device coordinates (screen)

World coordinates

• It unifies the coordinate systems of all the objects of the scene

• Animation is achieved with transformations along time

• Lights and cameras are defined in world coordinates

• The properties of the camera define the viewing coordinates

Viewing coordinates

• Camera, eye, view coordinates

• They are the coordinates in the camera system

• They are defined by position and orientation of the camera

• They can include the view volume

Definition of viewing reference frame

• It is defined with the parameters of the camera:

– View point– Direction of viewing– View-up vector V

• They define the three dimensional viewing-coordinate frame

Elements of the viewing coordinate frame

• Point C and UVN vectors– C is the view point– N is the direction of

viewing– V is the view-up

vector (Y axis on the plane)

– U is normal to N and V (X axis on plane)

V

C

xw

yw

zw

UN

. A

Rotation transformation

• The transfomation matrix is formed with the unit vectors UVN in world coordinates as rows

),,( 321 nnnN

Nn

),,( 321 uuu

NV

NVu

),,( 321 vvv unvHearn & Baker, 12-2

. A

V

C

UN

Transformation matrix to viewing coordinates

• Composition of translation and rotation

• Tview = R • T

• It is a left-handed system (X axis to the left)1 0 0 -Cx

0 1 0 -Cy

T = 0 0 1 -Cz

0 0 0 1

ux uy uz 0

vx vy vz 0

R = nx ny nz 0

0 0 0 1

Types of projections

• Parallel projection– orthogonal– oblique (projection not perpendicular to the

view plane)

• Perspective projection

Parallel projection

• Orthogonal projection in view coordinates: the z coordinate is eliminated

1 0 0 0

0 1 0 0

T = 0 0 0 0

0 0 0 1

Perspective projection

Man Drawing a Lute, Woodcut, 1525, Albrecht Dürer. http://www.usc.edu/schools/annenberg/asc/projects/comm544/library/images/626.jpg

Features of perspective projection

• More real: it is the projection that happens in the eye and in a camera

• Parallel lines in the scene converge in a vanishing point

• The quantity of vanishing points is defined by the quantity of parallel lines that intersect with the projection plane

Transformations of the perspective projection

z

y (yv, zv).. ys

d

dz

yy

d

y

z

y

v

vs

s

v

v

X 1 0 0 0 xv

Y 0 1 0 0 yv

Z 0 0 1 0 zv

w 0 0 1/d 1 1

w

Yys

w

Xxs

dw

Zzs

With a matrix expression:

Other issues

• Visualization volume– Sides of the pyramid

– Near plane and far plane (near and far)

• Hide back sides

• Np: normal of the polygon, N: vector of visualization

d

zhx vx

v d

zhy vy

v

nzv fzv

0 NN p

Camera movements

• Of the camera position– Around the camera axis– Around the scene axis

• Of the point of attention

• Simultaneous of both

• Object in hand

• Walking and flying

Airplane analogy

• Rotation around X: Pitch (cabeceo)

• Rotation around Y: Yaw (giro)

• Rotation around Z: Roll (balanceo)

http://liftoff.msfc.nasa.gov/academy/rocket_sci/shuttle/attitude/pyr.html

Cosmoplayer controls

Movement controls

Examine controls

Windows of presentation

• Object Window

• The projection of the camera create 2 dimension coordinates

• The device coordinates are independent of the scene coordinates

• It is necessary to transfer from window coordinates to the device coordinates

Window and viewport

xwmin xwmax

ywmin

ywmax

Window rectangle

yvmin

yvmax

xvmin xvmax

Viewport rectangle

Screen image

+=

Image with distortion

Transformation to viewport

• To calculate the coordinates in viewport (xv, yv) of a point in window coordinates (xw, yw) (previously (xs, ys))

• The existing relations are:

minmax

min

minmax

min

xwxw

xwxw

xvxv

xvxv

minmax

min

minmax

min

ywyw

ywyw

yvyv

yvyv

yvmin

yvmax

xvmin xvmax

(xv, yv)

xwmin xwmax

ywmin

ywmax(xw, yw)

Issues about transformations

• Distortion, it is caused by the different rate of window and viewport– allow– Avoid through change in window or viewport

• Clipping– Cutting the segments and polygons that

intersect the window

Recommended