P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107...

23
16 10 . 4 p_ _ @hotmail com it eve 2008 . r @hotmail com 1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El- Supervision : Dr. Sana'a Presentation name : Three Dimensional Viewing

Transcript of P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107...

Page 1: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

1

University of Palestine

Computer GraphicsITGD3107

Prepare:

Mohammed J. el-masre

Nidal M. El-Borbar

Supervision:

Dr. Sana'a

Presentation name :

Three Dimensional Viewing

Page 2: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

2

Contents

3D Viewing Camera Analogy Viewing Pipeline Camera Modeling w/ OpenGL Projections Types of Projections Perspective Projection Parallel Projection Projection Matrix Projection of Lines 3D Viewing with OpenGL Matrix ModesThree Dimensional Viewing

Page 3: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

3

3D Viewing

The steps for computer generation of a view of a three dimensional scene are somewhat analogous to the processes involved in taking a photograph.

Page 4: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

4

Camera Analogy

Position

Orientation

Window (aperture)

of the camera

1. Viewing position2. Camera

orientation3. Size of clipping

window

Page 5: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

5

Viewing Pipeline

The general processing steps for modeling and converting a world coordinate description of a scene to device coordinates:

Page 6: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

6

Viewing Pipeline

1. Construct the shape of individual objects in a scene within modeling coordinate, and place the objects into appropriate positions within the scene (world coordinate).

Page 7: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

7

Viewing Pipeline

World coordinate positions are converted to viewing coordinates.

Page 8: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

8

Viewing Pipeline

Convert the viewing coordinate description of the scene to coordinate positions on the projection plane.

Page 9: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

9

Viewing Pipeline

Positions on the projection plane, will then mapped

to the Normalized coordinate and output device.

Page 10: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

10

Camera Modeling w/ OpenGL

glMatrixMode(GL_MODELVIEW)...

glMatrixMode(GL_PROJECTION)...

glViewport(0,0,xres,yres)

camera coordinatesystem

viewport coordinatesystem

device/screencoordinate system

Page 11: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

11

ProjectionsOnce the view volume is

determined, a projection transformation will convert the object in the 3D view volume to a 2D image on the projection plane.

Page 12: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

12

Types of Projections

Perspective Projection Parallel Projection

Page 13: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

13

Perspective Projection (1/2) Give a realistic view of 3D objects, but

does not preserve shape of object or scale Perspective images of parallel lines not

parallel with projection plane converge to a point called vanishing point

Size of object is diminished with distance Used in architectural, engineering,

industrial design, and advertising drawings

Page 14: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

14

Perspective Projection (2/2)

3-point perspective

1-point perspective

2-point perspective

Most popular

Page 15: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

15

Parallel Projection Accurate and same-scale

measurements

Not realistic, and may require multiple projections to get a complete feeling of the object

Used in drawings of machine parts and in working architectural drawings

Page 16: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

16

Oblique

Parallel Projection (3/3)

Isometric

cavalier cabinet

Multi-view orthographic

Page 17: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

17

Projection Matrix (1/3)

xp

yp

d1

xyz1

= Mper/ort .

1 0 0 00 1 0 00 0 1 00 0 1/d 0

Mper =

1 0 0 00 1 0 00 0 0 d0 0 0 1

Mort =

Pp(xp,yp,d) = ???

P(x,y,z)

dCOP

z

x

y

Page 18: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

18

Projection Matrix (2/3)

xp

yp

01

xyz1

= Mper/ort .

1 0 0 00 1 0 00 0 0 00 0 1/d 1

Mper =

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

Mort =

P(x,y,z)

d

Pp(xp,yp,0) = ???

COP z

x

y

Page 19: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

19

Projection Matrix (3/3)

P(x,y,z)

d

Pp(xp,yp,0) = ???

COP

z

x or y

Q

(a, b, c)

1 0 –a/c da/c0 1 –b/c db/c0 0 –d/Q/c d2/Q/c+d0 0 –1/Q/c d/Q/c+1

Mgeneral =

Page 20: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

20

Projection of Lines

dCOP

z

xy Parametric representation of a line that goes through P(px, py, pz) and has direction c = (cx, cy, cz)

l(t) = P+ct where t (-, + )

The projected line is

x(t) = d(px+cxt)/(pz+czt)

y(t) = d(py+cyt)/(pz+czt)

If the original line is parallel to the projection plane (cz = 0)x(t) = d(px+cxt)/pz, y(t) = d(py+cyt)/pz, the slope of the projected line is cy/cx, independent of the position of the original line. The projected lines of parallel lines must be parallel

Page 21: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

21

3D Viewing with OpenGL Viewing transformation: set the position and

orientation of the viewpoint Modeling transformation: set the orientation of

the model (translate, rotate, scale) Projection transformation: set the view volume

and do the projection Viewport transformation: Set the viewport on

the computer screen where the scene will be drawn

Page 22: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

22

Matrix Modes Modelview matrix

Set the viewpoint and object location by modifying this matrix

glMatrixMode(GL_MODELVIEW)

If projection matrix is modified Specify the view volume by modifying this

matrix glMatrixMode(GL_PROJECTION)

If texture matrix is modified glMatrixMode(GL_TEXTURE)

Page 23: P_16_10 @hotmail.com it4ever2008 @hotmail.com1 University of Palestine Computer Graphics ITGD3107 Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision:

p_16_10 @hotmail.com it4ever2008 @hotmail.com

23

References & External links

•http://en.wikipedia.org/wiki/3dviewing•http://anonymouse.org/cgi-bin/anon-www.cgi/http://www.eazyupload.net/download/jtg3c0c6/0135309247.zip.htm•http://eazy1.eazyupload.net/download/0ea47c0c7d5c5b872be23f3a89330863/0135309247.zip•http://dl1.s24.ifile.it/9gtkix4c/prentice_hall_-_computer_graphics_c_version_2ed_-_hearn__baker.pdf

Our Book computer_graphics_c_version_2ed