1 / 60

ICS 415 Computer Graphics Rendering Geometric Primitives

ICS 415 Computer Graphics Rendering Geometric Primitives. Dr. Muhammed Al-Mulhem March 1, 2009. Rendering geometric primitives. Describe objects with points, lines, and surfaces Compact mathematical notation Operators to apply to those representations Render the objects

Télécharger la présentation

ICS 415 Computer Graphics Rendering Geometric Primitives

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. ICS 415Computer Graphics Rendering Geometric Primitives Dr. Muhammed Al-Mulhem March 1, 2009 Dr. Muhammed Al-Mulhem

  2. Rendering geometric primitives • Describe objects with points, lines, and surfaces • Compact mathematical notation • Operators to apply to those representations • Render the objects • The rendering pipeline • Reading: • Appendix A1-A5 Dr. Muhammed Al-Mulhem

  3. Rendering • Generate an image from geometric primitives Rendering Geometric Primitives Raster Image Dr. Muhammed Al-Mulhem

  4. 3D Rendering Example What issues must be addressed by a 3D rendering system? Dr. Muhammed Al-Mulhem

  5. Overview • 3D scene representation • 3D viewer representation • Visible surface determination • Lighting simulation Dr. Muhammed Al-Mulhem

  6. Overview • 3D scene representation • 3D viewer representation • Visible surface determination • Lighting simulation How is the 3D scene described in a computer? Dr. Muhammed Al-Mulhem

  7. 3D Scene Representation • Scene is usually approximated by 3D primitives • Point • Line segment • Polygon • Polyhedron • Curved surface • Solid object • etc. Dr. Muhammed Al-Mulhem

  8. 3D Point • Specifies a location Dr. Muhammed Al-Mulhem

  9. 3D Point • Specifies a location • Represented by three coordinates (x,y,z) Dr. Muhammed Al-Mulhem

  10. 3D Vector • Specifies a direction and a magnitude Dr. Muhammed Al-Mulhem

  11. 3D Vector • Specifies a direction and a magnitude • Represented as the difference between two point positions by three coordinates (Vx, Vy, Vz). • Magnitude |V| = sqrt( Vx2 + Vy2 + Vz2) • Has no location (Vx, Vy, Vz). Dr. Muhammed Al-Mulhem

  12. u+v Vector Addition/Subtraction • Operation u + v, with: • Identity 0 : v + 0 = v • Inverse - : v + (-v) = 0 • Addition uses the “parallelogram rule”: v u -v v -v u-v u Dr. Muhammed Al-Mulhem

  13. Vector Space • Vectors define a vector space • They support vector addition • Commutative and associative • Possess identity and inverse • They support scalar multiplication • Associative, distributive • Possess identity Dr. Muhammed Al-Mulhem

  14. Affine Spaces • Vector spaces lack position and distance • They have magnitude and direction but no location • Combine the point and vector primitives • Permits describing vectors relative to a common location • A point and three vectors define a 3-D coordinate system • Point-point subtraction yields a vector Dr. Muhammed Al-Mulhem

  15. Y Y Z X Right-handed coordinate Left-handed system coordinate system Z X Coordinate Systems Grasp z-axis with hand Thumb points in direction of z-axis Roll fingers from positive x-axis towards positive y-axis Dr. Muhammed Al-Mulhem

  16. Q v P Points + Vectors • Points support these operations • Point-point subtraction: Q - P = v • Result is a vector pointing fromPtoQ • Vector-point addition: P + v = Q • Result is a new point • Note that the addition of two points is not defined Dr. Muhammed Al-Mulhem

  17. 3D Line Segment • Linear path between two points Dr. Muhammed Al-Mulhem

  18. 3D Line Segment • Use a linear combination of two points • Parametric representation: • P = P1 + t (P2 - P1), (0  t 1) P2 P1 Dr. Muhammed Al-Mulhem

  19. 3D Ray • Line segment with one endpoint at infinity • Parametric representation: • P = P1 + t V, (0<= t < ) V P1 Dr. Muhammed Al-Mulhem

  20. 3D Line • Line segment with both endpoints at infinity • Parametric representation: • P = P1 + t V, (- < t < ) V P1 Dr. Muhammed Al-Mulhem

  21. P = (x, y) y P2 = (x2, y2) P1 = (x1, y1) x 3D Line – Slope Intercept • Slope =m • = rise / run • Slope = (y - y1) / (x - x1) = (y2 - y1) / (x2 - x1) • Solve for y: • y = [(y2 - y1)/(x2 - x1)]x + [-(y2-y1)/(x2 - x1)]x1 + y1 • or: y = mx + b Dr. Muhammed Al-Mulhem

  22. Euclidean Spaces • Q: What is the distance function between points and vectors in affine space? • A: Dot product • Euclidean affine space = affine space plus dot product • Permits the computation of distance and angles Dr. Muhammed Al-Mulhem

  23. v θ u Dot Product • Thedot productor, more generally, inner productof two vectors is a scalar: v1 • v2 = x1x2 + y1y2 + z1z2 (in 3D) Dr. Muhammed Al-Mulhem

  24. v θ u Dot Product • Useful for many purposes • Computing the length (Euclidean Norm) of a vector: • length(v) = ||v|| = sqrt(v • v) • Normalizing a vector, making it unit-length: v = v / ||v|| • Computing the angle between two vectors: • u • v = |u| |v| cos(θ) • Checking two vectors for orthogonality • u • v = 0.0 Dr. Muhammed Al-Mulhem

  25. w v u Dot Product • Projecting one vector onto another • If v is a unit vector and we have another vector, w • We can project w perpendicularly onto v • And the result, u, has length w • v Dr. Muhammed Al-Mulhem

  26. Dot Product • Is commutative • u • v = v • u • Is distributive with respect to addition • u • (v + w) = u • v + u • w Dr. Muhammed Al-Mulhem

  27. Cross Product • The cross product or vector product of two vectors is a vector: • The cross product of two vectors is orthogonal to both • Right-hand rule dictates direction of cross product Dr. Muhammed Al-Mulhem

  28. Cross Product Right Hand Rule • See: http://www.phy.syr.edu/courses/video/RightHandRule/index2.html • Orient your right hand such that your palm is at the beginning of A and your fingers point in the direction of A • Twist your hand about the A-axis such that B extends perpendicularly from your palm • As you curl your fingers to make a fist, your thumb will point in the direction of the cross product Dr. Muhammed Al-Mulhem

  29. Cross Product Right Hand Rule • See: http://www.phy.syr.edu/courses/video/RightHandRule/index2.html • Orient your right hand such that your palm is at the beginning of A and your fingers point in the direction of A • Twist your hand about the A-axis such that B extends perpendicularly from your palm • As you curl your fingers to make a fist, your thumb will point in the direction of the cross product Dr. Muhammed Al-Mulhem

  30. Cross Product Right Hand Rule • See: http://www.phy.syr.edu/courses/video/RightHandRule/index2.html • Orient your right hand such that your palm is at the beginning of A and your fingers point in the direction of A • Twist your hand about the A-axis such that B extends perpendicularly from your palm • As you curl your fingers to make a fist, your thumb will point in the direction of the cross product Dr. Muhammed Al-Mulhem

  31. Cross Product Right Hand Rule • See: http://www.phy.syr.edu/courses/video/RightHandRule/index2.html • Orient your right hand such that your palm is at the beginning of A and your fingers point in the direction of A • Twist your hand about the A-axis such that B extends perpendicularly from your palm • As you curl your fingers to make a fist, your thumb will point in the direction of the cross product Dr. Muhammed Al-Mulhem

  32. Cross Product Right Hand Rule • See: http://www.phy.syr.edu/courses/video/RightHandRule/index2.html • Orient your right hand such that your palm is at the beginning of A and your fingers point in the direction of A • Twist your hand about the A-axis such that B extends perpendicularly from your palm • As you curl your fingers to make a fist, your thumb will point in the direction of the cross product Dr. Muhammed Al-Mulhem

  33. Other helpful formulas • Length = sqrt (x2 - x1)2 + (y2 - y1)2 • Midpoint, p2, between p1 and p3 • p2 = ((x1 + x3) / 2, (y1 + y3) / 2)) • Two lines are perpendicular if: • M1 = -1/M2 • cosine of the angle between them is 0 • Dot product = 0 Dr. Muhammed Al-Mulhem

  34. 3D Plane • A linear combination of three points P2 P3 P1 Dr. Muhammed Al-Mulhem

  35. Origin 3D Plane • A linear combination of three points • Implicit representation: • ax + by + cz + d = 0, or • P·N + d = 0 • N is the plane “normal” • Unit-length vector • Perpendicular to plane N = (a,b,c) P2 P3 P1 d Dr. Muhammed Al-Mulhem

  36. r 3D Sphere • All points at distance “r” from point “(cx, cy, cz)” • Implicit representation: • (x - cx)2 + (y - cy)2 + (z - cz)2 = r 2 • Parametric representation: • x = r cos() cos() + cx • y = r cos() sin() + cy • z = r sin() + cz Dr. Muhammed Al-Mulhem

  37. 3D Geometric Primitives • More detail on 3D modeling later in course • Point • Line segment • Polygon • Polyhedron • Curved surface • Solid object • etc. Dr. Muhammed Al-Mulhem H&B Figure 10.46

  38. Take a breath • We’re done with the primitives • Now we’re moving on to study how graphics uses these primitives to make pretty pictures Dr. Muhammed Al-Mulhem

  39. Transform Illuminate Transform Clip Project Rasterize Model & CameraParameters Rendering Pipeline Framebuffer Display Rendering 3D Scenes Dr. Muhammed Al-Mulhem

  40. Camera Models • The most common model is pin-hole camera • All captured light rays arrive along paths toward focal point without lens distortion (everything is in focus) • Sensor response proportional to radiance • Other models consider ...Depth of field, Motion blur, Lens distortion View plane Eye position (focal point) Dr. Muhammed Al-Mulhem

  41. Camera Parameters • What are the parameters of a camera? Dr. Muhammed Al-Mulhem

  42. Camera Parameters • Position • Eye position (px, py, pz) • Orientation • View direction (dx, dy, dz) • Up direction (ux, uy, uz) • Aperture • Field of view (xfov, yfov) • Film plane • “Look at” point • View plane normal View Plane Up direction “Look at” Point back Viewdirection Eye Position right Dr. Muhammed Al-Mulhem

  43. Moving the camera Up Back Towards Right View Frustum Dr. Muhammed Al-Mulhem

  44. Transform Illuminate Transform Clip Project Rasterize Model & CameraParameters Rendering Pipeline Framebuffer Display The Rendering Pipeline Dr. Muhammed Al-Mulhem

  45. Rendering: Transformations • We’ve learned about transformations • But they are used in three ways: • Modeling transforms • Viewing transforms (Move the camera) • Projection transforms (Change the type of camera) Dr. Muhammed Al-Mulhem

  46. The Rendering Pipeline: 3-D Scene graphObject geometry • Result: • All vertices of scene in shared 3-D “world” coordinate system • Vertices shaded according to lighting model • Scene vertices in 3-D “view” or “camera” coordinate system • Exactly those vertices & portions of polygons in view frustum • 2-D screen coordinates of clipped vertices ModelingTransforms LightingCalculations ViewingTransform Clipping ProjectionTransform Dr. Muhammed Al-Mulhem

  47. Scene graphObject geometry • Result: • All vertices of scene in shared 3-D “world” coordinate system ModelingTransforms LightingCalculations ViewingTransform Clipping ProjectionTransform The Rendering Pipeline: 3-D Dr. Muhammed Al-Mulhem

  48. Y X Z Rendering: Transformations • Modeling transforms • Size, place, scale, and rotate objects and parts of the model w.r.t. each other • Object coordinates -> world coordinates Y Z X Dr. Muhammed Al-Mulhem

  49. Scene graphObject geometry • Result: • All geometric primitives are illuminated ModelingTransforms LightingCalculations ViewingTransform Clipping ProjectionTransform The Rendering Pipeline: 3-D Dr. Muhammed Al-Mulhem

  50. N N Lighting Simulation Light Source • Lighting parameters • Light source emission • Surface reflectance • Atmospheric attenuation • Camera response Surface Camera Dr. Muhammed Al-Mulhem

More Related