1 / 96

CSCE 441 Computer Graphics 3-D Viewing

CSCE 441 Computer Graphics 3-D Viewing. Jinxiang Chai. Outline. 3D Viewing Required readings: HB 10-1 to 10-10 Compile and run the codes in page 388 - opengl three-dimensional viewing program example. 1. Taking Pictures Using A Real Camera. Steps: - Identify interesting objects

dunn
Télécharger la présentation

CSCE 441 Computer Graphics 3-D Viewing

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. CSCE 441 Computer Graphics3-D Viewing Jinxiang Chai

  2. Outline 3D Viewing Required readings: HB 10-1 to 10-10 Compile and run the codes in page 388 - opengl three-dimensional viewing program example 1

  3. Taking Pictures Using A Real Camera Steps: - Identify interesting objects - Rotate and translate the camera to a desired camera viewpoint - Adjust camera settings such as focal length - Choose desired resolution and aspect ratio, etc. - Take a snapshot

  4. Taking Pictures Using A Real Camera Steps: - Identify interesting objects - Rotate and translate the camera to a desired camera viewpoint - Adjust camera settings such as focal length - Choose desired resolution and aspect ratio, etc. - Take a snapshot Graphics does the same thing for rendering an image for 3D geometric objects

  5. 3D Geometry Pipeline Rotate and translate the camera Object space World space View space Focal length Aspect ratio & resolution Normalized projection space Image space 4

  6. 3D Geometry Pipeline Model space (Object space) Before being turned into pixels by graphics hardware, a piece of geometry goes through a number of transformations...

  7. 3D Geometry Pipeline World space (Object space) Before being turned into pixels by graphics hardware, a piece of geometry goes through a number of transformations...

  8. 3D Geometry Pipeline Eye space (View space) Before being turned into pixels by graphics hardware, a piece of geometry goes through a number of transformations...

  9. 3D Geometry Pipeline Normalized projection space Before being turned into pixels by graphics hardware, a piece of geometry goes through a number of transformations...

  10. 3D Geometry Pipeline Image space, window space, raster space, screen space, device space Before being turned into pixels by graphics hardware, a piece of geometry goes through a number of transformations...

  11. 3D Geometry Pipeline Object space World space View space Normalized project space Image space

  12. 3D Geometry Pipeline Translate, scale &rotate Object space World space glTranslate*(tx,ty,tz)

  13. 3D Geometry Pipeline Translate, scale &rotate Object space World space glScale*(sx,sy,sz)

  14. 3D Geometry Pipeline Translate, scale &rotate Object space World space Rotate about r by the angle glRotate*

  15. 3D Geometry Pipeline Object space World space View space Normalized project space Image space Screen space

  16. 3D Geometry Pipeline World space View space Now look at how we would compute the world->eye transformation

  17. 3D Geometry Pipeline Rotate&translate World space View space Now look at how we would compute the world->eye transformation

  18. Camera Coordinate

  19. Camera Coordinate Canonical coordinate system - usually right handed (looking down –z axis) - convenient for project and clipping

  20. Camera Coordinate Mapping from world to eye coordinates - eye position maps to origin - right vector maps to x axis - up vector maps to y axis - back vector maps to z axis

  21. Viewing Transformation We have the camera in world coordinates We want to transformation T which takes object from world to camera

  22. Viewing Transformation We have the camera in world coordinates We want to transformation T which takes object from world to camera Trick: find T-1 taking object from camera to world

  23. Viewing Transformation ? We have the camera in world coordinates We want to transformation T which takes object from world to camera Trick: find T-1 taking object from camera to world

  24. Review: 3D Coordinate Trans. p Transform object description from to

  25. Review: 3D Coordinate Trans. p Transform object description from to 25

  26. Review: 3D Coordinate Trans. Transform object description from camera to world

  27. Viewing Transformation Trick: find T-1 taking object from camera to world - eye position maps to origin - back vector maps to z axis - up vector maps to y axis - right vector maps to x axis

  28. Viewing Transformation H&B equation (10-4) Trick: find T-1 taking object from camera to world

  29. Viewing Trans: gluLookAt gluLookAt(eyex,eyey,eyez,atx,aty,atz,upx,upy,upz)

  30. Viewing Trans: gluLookAt gluLookAt(eyex,eyey,eyez,atx,aty,atz,upx,upy,upz) How to determine ? Mapping from world to eye coordinates

  31. Viewing Trans: gluLookAt gluLookAt(eyex,eyey,eyez,atx,aty,atz,upx,upy,upz) How to determine ? Mapping from world to eye coordinates

  32. Viewing Trans: gluLookAt gluLookAt(eyex,eyey,eyez,atx,aty,atz,upx,upy,upz) Mapping from world to eye coordinates

  33. Viewing Trans: gluLookAt gluLookAt(eyex,eyey,eyez,atx,aty,atz,upx,upy,upz) Mapping from world to eye coordinates

  34. Viewing Trans: gluLookAt gluLookAt(eyex,eyey,eyez,atx,aty,atz,upx,upy,upz) H&B equation (10-1) Mapping from world to eye coordinates

  35. Viewing Trans: gluLookAt Test: gluLookAt( 4.0, 2.0, 1.0, 2.0, 4.0, -3.0, 0, 1.0, 0 ) - What’s the transformation matrix from the world space to the camera reference system?

  36. 3D Geometry Pipeline 3D-3D viewing transformation World space View space

  37. Projection General definition transform points in n-space to m-space (m<n) In computer graphics map 3D coordinates to 2D screen coordinates

  38. Projection How can we project 3d objects to 2d screen space? General definition transform points in n-space to m-space (m<n) In computer graphics map 3D coordinates to 2D screen coordinates

  39. How Do We See the World? Let’s design a camera: idea 1: put a piece of film in front of camera Do we get a reasonable picture?

  40. Pin-hole Camera • Add a barrier to block off most of the rays • This reduces blurring • The opening known as the aperture • How does this transform the image?

  41. Camera Obscura • The first camera • Known to Aristotle • Depth of the room is the focal length • Pencil of rays – all rays through a point

  42. Perspective Projection Maps points onto “view plane” along projectors emanating from “center of projection” (COP)

  43. Perspective Projection What’s relationship between 3D points and projected 2D points? Maps points onto “view plane” along projectors emanating from “center of projection” (COP) 43

  44. 3D->2D Consider the projection of a 3D point on the camera plane

  45. 3D->2D Consider the projection of a 3D point on the camera plane 45

  46. 3D->2D By similar triangles, we can compute how much the x and y coordinates are scaled Consider the projection of a 3D point on the camera plane

  47. 3D->2D By similar triangles, we can compute how much the x and y coordinates are scaled Consider the projection of a 3D point on the camera plane

  48. Homogeneous Coordinates Is this a linear transformation?

  49. Homogeneous Coordinates Is this a linear transformation? • no—division by z is nonlinear

  50. Homogeneous Coordinates Is this a linear transformation? • Trick: add one more coordinate: • no—division by z is nonlinear homogeneous image coordinates homogeneous scene coordinates

More Related