7
  CS475m - Computer Graphics Lecture 6 : Viewing CS475m: Lecture 6 Parag Chaudhuri Perspective Projection Image Plane or Projection Plane Object Projectors Centre of Projection CS475m: Lecture 6 Parag Chaudhuri Parallel Projection Image Plane or Projection Plane Object Projectors Centre of Projection? CS475m: Lecture 6 Parag Chaudhuri Parallel Projection Orthographic Projection Top View Side View Front View Multiviews (x=0, y=0 or z=0 or principal planes). True size or shape for lines. For projection on the z=0 plane we get the projection matrix as P z=0 = [ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 ] CS475m: Lecture 6 Parag Chaudhuri Parallel Projection Axonometric Projection Transform and then project using an orthographic projection such that at multiple adjacent faces are visible – better representation of a 3D object using 1 view. Face parallel to projection plane shows true shape and size. If     be the matrix formed by stacking up the unit vectors along the three axes, and     be the axonometric projection, then T.U=T. [ 1 0 0 0 1 0 0 0 1 1 1 1 ] = [ x x ' x y ' x z ' y x ' y y ' y z ' 0 0 0 1 1 1 ] T U CS475m: Lecture 6 Parag Chaudhuri Parallel Projection Axonometric Projection If     be the matrix formed by stacking up the unit vectors along the three axes, and     be the axonometric projection, then T.U=T. [ 1 0 0 0 1 0 0 0 1 1 1 1 ] = [ x x ' x y ' x z ' y x ' y y ' y z ' 0 0 0 1 1 1 ] T U The foreshortening ratios for each projected principal axes are then given by: f x = x x ' 2 y x ' 2 f y = x y ' 2 y y ' 2 f z = x z ' 2 y z ' 2

Perspective Projection Parallel Projectionparagc/teaching/2016/cs475m/lectures/... · Let us try to translate, apply a perspective and project to z=0 CS475m: Lecture 6 Parag Chaudhuri

Embed Size (px)

Citation preview

Page 1: Perspective Projection Parallel Projectionparagc/teaching/2016/cs475m/lectures/... · Let us try to translate, apply a perspective and project to z=0 CS475m: Lecture 6 Parag Chaudhuri

   

 

CS475m - Computer Graphics

Lecture 6 : Viewing

CS475m: Lecture 6 Parag Chaudhuri

Perspective Projection

Image Planeor Projection Plane

Object

Projectors

Centre of Projection

CS475m: Lecture 6 Parag Chaudhuri

Parallel Projection

Image Planeor Projection Plane

Object

ProjectorsCentre of Projection?

CS475m: Lecture 6 Parag Chaudhuri

Parallel ProjectionOrthographic Projection

Top View

Side View

Front View

● Multiviews (x=0, y=0 or z=0 or principal planes).

● True size or shape for lines.

● For projection on the z=0 plane we get the projection matrix as

P z=0=[1 0 0 00 1 0 00 0 0 00 0 0 1 ]

CS475m: Lecture 6 Parag Chaudhuri

Parallel ProjectionAxonometric Projection

● Transform and then project using an orthographic projection such that at multiple adjacent faces are visible – better representation of a 3D object using 1 view. Face parallel to projection plane shows true shape and size.

● If     be the matrix formed by stacking up the unit vectors along the three axes, and     be the axonometric projection, then

T.U=T .[1 0 00 1 00 0 11 1 1

]=[xx ' x y ' x z 'yx ' y y ' y z '0 0 01 1 1

]T

U

CS475m: Lecture 6 Parag Chaudhuri

Parallel ProjectionAxonometric Projection

● If     be the matrix formed by stacking up the unit vectors along the three axes, and     be the axonometric projection, then

T.U=T .[1 0 00 1 00 0 11 1 1

]=[x x ' x y ' x z 'y x ' y y ' y z '0 0 01 1 1

]T

U

● The foreshortening ratios for each projected principal axes are then given by:

f x= x x '2yx '2 f y= x y ' 2

y y ' 2 f z= xz ' 2yz ' 2

Page 2: Perspective Projection Parallel Projectionparagc/teaching/2016/cs475m/lectures/... · Let us try to translate, apply a perspective and project to z=0 CS475m: Lecture 6 Parag Chaudhuri

   

 

CS475m: Lecture 6 Parag Chaudhuri

Parallel ProjectionAxonometric Projection

● If     be the matrix formed by stacking up the unit vectors along the three axes, and     be the axonometric projection, then

T.U =T .[1 0 00 1 00 0 11 1 1

]=[x x ' xy ' x z 'y x ' yy ' y z '0 0 01 1 1

]T

U

● The foreshortening ratios for each projected principal axes are then given by:

f x= x x '2y x '2 f y= x y '2

yy ' 2 f z= x z ' 2yz ' 2

CS475m: Lecture 6 Parag Chaudhuri

Parallel ProjectionAxonometric Projection

● Depending on the kind of foreshortening they cause we can have three types of axonometric projections

— Trimetric (all foreshortenings are different)

f x≠ f y≠ f z

CS475m: Lecture 6 Parag Chaudhuri

Parallel ProjectionAxonometric Projection

● Depending on the kind of foreshortening they cause we can have three types of axonometric projections

— Trimetric (all foreshortenings are different)

— Dimetric (two foreshortenings are the same)

f x≠ f y≠ f z f x= f z

CS475m: Lecture 6 Parag Chaudhuri

Parallel ProjectionAxonometric Projection

● Depending on the kind of foreshortening they cause we can have three types of axonometric projections

— Trimetric (all foreshortenings are different)

— Dimetric (two foreshortenings are the same)

— Isometric (all foreshortenings are the same)

f x≠ f y≠ f z f x= f z f x= f y= f z

CS475m: Lecture 6 Parag Chaudhuri

Parallel ProjectionAxonometric Projection

● Assuming we rotate by             and             before we do the projection on the z=0 plane.

T=P z=0 . R x . R y

=[1 0 0 00 1 0 00 0 0 00 0 0 1 ] . [

1 0 0 00 cos −sin 00 sin cos 00 0 0 1 ] . [

cos 0 sin 00 1 0 0−sin 0 cos 00 0 0 1 ]

=[cos 0 sin 0sin sin cos −sin cos 00 0 0 00 0 0 1 ]

Ry R x

CS475m: Lecture 6 Parag Chaudhuri

Parallel ProjectionAxonometric Projection

● Now we apply this axonometric projection      to 

T.U=[cos 0 sin 0sin sin cos −sin cos 00 0 0 00 0 0 1

] .[1 0 00 1 00 0 11 1 1

]=[

cos 0 sin

sin sin cos −sin cos0 0 01 1 1

]

UT

Page 3: Perspective Projection Parallel Projectionparagc/teaching/2016/cs475m/lectures/... · Let us try to translate, apply a perspective and project to z=0 CS475m: Lecture 6 Parag Chaudhuri

   

 

CS475m: Lecture 6 Parag Chaudhuri

Parallel ProjectionAxonometric Projection

● So the foreshortening ratios become

f x2=cos2

sin2sin2

f y2=cos2

f z2=sin2

sin2cos2

● For Isometric projections, if we solve for                              then we get                   and           

f x= f y= f z=35.26 =±45

CS475m: Lecture 6 Parag Chaudhuri

Parallel ProjectionOblique Projection

● The projectors are parallel to each other but they are not perpendicular to the plane of projection.

● Only planes parallel to plane of projection show true shape and size.

CS475m: Lecture 6 Parag Chaudhuri

Parallel ProjectionOblique Projection

P x , y , z

P' x , y

P ' ' x p , y p

l

xp=xl cos

yp=yl sin

tan=zl

or l=z cot

CS475m: Lecture 6 Parag Chaudhuri

● When              we get a Cavalier projection. Lines perpendicular to the projection plane are not foreshortened.

● When                     we get Cabinet projections. Lines perpendicular to the projection plane are foreshortened by half.

●     is typically 30° or 45°.

Parallel ProjectionOblique Projection

P x , y , z

P ' x , y

P' ' x p , y p

l

cot =1 /2

=45

CS475m: Lecture 6 Parag Chaudhuri

Perspective Projection

Image Planeor Projection Plane

Object

Projectors

Centre of Projection

● Projectors converge at a finite centre of projection.

● Parallel lines converge.

● We get non­uniform foreshortening.

● Shape is not preserved.

● We see in perspective – so perspective viewing seems natural and helps in depth perception.

CS475m: Lecture 6 Parag Chaudhuri

A digression into art

13th century , Arezzo by Giotto

Page 4: Perspective Projection Parallel Projectionparagc/teaching/2016/cs475m/lectures/... · Let us try to translate, apply a perspective and project to z=0 CS475m: Lecture 6 Parag Chaudhuri

   

 

CS475m: Lecture 6 Parag Chaudhuri

A digression into art

Early 15th century , The Little Garden of Paradise

CS475m: Lecture 6 Parag Chaudhuri

A digression into art

15th century , The Baptistry in Florence, Filippo Brunelleschi

CS475m: Lecture 6 Parag Chaudhuri

A digression into art

15th century , Fresco of Holy Trinity, Masaccio

CS475m: Lecture 6 Parag Chaudhuri

A digression into art

15th century , School of Athens, Raphael

CS475m: Lecture 6 Parag Chaudhuri

Perspective Projection

P x , y , z

P' x ' , y '

zc

y y 'l1

l2

y 'l2

=y

l 2−l1

z c

l2

=zc−z

l2−l1

⇒y '=y

1−zz c

CS475m: Lecture 6 Parag Chaudhuri

Perspective Projection

P x , y , z

P ' x ' , y '

zc

x x '

l1l2

x 'l 2

=x

l2−l1

zc

l2

=z c−z

l2−l1

⇒ x '=x

1−zz c

z c

z

Page 5: Perspective Projection Parallel Projectionparagc/teaching/2016/cs475m/lectures/... · Let us try to translate, apply a perspective and project to z=0 CS475m: Lecture 6 Parag Chaudhuri

   

 

CS475m: Lecture 6 Parag Chaudhuri

Perspective Projection

● First we apply a perspective transform to a point     that takes it to

[x 'y 'z 'w ' ]=[

1 0 0 00 1 0 00 0 1 00 0 r 1

] . [xyz1 ]=[

xyz

rz1]x '=

xrz1

, y '=y

rz1, z '=

zrz1

X '=Pr . X

X X '

CS475m: Lecture 6 Parag Chaudhuri

● If                   then we get

Perspective Projection

● First we apply a perspective transform to a point     that takes it to

● Now we add projection on the              plane.

[x 'y 'z 'w ' ]=[

1 0 0 00 1 0 00 0 0 00 0 0 1

]. [1 0 0 00 1 0 00 0 1 00 0 r 1

] .[xyz1 ]=[

xy0

rz1]x '=

xrz1

, y '=y

rz1, z '=0

X '=P z=0 . Pr . X

X X '

z=0

r=−1z c

x '=x

1−zzc

, y '=y

1−zzc

CS475m: Lecture 6 Parag Chaudhuri

Perspective Projection● Vanishing point in the z 

direction.

● Set of lines not parallel to the projection plane converge at a vanishing point.

VP z

CS475m: Lecture 6 Parag Chaudhuri

● If                  then we get                    , i.e., the vanishing point lies an equal distance on the opposite side of the projection plane as the center of projection.

Perspective Projection

● To find the vanishing point along the z direction we apply the perspective transformation to the point at infinity along the z direction.

[x 'y 'z 'w ' ]=[

1 0 0 00 1 0 00 0 1 00 0 r 1

] .[0010]=[

001r] x '=0, y '=0, z '=

1r

X '=Pr . X

r=−1 / zc z '=−zc

CS475m: Lecture 6 Parag Chaudhuri

● CoP is at                          , VP is at 

Perspective Projection

● Centre of projection (CoP) on x axis

[x 'y 'z 'w ' ]=[

1 0 0 00 1 0 00 0 1 0p 0 0 1

] .[xyz1 ]=[

xyz

px1]x '=

xpx1

, y '=y

px1, z '=

zpx1

X '=P p . X

−1 / p ,0,0,1 1 / p , 0, 0,1

Single point perspective

CS475m: Lecture 6 Parag Chaudhuri

● CoP is at                          , VP is at 

Perspective Projection

● Centre of projection (CoP) on y axis

[x 'y 'z 'w ' ]=[

1 0 0 00 1 0 00 0 1 00 q 0 1

]. [xyz1 ]=[

xyz

qy1]x '=

xqy1

, y '=y

qy1, z '=

zqy1

X '=Pq . X

0,−1/q ,0,1 0,1 /q ,0,1

Single point perspective

Page 6: Perspective Projection Parallel Projectionparagc/teaching/2016/cs475m/lectures/... · Let us try to translate, apply a perspective and project to z=0 CS475m: Lecture 6 Parag Chaudhuri

   

 

CS475m: Lecture 6 Parag Chaudhuri

Perspective Projection

P pq=P p . Pq=[1 0 0 00 1 0 00 0 1 0p 0 0 1

] .[1 0 0 00 1 0 00 0 1 00 q 0 1

]=[1 0 0 00 1 0 00 0 1 0p q 0 1

]Two point perspective

x '=x

pxqy1, y '=

ypxqy1

, z '=z

pxqy1

● Two vanishing points

● Two CoPs?

From http://gatewayhsart.wordpress.com CS475m: Lecture 6 Parag Chaudhuri

Perspective Projection

P pqr=P p . P q . Pr=[1 0 0 00 1 0 00 0 1 0p q r 1

]Three point perspective

x '=x

pxqyrz1, y '=

ypxqyrz1

● Three vanishing points

● Three CoPs?

z '=z

pxqyrz1

M. C. Esher, Ascending and Descending CS475m: Lecture 6 Parag Chaudhuri

Perspective Projection

T =Pr z=0 . T l , m , n=[1 0 0 00 1 0 00 0 0 00 0 r 1

] . [1 0 0 l0 1 0 m0 0 1 n0 0 0 1

]=[1 0 0 l0 1 0 m0 0 0 00 0 r rn1

]

Generation of perspective views

● Transform and then apply single point persepective.

● Let us try to translate, apply a perspective and project to z=0

CS475m: Lecture 6 Parag Chaudhuri

Perspective ProjectionGeneration of perspective views

● Translation along x=y line.

CS475m: Lecture 6 Parag Chaudhuri

Perspective ProjectionGeneration of perspective views

● Translation along the z axis causes change in scaling.

z −z

y

−y CS475m: Lecture 6 Parag Chaudhuri

Perspective ProjectionGeneration of perspective views

● Rotate about y axis and then apply single point persepective projection.

T=Pr z=0 . Ry =[1 0 0 00 1 0 00 0 0 00 0 r 1

] .[cos 0 sin 0

0 1 0 0−sin 0 cos 0

0 0 0 1]

Page 7: Perspective Projection Parallel Projectionparagc/teaching/2016/cs475m/lectures/... · Let us try to translate, apply a perspective and project to z=0 CS475m: Lecture 6 Parag Chaudhuri

   

 

CS475m: Lecture 6 Parag Chaudhuri

Perspective ProjectionGeneration of perspective views

● Rotate about y axis and then apply single point persepective projection.

T =Pr z=0 . Ry =[1 0 0 00 1 0 00 0 0 00 0 r 1

] .[cos 0 sin 0

0 1 0 0−sin 0 cos 0

0 0 0 1]

=[cos 0 sin 0

0 1 0 00 0 0 0

−r sin 0 r cos 1]

● We get a two point perspective.

CS475m: Lecture 6 Parag Chaudhuri

Perspective ProjectionGeneration of perspective views

● Rotate about y axis, x axis and then apply single point persepective projection.

T=Pr z=0 . R x . R y

=[1 0 0 00 1 0 00 0 0 00 0 r 1

] .[1 0 0 00 cos −sin 00 sin cos 00 0 0 1

] .[cos 0 sin 0

0 1 0 0−sin 0 cos 0

0 0 0 1]

CS475m: Lecture 6 Parag Chaudhuri

Perspective ProjectionGeneration of perspective views

● Rotate about x axis, y axis and then apply single point persepective projection.

T =Pr z=0 . R y , R x

=[cos 0 sin 0

sin sin cos −sin cos 00 0 0 0

−r cos sin r sin r cos cos 1]

● We get a three point perspective.

CS475m: Lecture 6 Parag Chaudhuri

Taxonomy

Parallel Perspective

Orthographic ObliqueAxonometric

Trimetric

Dimetric

Isometric

Cavalier

Cabinet

Front

Top

Side

Planar Projections

One Point

Two Point

Three Point