graphicsLecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '01Lecture 9 --- 6.837 Fall '016.837 LECTURE 91.3D Transformations - Part 2 Mechanics2.The 3-D Graphics Pipeline3.Modeling transformations4.Illumination5.Viewing Transformation6.Clipping and Projection7.Rasterization and Display8.Rigid-Body Transformations9.Vector and Matrix Algebra10.Cross Product in Matrix Form11.Translations12.Rotations13.Decomposing Rotations14.The Geometry of a Rotation14a.The Geometry of a Rotation14b.The Rodrigues Formula15.The Symmetric Matrix16.The Skew Symmetric Matrix17.Weighting Factors18.Some Sanity Checks19.Some Sanity Checks20.Some Sanity Checks21.Quaternions22.Quaternion Facts23.Rotation by Quaternion24.Quaternion Composition25.Quaternion Interpolation26.Euclidean Transformations27.More Modeling Transforms28.Next Time Lecture 9 Outline 6.837 Fall '01Lecture 9 --- 6.837 Fall '01http://graphics/classes/6.837/F01/Lecture09/index.html [10/10/2001 7:27:08 PM]3D Transformations - Part 2 MechanicsThe 3-D graphicspipeline● Rigid-body transforms● Lecture 9 Slide 1 6.837 Fall '01Lecture 9 --- 6.837 Fall '01http://graphics/classes/6.837/F01/Lecture09/Slide01.html [10/10/2001 7:27:26 PM]The 3-D Graphics PipelineA sneak look at where we're headed!● Seldom are any two versions drawn the same way● Seldom are any two versions implemented the same way● Primitives are processed in a set series of steps● Each stage forwards its result on to the next stage● Hardware implementations will commonly have multiple primitivesvarious stages● Lecture 9 Slide 2 6.837 Fall '01Lecture 9 --- 6.837 Fall '01http://graphics/classes/6.837/F01/Lecture09/Slide02.html [10/10/2001 7:27:29 PM]Modeling transformationsWe start with 3-D models defined in their own model space● Modeling transformations orient models within a common coordinate frame called world space● All objects, light sources, and the viewer live in world space● Trivial rejection attempts toeliminate objects that cannotpossibly be seen (an optimization)● Lecture 9 Slide 3 6.837 Fall '01Lecture 9 --- 6.837 Fall '01http://graphics/classes/6.837/F01/Lecture09/Slide03.html [10/10/2001 7:28:02 PM]IlluminationNext we illuminate potentially visible objects● Object colors are determined by their material properties,and the light sources in the scene● Illumination algorithm depends on the shading model and the surfacemodel● More about this in later on● Lecture 9 Slide 4 6.837 Fall '01Lecture 9 --- 6.837 Fall '01http://graphics/classes/6.837/F01/Lecture09/Slide04.html [10/10/2001 7:28:04 PM]Viewing TransformationAnother change of coordinate systems● Maps points from world space into eye space● Viewing position is transformed to the origin● Viewing direction is oriented along some axis● A viewing volume isdefined● Lecture 9 Slide 5 6.837 Fall '01Lecture 9 --- 6.837 Fall '01http://graphics/classes/6.837/F01/Lecture09/Slide05.html [10/10/2001 7:28:06 PM]Clipping and ProjectionNext we perform clipping of the scene's objects againist a threedimensional viewing volume called a viewing frustum● This step totally eliminates any objects(and pieces of objects) that are notvisible in the image● A clever trick is used to straighten outthe viewing frustum in to a cube● Next the objects are projected intotwo-dimensions● Transformation from eye space to screen space● Lecture 9 Slide 6 6.837 Fall '01Lecture 9 --- 6.837 Fall '01http://graphics/classes/6.837/F01/Lecture09/Slide06.html [10/10/2001 7:28:07 PM]Rasterization and DisplayOne last transformation from our screen-space coordinates into aviewport coordinates● The rasterization step scan converts the object into pixels● Involve interpolating parameters as we go● Purely 2D operation● Almost every step in the rendering pipeline involves a change ofcoordinate systems. Transformations are central to understandingthree-dimensional computer graphics.Lecture 9 Slide 7 6.837 Fall '01Lecture 9 --- 6.837 Fall '01http://graphics/classes/6.837/F01/Lecture09/Slide07.html [10/10/2001 7:28:09 PM]Rigid-Body TransformationsRigid-body, or Euclidean transformations● Preserve the shape of the objects that they act on● Includes rotations and trnaslations (just as in two dimensions)● Recall our representation for the coordinates of 3-D points. We represent these coordinatesin column vectors. A typical point with coordinates (x, y, z) is represented as:This is not the only possible representation. You may encounter textbooks that considerpoints as row vectors. What is most important is that you use a consistent representation.Lecture 9 Slide 8 6.837 Fall '01Lecture 9 --- 6.837 Fall '01http://graphics/classes/6.837/F01/Lecture09/Slide08.html [10/10/2001 7:28:11 PM]Vector and Matrix AlgebraYou've probably been exposed to vector algebra in previous courses. These include vectoraddition, the vector dot product, and the vector cross product. Let's take a minute to discussan equivalent set of matrix operators.We begin with the dot product. This operation acts on two vectors and returns a scalar.Geometrically, this operation can be described as a projection of one vector onto another.The dot product has the following matrix formulation.Lecture 9 Slide 9 6.837 Fall '01Lecture 9 --- 6.837 Fall '01http://graphics/classes/6.837/F01/Lecture09/Slide09.html [10/10/2001 7:28:12 PM]Cross Product in Matrix FormThe vector cross product also acts on two vectors and returns a third vector. Geometrically,this new vector is constructed
View Full Document