logging in or signing up 2D Transformations ankush85 Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 4798 Category: Education License: All Rights Reserved Like it (8) Dislike it (0) Added: March 05, 2009 This Presentation is Public Favorites: 1 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript 2D Transformations : 2D Transformations Rotation About the Origin : Rotation About the Origin To rotate a line or polygon, we must rotate each of its vertices. To rotate point (x1,y1) to point (x2,y2) we observe: From the illustration we know that: sin (A + B) = y2/r cos (A + B) = x2/r sin A = y1/r cos A = x1/r x-axis Rotation About the Origin : Rotation About the Origin From the double angle formulas: sin (A + B) = sinAcosB + cosAsinB cos (A + B)= cosAcosB - sinAsinB Substituting: y2/r = (y1/r)cosB + (x1/r)sinB Therefore: y2 = y1cosB + x1sinB We have x2 = x1cosB - y1sinB y2 = x1sinB + y1cosB Translations : Translations Moving an object is called a translation. We translate a point by adding to the x and y coordinates, respectively, the amount the point should be shifted in the x and y directions. We translate an object by translating each vertex in the object. P2 = P1 + T T = ( tx ) ( ty ) P1 = ( x1 ) ( y1 ) P2 = (x1 + tx) (y1 + ty) Scaling : Scaling Changing the size of an object is called a scale. We scale an object by scaling the x and y coordinates of each vertex in the object. P2 = S P1 . S = (sx 0) (0 sy) P1 = ( x1 ) ( y1 ) P2 = (sxx1) (syy1) Homogeneous Coordinates : Homogeneous Coordinates Although the formulas we have shown are usually the most efficient way to implement programs to do scales, rotations and translations, it is easier to use matrix transformations to represent and manipulate them. In order to represent a translation as a matrix operation we use 3 x 3 matrices and pad our points to become 1 x 3 matrices. cos ø -sin ø 0 Rø = sin ø cos ø 0 0 0 1 Sx 0 0 S = 0 Sy 0 0 0 1 1 0 Tx T = 0 1 Ty 0 0 1 Point P = (x) (y) (1) Composite Transformations - Scaling : Composite Transformations - Scaling Given our three basic transformations we can create other transformations. Scaling with a fixed point A problem with the scale transformation is that it also moves the object being scaled. Scale a line between (2, 1) (4,1) to twice its length. (2 0 0) = (0 1 0) (0 0 1) (2 0 0) = (0 1 0) (0 0 1) (2) (1) (1) (4) (1) (1) (4) (1) (1) (8) (1) (1) Composite Transforms - Scaling (cont.) : Composite Transforms - Scaling (cont.) If we scale a line between (0, 1) (2,1) to twice its length, the left-hand endpoint does not move. (2 0 0) = (0 1 0) (0 0 1) (2 0 0) = (0 1 0) (0 0 1) (0,0) is known as a fixed point for the basic scaling transformation. We can used composite transformations to create a scale transformation with different fixed points. (0) (1) (1) (0) (1) (1) (2) (1) (1) (0) (1) (1) Fixed Point Scaling : Fixed Point Scaling Scale by 2 with fixed point = (2,1) Translate the point (2,1) to the origin Scale by 2 Translate origin to point (2,1) (1 0 2) (2 0 0) (1 0 -2) = (2 0 -2) (0 1 1) (0 1 0) (0 1 -1) (0 1 0) (0 0 1) (0 0 1) (0 0 1) (0 0 1) (2 0 -2) = (0 1 0) (0 0 1) (2 0 -2) = (0 1 0) (0 0 1) (2) (1) (1) (2) (1) (1) (4) (1) (1) (6) (1) (1) More Fixed Point Scaling : More Fixed Point Scaling Scale by 2 with fixed point = (3,1) Translate the point (3,1) to the origin Scale by 2 Translate origin to point (3,1) (1 0 3) (2 0 0) (1 0 -3) = (2 0 -3) (0 1 1) (0 1 0) (0 1 -1) (0 1 0) (0 0 1) (0 0 1) (0 0 1) (0 0 1) (2 0 -3) = (0 1 0) (0 0 1) (2 0 -3) = (0 1 0) (0 0 1) (2) (1) (1) (1) (1) (1) (4) (1) (1) (5) (1) (1) Rotation about a Fixed Point : Rotation about a Fixed Point Rotation of ø Degrees About Point (x,y) Translate (x,y) to origin Rotate Translate origin to (x,y) (1 0 x) (cosø -sinø 0)(1 0 -x) (cosø -sinø -xcosø + ysinø + x ) (0 1 y) (sinø cosø 0)(0 1 -y) = (sinø cosø -xsinø - ycosø + y ) (0 0 1) (0 0 1)(0 0 1) (0 0 1 ) You rotate the box by rotating each vertex. Shears : Shears Original Data y Shear x Shear 1 0 0 1 b 0 a 1 0 0 1 0 0 0 1 0 0 1 GRAPHICS --> x shear --> GRAPHICS Reflections : Reflections Reflection about the y-axis Reflection about the x-axis -1 0 0 1 0 0 0 1 0 0 -1 0 0 0 1 0 0 1 More Reflections : More Reflections Reflection about the origin Reflection about the line y=x -1 0 0 0 1 0 0 -1 0 1 0 0 0 0 1 0 0 1 You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
2D Transformations ankush85 Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 4798 Category: Education License: All Rights Reserved Like it (8) Dislike it (0) Added: March 05, 2009 This Presentation is Public Favorites: 1 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript 2D Transformations : 2D Transformations Rotation About the Origin : Rotation About the Origin To rotate a line or polygon, we must rotate each of its vertices. To rotate point (x1,y1) to point (x2,y2) we observe: From the illustration we know that: sin (A + B) = y2/r cos (A + B) = x2/r sin A = y1/r cos A = x1/r x-axis Rotation About the Origin : Rotation About the Origin From the double angle formulas: sin (A + B) = sinAcosB + cosAsinB cos (A + B)= cosAcosB - sinAsinB Substituting: y2/r = (y1/r)cosB + (x1/r)sinB Therefore: y2 = y1cosB + x1sinB We have x2 = x1cosB - y1sinB y2 = x1sinB + y1cosB Translations : Translations Moving an object is called a translation. We translate a point by adding to the x and y coordinates, respectively, the amount the point should be shifted in the x and y directions. We translate an object by translating each vertex in the object. P2 = P1 + T T = ( tx ) ( ty ) P1 = ( x1 ) ( y1 ) P2 = (x1 + tx) (y1 + ty) Scaling : Scaling Changing the size of an object is called a scale. We scale an object by scaling the x and y coordinates of each vertex in the object. P2 = S P1 . S = (sx 0) (0 sy) P1 = ( x1 ) ( y1 ) P2 = (sxx1) (syy1) Homogeneous Coordinates : Homogeneous Coordinates Although the formulas we have shown are usually the most efficient way to implement programs to do scales, rotations and translations, it is easier to use matrix transformations to represent and manipulate them. In order to represent a translation as a matrix operation we use 3 x 3 matrices and pad our points to become 1 x 3 matrices. cos ø -sin ø 0 Rø = sin ø cos ø 0 0 0 1 Sx 0 0 S = 0 Sy 0 0 0 1 1 0 Tx T = 0 1 Ty 0 0 1 Point P = (x) (y) (1) Composite Transformations - Scaling : Composite Transformations - Scaling Given our three basic transformations we can create other transformations. Scaling with a fixed point A problem with the scale transformation is that it also moves the object being scaled. Scale a line between (2, 1) (4,1) to twice its length. (2 0 0) = (0 1 0) (0 0 1) (2 0 0) = (0 1 0) (0 0 1) (2) (1) (1) (4) (1) (1) (4) (1) (1) (8) (1) (1) Composite Transforms - Scaling (cont.) : Composite Transforms - Scaling (cont.) If we scale a line between (0, 1) (2,1) to twice its length, the left-hand endpoint does not move. (2 0 0) = (0 1 0) (0 0 1) (2 0 0) = (0 1 0) (0 0 1) (0,0) is known as a fixed point for the basic scaling transformation. We can used composite transformations to create a scale transformation with different fixed points. (0) (1) (1) (0) (1) (1) (2) (1) (1) (0) (1) (1) Fixed Point Scaling : Fixed Point Scaling Scale by 2 with fixed point = (2,1) Translate the point (2,1) to the origin Scale by 2 Translate origin to point (2,1) (1 0 2) (2 0 0) (1 0 -2) = (2 0 -2) (0 1 1) (0 1 0) (0 1 -1) (0 1 0) (0 0 1) (0 0 1) (0 0 1) (0 0 1) (2 0 -2) = (0 1 0) (0 0 1) (2 0 -2) = (0 1 0) (0 0 1) (2) (1) (1) (2) (1) (1) (4) (1) (1) (6) (1) (1) More Fixed Point Scaling : More Fixed Point Scaling Scale by 2 with fixed point = (3,1) Translate the point (3,1) to the origin Scale by 2 Translate origin to point (3,1) (1 0 3) (2 0 0) (1 0 -3) = (2 0 -3) (0 1 1) (0 1 0) (0 1 -1) (0 1 0) (0 0 1) (0 0 1) (0 0 1) (0 0 1) (2 0 -3) = (0 1 0) (0 0 1) (2 0 -3) = (0 1 0) (0 0 1) (2) (1) (1) (1) (1) (1) (4) (1) (1) (5) (1) (1) Rotation about a Fixed Point : Rotation about a Fixed Point Rotation of ø Degrees About Point (x,y) Translate (x,y) to origin Rotate Translate origin to (x,y) (1 0 x) (cosø -sinø 0)(1 0 -x) (cosø -sinø -xcosø + ysinø + x ) (0 1 y) (sinø cosø 0)(0 1 -y) = (sinø cosø -xsinø - ycosø + y ) (0 0 1) (0 0 1)(0 0 1) (0 0 1 ) You rotate the box by rotating each vertex. Shears : Shears Original Data y Shear x Shear 1 0 0 1 b 0 a 1 0 0 1 0 0 0 1 0 0 1 GRAPHICS --> x shear --> GRAPHICS Reflections : Reflections Reflection about the y-axis Reflection about the x-axis -1 0 0 1 0 0 0 1 0 0 -1 0 0 0 1 0 0 1 More Reflections : More Reflections Reflection about the origin Reflection about the line y=x -1 0 0 0 1 0 0 -1 0 1 0 0 0 0 1 0 0 1