1 / 23

University of Palestine

University of Palestine. Computer Graphics. ITGD3107. Presentation name : Three Dimensional Viewing. Prepare: Mohammed J. el-masre Nidal M. El-Borbar. Supervision: Dr. Sana'a . Contents. 3D Viewing Camera Analogy Viewing Pipeline Camera Modeling w/ OpenGL

booker
Download Presentation

University of Palestine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. University of Palestine Computer Graphics ITGD3107 Presentation name : Three Dimensional Viewing Prepare: Mohammed J. el-masre Nidal M. El-Borbar Supervision: Dr. Sana'a 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 Modes • Three Dimensional Viewing 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. p_16_10 @hotmail.com it4ever2008 @hotmail.com

  4. Orientation Window (aperture) of the camera Position Camera Analogy • Viewing position • Camera orientation • Size of clipping window 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: p_16_10 @hotmail.com it4ever2008 @hotmail.com

  6. Viewing Pipeline • Construct the shape of individual objects in a scene within modeling coordinate, and place the objects into appropriate positions within the scene (world coordinate). p_16_10 @hotmail.com it4ever2008 @hotmail.com

  7. Viewing Pipeline World coordinate positions are converted to viewing coordinates. 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. 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. p_16_10 @hotmail.com it4ever2008 @hotmail.com

  10. camera coordinate system viewport coordinate system device/screen coordinate system glMatrixMode(GL_MODELVIEW) ... glViewport(0,0,xres,yres) glMatrixMode(GL_PROJECTION) ... Camera Modeling w/ OpenGL p_16_10 @hotmail.com it4ever2008 @hotmail.com

  11. Projections Once 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. p_16_10 @hotmail.com it4ever2008 @hotmail.com

  12. Types of Projections Perspective Projection Parallel Projection 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 p_16_10 @hotmail.com it4ever2008 @hotmail.com

  14. Perspective Projection (2/2) 1-point perspective Most popular 2-point perspective 3-point perspective 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 p_16_10 @hotmail.com it4ever2008 @hotmail.com

  16. Oblique Isometric Parallel Projection (3/3) Multi-view orthographic cavalier cabinet p_16_10 @hotmail.com it4ever2008 @hotmail.com

  17. y Pp(xp,yp,d) = ??? P(x,y,z) x COP z d Projection Matrix (1/3) xp yp d 1 x y z 1 = Mper/ort . 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1/d 0 1 0 0 0 0 1 0 0 0 0 0 d 0 0 0 1 Mper = Mort = p_16_10 @hotmail.com it4ever2008 @hotmail.com

  18. y Pp(xp,yp,0) = ??? P(x,y,z) x z COP d Projection Matrix (2/3) xp yp 0 1 x y z 1 = Mper/ort . 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1/d 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 Mper = Mort = p_16_10 @hotmail.com it4ever2008 @hotmail.com

  19. Projection Matrix (3/3) Pp(xp,yp,0) = ??? 1 0 –a/c da/c 0 1 –b/c db/c 0 0 –d/Q/c d2/Q/c+d 0 0 –1/Q/c d/Q/c+1 Mgeneral = x or y COP P(x,y,z) Q z d (a, b, c) p_16_10 @hotmail.com it4ever2008 @hotmail.com

  20. Projection of Lines 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) y x COP z d 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 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 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) 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 p_16_10 @hotmail.com it4ever2008 @hotmail.com

More Related