Transformations: ProjectionAdminSlide 3Recap: 3-D Rotation MatricesRecap: Compositing MatricesRecap: Rotation MatricesRecap: Homogeneous CoordinatesSlide 8Slide 9Slide 10Slide 11Slide 12Recap: Translation MatricesSlide 14Slide 15Slide 16More On Homogeneous CoordsSlide 18Perspective ProjectionSlide 20Slide 21Slide 22A Perspective Projection MatrixSlide 24Slide 25Projection MatricesTransformations: ProjectionCS 445/645Introduction to Computer GraphicsDavid Luebke, Spring 2003David Luebke 2 01/14/19Admin●Assn 1 due…David Luebke 3 01/14/19Admin●Assn 1 due… now■Any issues?David Luebke 4 01/14/19Recap: 3-D Rotation Matrices●An arbitrary rotation about A can be formed by compositing several canonical rotations together●We can express each rotation as a matrix●Compositing transforms == multiplying matrices●Thus we can express the final rotation as the product of canonical rotation matrices●Thus we can express the final rotation with a single matrix!David Luebke 5 01/14/19Recap: Compositing Matrices●We have the following matrices:p: The point to be rotated about A by Ry : Rotate about Y by Rx : Rotate about X by Rz : Rotate about Z by Rx -1: Undo rotation about X by Ry-1 : Undo rotation about Y by ●Thus:p’ = Ry-1 Rx -1 Rz Rx Ry pDavid Luebke 6 01/14/19Recap: Rotation Matrices●Rotation matrix is orthogonal■Columns/rows linearly independent■Columns/rows sum to 1●The inverse of an orthogonal matrix is its transpose:jfciebhdajihfedcbajihfedcbaT1David Luebke 7 01/14/19Recap:Homogeneous Coordinates●Homogeneous coordinates: represent coordinates in 3 dimensions with a 4-vector(Note that typically w = 1 in object coordinates)wzyxwzwywxzyx1///),,(David Luebke 8 01/14/19Recap:Homogeneous Coordinates●Homogeneous coordinates seem unintuitive, but they make graphics operations much easier●Our transformation matrices are now 4x4:10000)cos()sin(00)sin()cos(00001xRDavid Luebke 9 01/14/19Recap:Homogeneous Coordinates●Homogeneous coordinates seem unintuitive, but they make graphics operations much easier●Our transformation matrices are now 4x4:10000)cos(0)sin(00100)sin(0)cos(yRDavid Luebke 10 01/14/19Recap:Homogeneous Coordinates●Homogeneous coordinates seem unintuitive, but they make graphics operations much easier●Our transformation matrices are now 4x4:1000010000)cos()sin(00)sin()cos(zRDavid Luebke 11 01/14/19Recap:Homogeneous Coordinates●Homogeneous coordinates seem unintuitive, but they make graphics operations much easier●Our transformation matrices are now 4x4:1000000000000zyxSSSSDavid Luebke 12 01/14/19Recap:Homogeneous Coordinates●Homogeneous coordinates seem unintuitive, but they make graphics operations much easier●Our transformation matrices are now 4x4:1 0 00 1 00 0 10 0 0 1xyzTTT� �� �� �=� �� �� �TDavid Luebke 13 01/14/19Recap:Translation Matrices●Now that we can represent translation as a matrix, we can composite it with other transformations●Ex: rotate 90° about X, then 10 units down Z:wzyxwzyx10000)90cos()90sin(00)90sin()90cos(0000110001010000100001''''David Luebke 14 01/14/19Recap:Translation Matrices●Now that we can represent translation as a matrix, we can composite it with other transformations●Ex: rotate 90° about X, then 10 units down Z:wzyxwzyx100000100100000110001010000100001''''David Luebke 15 01/14/19Recap:Translation Matrices●Now that we can represent translation as a matrix, we can composite it with other transformations●Ex: rotate 90° about X, then 10 units down Z:wzyxwzyx10001001001000001''''David Luebke 16 01/14/19Recap:Translation Matrices●Now that we can represent translation as a matrix, we can composite it with other transformations●Ex: rotate 90° about X, then 10 units down Z:wyzxwzyx10''''David Luebke 17 01/14/19More On Homogeneous Coords●What effect does the following matrix have?●Conceptually, the fourth coordinate w is a bit like a scale factorwzyxwzyx10000010000100001''''David Luebke 18 01/14/19More On Homogeneous Coords●Intuitively:■The w coordinate of a homogeneous point is typically 1■Decreasing w makes the point “bigger”, meaning further from the origin■Homogeneous points with w = 0 are thus “points at infinity”, meaning infinitely far away in some direction. (What direction?)■To help illustrate this, imagine subtracting two homogeneous pointsDavid Luebke 19 01/14/19Perspective Projection●In the real world, objects exhibit perspective foreshortening: distant objects appear smaller●The basic situation:David Luebke 20 01/14/19Perspective Projection●When we do 3-D graphics, we think of the screen as a 2-D window onto the 3-D world:How tall shouldthis bunny be?David Luebke 21 01/14/19Perspective Projection●The geometry of the situation is that of similar triangles. View from above:●What is x’? P (x, y, z)XZViewplaned(0,0,0)x’ = ?David Luebke 22 01/14/19Perspective Projection●Desired result for a point [x, y, z, 1]T projected onto the view plane:●What could a matrix look like to do this?dzdzyzydydzxzxdxzydyzxdx,','','David Luebke 23 01/14/19A Perspective Projection
View Full Document