{"id":92,"date":"2018-07-20T07:30:50","date_gmt":"2018-07-20T07:30:50","guid":{"rendered":"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/?post_type=chapter&#038;p=92"},"modified":"2018-12-26T12:13:29","modified_gmt":"2018-12-26T12:13:29","slug":"composite-2d-transformations","status":"publish","type":"chapter","link":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/chapter\/composite-2d-transformations\/","title":{"rendered":"Composite 2D Transformations"},"content":{"raw":"<div><span style=\"float: right\"><a href=\"https:\/\/youtu.be\/oYlkJUZWby0\" target=\"_blank\" rel=\"noopener\"><img src=\"http:\/\/epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/2018\/11\/download.png\" alt=\"epgp books\" width=\"75px\" height=\"75px;\" \/><\/a>\r\n<\/span><\/div>\r\n<div>\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n<strong>Objectives:<\/strong>\r\n<ul>\r\n \t<li>Understand composite transformations and their representation in homogeneous coordinates.<\/li>\r\n \t<li style=\"text-align: justify\">Learn how to break up a complex transformation into a series of simple transformations and thus deal with complexity.<\/li>\r\n<\/ul>\r\n&nbsp;\r\n\r\n<strong>Discussion:<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Let\u2019s recollect discussion on Basic transformations, Translation, Rotation and scalingfrom the previous module(5th module). All the three basic transformations can be represented in a common format using one matrix multiplication and one matrix addition. Using homogeneous coordinate representation, we can combine the two (multiplication and addition in 2D Cartesian form) into a single 3x3 homogeneous matrix. Given below are the homogeneous representations of the three basic transformations assuming that the transformations are performed with respect to origin. Now to perform a transformation on an object simply multiply the corresponding homogeneous transformation matrix with the coordinates that define the object, and get the new coordinates.<\/p>\r\n\r\n<\/div>\r\n<div>\r\n\r\n<img class=\"size-full wp-image-95 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-51.png\" alt=\"\" width=\"527\" height=\"322\" \/>\r\n\r\n<img class=\"size-full wp-image-96 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-52.png\" alt=\"\" width=\"338\" height=\"64\" \/>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Observe the elements of the third column in the above three matrices for Translation, Rotation and Scaling. We can notice that for Translation the third column has the elements (tx,ty) which are non-zero, while the elements of the third column for rotation and scaling transformations are zeros (leaving 1, as 1 being the homogeneous coordinate). The third column elements will be non-zeros for Rotation and Scaling, if they are performed with respect to some other point in space other than origin. Those elements for Rotation and Scaling will be the contents of the matrix Mr and Ms, as discussed in the previous module (Module 5).<\/p>\r\n&nbsp;\r\n\r\n<strong>Composition:<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">As we know from previous discussions that due to representations in homogeneous coordinates, a series of transformations can be simply represented as matrix multiplications,acomposite is then obtained. The composite can then be used to compute final coordinates straight away given the initial coordinates.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">Let\u2019s understand composite transformations by performing multiple transformations in succession, to start with consider the following cases<\/p>\r\n&nbsp;\r\n\r\n<strong>Case -1:<\/strong>Two successive translations,\r\n\r\n<strong>Case - 2:<\/strong>Two successive rotations,\r\n\r\n<strong>Case - 3<\/strong>: Two successive scaling operations\r\n\r\n&nbsp;\r\n\r\n<strong>Case-1:Two Successive translations<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Let T1 (tx1, ty1) and T2 (tx2,ty2) be two translations applied on a point P(x,y) in succession. Find the composite transformation matrix?<\/p>\r\n&nbsp;\r\n\r\n<strong>Sol: <\/strong>First T1 is applied on P as\r\n\r\nT1 (tx1, ty1)<strong>.<\/strong> {P}\r\n\r\nThen T2 is applied on the resultant position i.e.\r\n\r\n&nbsp;\r\n<p style=\"text-align: center\">P\u2019=T2 (tx2, ty2)<strong>.<\/strong>{T1 (tx1, ty1)<strong>.<\/strong>{P}}<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">It is evident from this equation that, the transformations applied in the order T1, T2 are reversed. This is because first T1 is applied on P, so P is multiplied to the right of T1. The resultant matrix is a new position, which is then multiplied to the right of T2, to get the final position. It makes no difference if T2 and T1 are first multiplied and the resultant 3x3 matrix (called composite) is multiplied with P on the right. So we can rearrange the braces as below (which does not alter the end result)<\/p>\r\n&nbsp;\r\n<p style=\"text-align: center\">P\u2019={T2 (tx2, ty2)<strong>.<\/strong>T1 (tx1, ty1)}<strong>.<\/strong>{P}<\/p>\r\n&nbsp;\r\n\r\nConverting the above notation into matrix form we have\r\n\r\n<\/div>\r\n<img class=\"size-full wp-image-97 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-53.png\" alt=\"\" width=\"257\" height=\"159\" \/>\r\n<div>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Thus we can conclude that two successive translations are <strong>additive (<\/strong>as is evident from the third column elements in the composite matrix)<strong>.<\/strong>The notation for this is given below where T being the composite transformation matrix, representing the complex transformation of two successive translations.<\/p>\r\n<p style=\"text-align: center\">P\u2019=T (tx2+tx1, ty2+ty1)<strong>.<\/strong>{P}<\/p>\r\n&nbsp;\r\n\r\n<strong>Case-2:Two Successive rotations<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Let R1 (\u03b81) and R2 (\u03b82) be two rotations applied on a point P(x,y) in succession, with respect to origin.. Find the composite transformation matrix?<\/p>\r\n&nbsp;\r\n\r\n<strong>Sol: <\/strong>First R1 is applied on P as\r\n\r\nR1 (\u03b81)<strong>.<\/strong> {P}\r\n\r\nThen R2 is applied on the resultant position i.e.\r\n\r\n&nbsp;\r\n<p style=\"text-align: center\">P\u2019= {R2(\u03b82).R1(\u03b81)}.{P}<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-98 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-54.png\" alt=\"\" width=\"354\" height=\"144\" \/>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Thus we can conclude that two successive rotations are <strong>additive<\/strong>(as evident from the composite matrix) which can be written in notation as<\/p>\r\n&nbsp;\r\n<p style=\"text-align: center\">P\u2019=R (\u03b82+\u03b81)<strong>.<\/strong>{P}<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">where R is the composite matrix representing the complex transformation,two successive rotations.<\/p>\r\n&nbsp;\r\n\r\n<strong>Case-3:Two Successive scaling operations<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Let S1 (sx1,sy1) and S2 (sx2, sy2) be two rotations applied on a point P(x,y) in succession, with respect to origin.. Find the composite transformation matrix?<\/p>\r\n&nbsp;\r\n\r\n<strong>Sol: <\/strong>First S1 is applied on P as\r\n\r\nS2 (sx1,sy1)<strong>.<\/strong> {P}\r\n\r\nThen S2 is applied on the resultant position i.e.\r\n\r\n&nbsp;\r\n<p style=\"text-align: center\">P\u2019= {S2 (sx2, sy2) . S1 (sx1,sy1) )}.{P}<\/p>\r\n\r\n<\/div>\r\n<img class=\"size-full wp-image-99 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-55.png\" alt=\"\" width=\"300\" height=\"151\" \/>\r\n<div>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Thus we can conclude that two successive scaling operations are <strong>multiplicative<\/strong> (as evident from the composite matrix) which can be written in notation as<\/p>\r\n&nbsp;\r\n<p style=\"text-align: center\">P\u2019=S (sx2.sx1, sy2.sy1)<strong>.<\/strong>{P}<\/p>\r\n&nbsp;\r\n\r\nwhere S is the composite matrix representing the complex transformation, two successive scalings.\r\n\r\n&nbsp;\r\n\r\n<strong>Example-1<\/strong>:<strong>General Pivot Point Rotation:<\/strong>\r\n\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-100 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-56.png\" alt=\"\" width=\"481\" height=\"194\" \/>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Let\u2019s consider an example for composite transformations through, general pivot point rotation. Let\u2019s assume the case of rotation about a pivot that is any point in space other than origin. We can treat this as a complex transformation. A complex transformation can be broken up into a series of simple \/ basic transformations and simply multiply them, to get the composite matrix that represents the complex transformation.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">Imagine a randomly chosen pivot point,say, at (xr,yr) as shown in the figure above. Assume an object to be rotated about the chosen pivot point. The sequence of steps to break the complex transformation of \u2018General Pivot Point Rotation\u2019 is given below<\/p>\r\n&nbsp;\r\n\r\nStep-1: Pivot point translated such that it is at origin.\r\n\r\n&nbsp;\r\n<p style=\"text-align: left\">T(-x<sub>r<\/sub>,-y<sub>r<\/sub>)<\/p>\r\n&nbsp;\r\n\r\nStep-2: Rotation with respect to origin performed.\r\n\r\n&nbsp;\r\n\r\nR(\u03b8)\r\n\r\n&nbsp;\r\n\r\nStep-3: Pivot point translated back to its original position.\r\n\r\n&nbsp;\r\n\r\nT(x<sub>r<\/sub>, y<sub>r<\/sub>)\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">The above three steps are to performed in that order. When we convert that into notation form, we have to put the steps in the reverse order (as understood from previous discussion in this module)<\/p>\r\n&nbsp;\r\n<p style=\"text-align: center\">P\u2019= {T(xr, yr).R(\u03b8).T(-xr,-yr)}.{P}<\/p>\r\n&nbsp;\r\n\r\nConverting the above notation to matrix form we have\r\n\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-101 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-57.png\" alt=\"\" width=\"355\" height=\"70\" \/>\r\n\r\n&nbsp;\r\n\r\nAfter finding the composite we have\r\n\r\n<\/div>\r\n<img class=\"size-full wp-image-102 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-58.png\" alt=\"\" width=\"349\" height=\"89\" \/>\r\n<div>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">From the composite matrix it is understood that rotation about any general point in space would result in two non-zero elements of the third column<\/p>\r\n&nbsp;\r\n<p style=\"text-align: center\">x<sub>r<\/sub>(1-cos\u03b8)+y<sub>r<\/sub> sin\u03b8,<\/p>\r\n<p style=\"text-align: center\">y<sub>r<\/sub>(1-cos\u03b8)-x<sub>r<\/sub> sin\u03b8<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">The above two elements are the elements of the Matrix Mr (refer to discussion in module 5), which we assumed earlier as some non-zero elements, and now derived.<\/p>\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n<strong>Example-2<\/strong>:<strong> General fixed Point Scaling:<\/strong>\r\n\r\n<\/div>\r\n&nbsp;\r\n<div>\r\n\r\n<img class=\"size-full wp-image-103 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-59.png\" alt=\"\" width=\"530\" height=\"185\" \/>\r\n\r\n&nbsp;\r\n\r\n<\/div>\r\n<div>\r\n<p style=\"text-align: justify\">Let\u2019s consider another example for composite transformations through, general fixed point scaling. Let\u2019s assume the case of scalingwith respect to a fixedpoint that is any point in space other than origin. We can treat this as a complex transformation. A complex transformation can be broken up into a series of simple \/ basic transformations and simply multiply them, to get the composite matrix that represents the complex transformation.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">Imagine a randomly chosen fixed point, say, at (xf,yf) as shown in the figure above. Assume an object to be scaled about the chosen fixed point. The sequence of steps to break the complex transformation of \u2018General fixed Point scaling\u2019 is given below<\/p>\r\n&nbsp;\r\n\r\nStep-1: Fixed point translated such that it is at origin.\r\n\r\nT(-x<sub>f<\/sub>,-y<sub>f<\/sub>)\r\n\r\n&nbsp;\r\n\r\nStep-2: Scaling with respect to origin performed.\r\n\r\nS(s<sub>x<\/sub>,s<sub>y<\/sub>)\r\n\r\n&nbsp;\r\n\r\nStep-3: Fixed point translated back to its original position.\r\n\r\nT(x<sub>f<\/sub>, y<sub>f<\/sub>)\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">The above three steps are to performed in that order. When we convert that into notation form, we have to put the steps in the reverse order (as understood from previous discussion in this module)<\/p>\r\n&nbsp;\r\n<p style=\"text-align: center\">P\u2019= {T(xf,yf).S(sx,sy).T(-xf,-yf)}.{P}<\/p>\r\n&nbsp;\r\n\r\nConverting the above notation to matrix form we have\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-104 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-60.png\" alt=\"\" width=\"361\" height=\"72\" \/>\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\nAfter finding the composite we have\r\n\r\n<\/div>\r\n<img class=\"size-full wp-image-105 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-61.png\" alt=\"\" width=\"256\" height=\"73\" \/>\r\n<div>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">From the composite matrix it is understood that rotation about any general point in space would result in two non-zero elements of the third columnare<\/p>\r\n&nbsp;\r\n<p style=\"text-align: center\">x<sub>f<\/sub>(1-s<sub>x<\/sub>)<\/p>\r\n<p style=\"text-align: center\">y<sub>f<\/sub>(1-s<sub>y<\/sub>)<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">The above two elements are the elements of the Matrix Ms (refer to discussion in module 5), which we assumed earlier as some non-zero elements), and now derived.<\/p>\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n<strong>Example-3: General scaling directions<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Let\u2019s consider another interesting example, \u2018General Scaling Directions\u2019, which can understood as, scaling performed on an object along two mutually perpendicular directions other than the standard X and Y directions of the coordinate system, i.e., the object is stretched or squeezed along directions say S1 and S2 which are other than X and Y directions. If an object like a standard square positioned at origin is stretched along its diagonal the shape gets destroyed and it might turn out to be a rhombus or other.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">As an example, Consider a standard unit square (A unit square whose sides are aligned with the coordinate axes and one of its vertices is (0, 0)) at origin, as shown in the figure below. Scale it along scaling directions such that S1=1 and S2=2 (where S1 and S2 are scaling factors alongS1and S2directions respectively.<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-106 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-62.png\" alt=\"\" width=\"245\" height=\"249\" \/>\r\n<p style=\"text-align: justify\">We can treat this as a complex transformation. A complex transformation can be broken up into a series of simple \/ basic transformations and simply multiply them, to get the composite matrix that represents the complex transformation.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">The sequence of steps to break the complex transformation of \u2018General scaling directions\u2019 is given below<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">Step-1:Rotate the two scaling directions such that they align with coordinate directions.<\/p>\r\n&nbsp;\r\n\r\nR (\u03b8)\r\n\r\n&nbsp;\r\n\r\nStep-2:Scale with respect to origin\r\n\r\n&nbsp;\r\n\r\nS (s1,s2)\r\n\r\n&nbsp;\r\n\r\n<span style=\"text-align: initial;font-size: 1em\">Step-3:Rotate the two scaling directions back to their original positions.<\/span>\r\n\r\n<\/div>\r\n<div>\r\n\r\n&nbsp;\r\n\r\nR<sup>-1<\/sup>(\u03b8)\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">The above three steps are to be performed in that order. When we convert that into notation form, we have to put the steps in the reverse order (as understood from previous discussion in this module)<\/p>\r\n&nbsp;\r\n<p style=\"text-align: center\">P\u2019= {R-1(\u03b8).S(s1,s2).R(\u03b8)}.{P}<\/p>\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-107 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-63.png\" alt=\"\" width=\"659\" height=\"523\" \/>\r\n\r\nWe can summarize the above steps in notation form as given below\r\n\r\n&nbsp;\r\n\r\nP\u2019= {R(90\u00b0).S(2,2)}.{P}\r\n\r\n&nbsp;\r\n\r\nStep-1: Scaling w.r.t. fixed point \u2013 (2,2).\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">For this you can refer to the composite matrix discussed on \u2018general fixed point scaling\u2019 section, and we have<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-108 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-64.png\" alt=\"\" width=\"135\" height=\"68\" \/>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">If you could not remember this, follow the three steps i.e. <em>translate<\/em> the fixed point, <em>scale<\/em> with respect to origin and <em>translate<\/em> back. The composite matrix can be obtained as shown below.<\/p>\r\n\r\n<\/div>\r\n<img class=\"size-full wp-image-109 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-65.png\" alt=\"\" width=\"378\" height=\"79\" \/>\r\n\r\n&nbsp;\r\n\r\nStep-2:Rotate by 90\u00b0 CCW\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">In this step, if the question does not explicitly mention any pivot point for performing transformation, we can safely assume origin as the pivot point.(Otherwise if the question has information on a pivot point about which the transformation is to be performed, then treat this as complex and compute the composite matrix separately as similar to that done in step-1). So we can assume the standard homogeneous matrix representation for rotation as shown below with angle 90\u00b0and CCW (counter Clock-Wise)rotations are positive.<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-110 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-66.png\" alt=\"\" width=\"277\" height=\"74\" \/>\r\n\r\n&nbsp;\r\n\r\nThus the final composite matrix is obtained by multiplying the two matrices derived, as shown below.\r\n\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-111 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-67.png\" alt=\"\" width=\"387\" height=\"247\" \/>\r\n\r\n&nbsp;\r\n\r\nNow multiply each vertex with the composite matrix and straight away get the new vertex.\r\n\r\n&nbsp;\r\n\r\nThe new vertices are given below.\r\n\r\n&nbsp;\r\n\r\n(2,2) -&gt;\u00a0 \u00a0(-2,2)\r\n\r\n(2,10) -&gt; (-18,2)\r\n\r\n(10,2) -&gt;\u00a0 (-2,18)\r\n\r\n&nbsp;\r\n\r\nEnd of Solution:\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\"><strong>Important Note:<\/strong>As every object is made up of a set of vertices, it is enough that we find transformed vertices, and redraw the new object.<\/p>\r\n&nbsp;\r\n\r\nSteps to solve a problem\r\n<ul>\r\n \t<li>Form the notation from the given data<\/li>\r\n \t<li>Convert the notations to equivalent matrix representations<\/li>\r\n \t<li>Compute the composite transformation matrix<\/li>\r\n \t<li>Multiply each vertex and get the new vertex.<\/li>\r\n<\/ul>\r\n&nbsp;\r\n\r\n<strong>Summary:<\/strong>\r\n<ul>\r\n \t<li>Learnt about composite 2D transformations and representation in homogeneous coordinates.<\/li>\r\n \t<li>Also learnt the steps to solve complex transformation problems<\/li>\r\n<\/ul>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-112 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-68.png\" alt=\"\" width=\"668\" height=\"272\" \/>\r\n\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td><strong>you can view video on Composite 2D Transformations<\/strong><\/td>\r\n<td><a href=\"https:\/\/youtu.be\/oYlkJUZWby0\" target=\"_blank\" rel=\"noopener\"><img class=\"alignnone wp-image-120\" src=\"http:\/\/epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/2018\/11\/download.png\" alt=\"\" width=\"36\" height=\"36\" \/><\/a><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>","rendered":"<div><span style=\"float: right\"><a href=\"https:\/\/youtu.be\/oYlkJUZWby0\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"http:\/\/epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/2018\/11\/download.png\" alt=\"epgp books\" width=\"75px\" height=\"75px;\" \/><\/a><br \/>\n<\/span><\/div>\n<div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Objectives:<\/strong><\/p>\n<ul>\n<li>Understand composite transformations and their representation in homogeneous coordinates.<\/li>\n<li style=\"text-align: justify\">Learn how to break up a complex transformation into a series of simple transformations and thus deal with complexity.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Discussion:<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Let\u2019s recollect discussion on Basic transformations, Translation, Rotation and scalingfrom the previous module(5th module). All the three basic transformations can be represented in a common format using one matrix multiplication and one matrix addition. Using homogeneous coordinate representation, we can combine the two (multiplication and addition in 2D Cartesian form) into a single 3&#215;3 homogeneous matrix. Given below are the homogeneous representations of the three basic transformations assuming that the transformations are performed with respect to origin. Now to perform a transformation on an object simply multiply the corresponding homogeneous transformation matrix with the coordinates that define the object, and get the new coordinates.<\/p>\n<\/div>\n<div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-95 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-51.png\" alt=\"\" width=\"527\" height=\"322\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-51.png 527w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-51-300x183.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-51-65x40.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-51-225x137.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-51-350x214.png 350w\" sizes=\"auto, (max-width: 527px) 100vw, 527px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-96 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-52.png\" alt=\"\" width=\"338\" height=\"64\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-52.png 338w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-52-300x57.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-52-65x12.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-52-225x43.png 225w\" sizes=\"auto, (max-width: 338px) 100vw, 338px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Observe the elements of the third column in the above three matrices for Translation, Rotation and Scaling. We can notice that for Translation the third column has the elements (tx,ty) which are non-zero, while the elements of the third column for rotation and scaling transformations are zeros (leaving 1, as 1 being the homogeneous coordinate). The third column elements will be non-zeros for Rotation and Scaling, if they are performed with respect to some other point in space other than origin. Those elements for Rotation and Scaling will be the contents of the matrix Mr and Ms, as discussed in the previous module (Module 5).<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Composition:<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">As we know from previous discussions that due to representations in homogeneous coordinates, a series of transformations can be simply represented as matrix multiplications,acomposite is then obtained. The composite can then be used to compute final coordinates straight away given the initial coordinates.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Let\u2019s understand composite transformations by performing multiple transformations in succession, to start with consider the following cases<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Case -1:<\/strong>Two successive translations,<\/p>\n<p><strong>Case &#8211; 2:<\/strong>Two successive rotations,<\/p>\n<p><strong>Case &#8211; 3<\/strong>: Two successive scaling operations<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Case-1:Two Successive translations<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Let T1 (tx1, ty1) and T2 (tx2,ty2) be two translations applied on a point P(x,y) in succession. Find the composite transformation matrix?<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Sol: <\/strong>First T1 is applied on P as<\/p>\n<p>T1 (tx1, ty1)<strong>.<\/strong> {P}<\/p>\n<p>Then T2 is applied on the resultant position i.e.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\">P\u2019=T2 (tx2, ty2)<strong>.<\/strong>{T1 (tx1, ty1)<strong>.<\/strong>{P}}<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">It is evident from this equation that, the transformations applied in the order T1, T2 are reversed. This is because first T1 is applied on P, so P is multiplied to the right of T1. The resultant matrix is a new position, which is then multiplied to the right of T2, to get the final position. It makes no difference if T2 and T1 are first multiplied and the resultant 3&#215;3 matrix (called composite) is multiplied with P on the right. So we can rearrange the braces as below (which does not alter the end result)<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\">P\u2019={T2 (tx2, ty2)<strong>.<\/strong>T1 (tx1, ty1)}<strong>.<\/strong>{P}<\/p>\n<p>&nbsp;<\/p>\n<p>Converting the above notation into matrix form we have<\/p>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-97 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-53.png\" alt=\"\" width=\"257\" height=\"159\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-53.png 257w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-53-65x40.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-53-225x139.png 225w\" sizes=\"auto, (max-width: 257px) 100vw, 257px\" \/><\/p>\n<div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Thus we can conclude that two successive translations are <strong>additive (<\/strong>as is evident from the third column elements in the composite matrix)<strong>.<\/strong>The notation for this is given below where T being the composite transformation matrix, representing the complex transformation of two successive translations.<\/p>\n<p style=\"text-align: center\">P\u2019=T (tx2+tx1, ty2+ty1)<strong>.<\/strong>{P}<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Case-2:Two Successive rotations<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Let R1 (\u03b81) and R2 (\u03b82) be two rotations applied on a point P(x,y) in succession, with respect to origin.. Find the composite transformation matrix?<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Sol: <\/strong>First R1 is applied on P as<\/p>\n<p>R1 (\u03b81)<strong>.<\/strong> {P}<\/p>\n<p>Then R2 is applied on the resultant position i.e.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\">P\u2019= {R2(\u03b82).R1(\u03b81)}.{P}<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-98 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-54.png\" alt=\"\" width=\"354\" height=\"144\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-54.png 354w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-54-300x122.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-54-65x26.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-54-225x92.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-54-350x142.png 350w\" sizes=\"auto, (max-width: 354px) 100vw, 354px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Thus we can conclude that two successive rotations are <strong>additive<\/strong>(as evident from the composite matrix) which can be written in notation as<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\">P\u2019=R (\u03b82+\u03b81)<strong>.<\/strong>{P}<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">where R is the composite matrix representing the complex transformation,two successive rotations.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Case-3:Two Successive scaling operations<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Let S1 (sx1,sy1) and S2 (sx2, sy2) be two rotations applied on a point P(x,y) in succession, with respect to origin.. Find the composite transformation matrix?<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Sol: <\/strong>First S1 is applied on P as<\/p>\n<p>S2 (sx1,sy1)<strong>.<\/strong> {P}<\/p>\n<p>Then S2 is applied on the resultant position i.e.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\">P\u2019= {S2 (sx2, sy2) . S1 (sx1,sy1) )}.{P}<\/p>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-99 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-55.png\" alt=\"\" width=\"300\" height=\"151\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-55.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-55-65x33.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-55-225x113.png 225w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Thus we can conclude that two successive scaling operations are <strong>multiplicative<\/strong> (as evident from the composite matrix) which can be written in notation as<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\">P\u2019=S (sx2.sx1, sy2.sy1)<strong>.<\/strong>{P}<\/p>\n<p>&nbsp;<\/p>\n<p>where S is the composite matrix representing the complex transformation, two successive scalings.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Example-1<\/strong>:<strong>General Pivot Point Rotation:<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-100 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-56.png\" alt=\"\" width=\"481\" height=\"194\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-56.png 481w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-56-300x121.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-56-65x26.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-56-225x91.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-56-350x141.png 350w\" sizes=\"auto, (max-width: 481px) 100vw, 481px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Let\u2019s consider an example for composite transformations through, general pivot point rotation. Let\u2019s assume the case of rotation about a pivot that is any point in space other than origin. We can treat this as a complex transformation. A complex transformation can be broken up into a series of simple \/ basic transformations and simply multiply them, to get the composite matrix that represents the complex transformation.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Imagine a randomly chosen pivot point,say, at (xr,yr) as shown in the figure above. Assume an object to be rotated about the chosen pivot point. The sequence of steps to break the complex transformation of \u2018General Pivot Point Rotation\u2019 is given below<\/p>\n<p>&nbsp;<\/p>\n<p>Step-1: Pivot point translated such that it is at origin.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: left\">T(-x<sub>r<\/sub>,-y<sub>r<\/sub>)<\/p>\n<p>&nbsp;<\/p>\n<p>Step-2: Rotation with respect to origin performed.<\/p>\n<p>&nbsp;<\/p>\n<p>R(\u03b8)<\/p>\n<p>&nbsp;<\/p>\n<p>Step-3: Pivot point translated back to its original position.<\/p>\n<p>&nbsp;<\/p>\n<p>T(x<sub>r<\/sub>, y<sub>r<\/sub>)<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The above three steps are to performed in that order. When we convert that into notation form, we have to put the steps in the reverse order (as understood from previous discussion in this module)<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\">P\u2019= {T(xr, yr).R(\u03b8).T(-xr,-yr)}.{P}<\/p>\n<p>&nbsp;<\/p>\n<p>Converting the above notation to matrix form we have<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-101 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-57.png\" alt=\"\" width=\"355\" height=\"70\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-57.png 355w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-57-300x59.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-57-65x13.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-57-225x44.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-57-350x69.png 350w\" sizes=\"auto, (max-width: 355px) 100vw, 355px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>After finding the composite we have<\/p>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-102 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-58.png\" alt=\"\" width=\"349\" height=\"89\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-58.png 349w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-58-300x77.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-58-65x17.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-58-225x57.png 225w\" sizes=\"auto, (max-width: 349px) 100vw, 349px\" \/><\/p>\n<div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">From the composite matrix it is understood that rotation about any general point in space would result in two non-zero elements of the third column<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\">x<sub>r<\/sub>(1-cos\u03b8)+y<sub>r<\/sub> sin\u03b8,<\/p>\n<p style=\"text-align: center\">y<sub>r<\/sub>(1-cos\u03b8)-x<sub>r<\/sub> sin\u03b8<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The above two elements are the elements of the Matrix Mr (refer to discussion in module 5), which we assumed earlier as some non-zero elements, and now derived.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Example-2<\/strong>:<strong> General fixed Point Scaling:<\/strong><\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-103 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-59.png\" alt=\"\" width=\"530\" height=\"185\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-59.png 530w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-59-300x105.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-59-65x23.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-59-225x79.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-59-350x122.png 350w\" sizes=\"auto, (max-width: 530px) 100vw, 530px\" \/><\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<div>\n<p style=\"text-align: justify\">Let\u2019s consider another example for composite transformations through, general fixed point scaling. Let\u2019s assume the case of scalingwith respect to a fixedpoint that is any point in space other than origin. We can treat this as a complex transformation. A complex transformation can be broken up into a series of simple \/ basic transformations and simply multiply them, to get the composite matrix that represents the complex transformation.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Imagine a randomly chosen fixed point, say, at (xf,yf) as shown in the figure above. Assume an object to be scaled about the chosen fixed point. The sequence of steps to break the complex transformation of \u2018General fixed Point scaling\u2019 is given below<\/p>\n<p>&nbsp;<\/p>\n<p>Step-1: Fixed point translated such that it is at origin.<\/p>\n<p>T(-x<sub>f<\/sub>,-y<sub>f<\/sub>)<\/p>\n<p>&nbsp;<\/p>\n<p>Step-2: Scaling with respect to origin performed.<\/p>\n<p>S(s<sub>x<\/sub>,s<sub>y<\/sub>)<\/p>\n<p>&nbsp;<\/p>\n<p>Step-3: Fixed point translated back to its original position.<\/p>\n<p>T(x<sub>f<\/sub>, y<sub>f<\/sub>)<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The above three steps are to performed in that order. When we convert that into notation form, we have to put the steps in the reverse order (as understood from previous discussion in this module)<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\">P\u2019= {T(xf,yf).S(sx,sy).T(-xf,-yf)}.{P}<\/p>\n<p>&nbsp;<\/p>\n<p>Converting the above notation to matrix form we have<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-104 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-60.png\" alt=\"\" width=\"361\" height=\"72\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-60.png 361w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-60-300x60.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-60-65x13.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-60-225x45.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-60-350x70.png 350w\" sizes=\"auto, (max-width: 361px) 100vw, 361px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>After finding the composite we have<\/p>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-105 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-61.png\" alt=\"\" width=\"256\" height=\"73\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-61.png 256w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-61-65x19.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-61-225x64.png 225w\" sizes=\"auto, (max-width: 256px) 100vw, 256px\" \/><\/p>\n<div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">From the composite matrix it is understood that rotation about any general point in space would result in two non-zero elements of the third columnare<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\">x<sub>f<\/sub>(1-s<sub>x<\/sub>)<\/p>\n<p style=\"text-align: center\">y<sub>f<\/sub>(1-s<sub>y<\/sub>)<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The above two elements are the elements of the Matrix Ms (refer to discussion in module 5), which we assumed earlier as some non-zero elements), and now derived.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Example-3: General scaling directions<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Let\u2019s consider another interesting example, \u2018General Scaling Directions\u2019, which can understood as, scaling performed on an object along two mutually perpendicular directions other than the standard X and Y directions of the coordinate system, i.e., the object is stretched or squeezed along directions say S1 and S2 which are other than X and Y directions. If an object like a standard square positioned at origin is stretched along its diagonal the shape gets destroyed and it might turn out to be a rhombus or other.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">As an example, Consider a standard unit square (A unit square whose sides are aligned with the coordinate axes and one of its vertices is (0, 0)) at origin, as shown in the figure below. Scale it along scaling directions such that S1=1 and S2=2 (where S1 and S2 are scaling factors alongS1and S2directions respectively.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-106 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-62.png\" alt=\"\" width=\"245\" height=\"249\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-62.png 245w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-62-65x66.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-62-225x229.png 225w\" sizes=\"auto, (max-width: 245px) 100vw, 245px\" \/><\/p>\n<p style=\"text-align: justify\">We can treat this as a complex transformation. A complex transformation can be broken up into a series of simple \/ basic transformations and simply multiply them, to get the composite matrix that represents the complex transformation.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The sequence of steps to break the complex transformation of \u2018General scaling directions\u2019 is given below<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Step-1:Rotate the two scaling directions such that they align with coordinate directions.<\/p>\n<p>&nbsp;<\/p>\n<p>R (\u03b8)<\/p>\n<p>&nbsp;<\/p>\n<p>Step-2:Scale with respect to origin<\/p>\n<p>&nbsp;<\/p>\n<p>S (s1,s2)<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"text-align: initial;font-size: 1em\">Step-3:Rotate the two scaling directions back to their original positions.<\/span><\/p>\n<\/div>\n<div>\n<p>&nbsp;<\/p>\n<p>R<sup>-1<\/sup>(\u03b8)<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The above three steps are to be performed in that order. When we convert that into notation form, we have to put the steps in the reverse order (as understood from previous discussion in this module)<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\">P\u2019= {R-1(\u03b8).S(s1,s2).R(\u03b8)}.{P}<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-107 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-63.png\" alt=\"\" width=\"659\" height=\"523\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-63.png 659w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-63-300x238.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-63-65x52.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-63-225x179.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-63-350x278.png 350w\" sizes=\"auto, (max-width: 659px) 100vw, 659px\" \/><\/p>\n<p>We can summarize the above steps in notation form as given below<\/p>\n<p>&nbsp;<\/p>\n<p>P\u2019= {R(90\u00b0).S(2,2)}.{P}<\/p>\n<p>&nbsp;<\/p>\n<p>Step-1: Scaling w.r.t. fixed point \u2013 (2,2).<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">For this you can refer to the composite matrix discussed on \u2018general fixed point scaling\u2019 section, and we have<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-108 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-64.png\" alt=\"\" width=\"135\" height=\"68\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-64.png 135w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-64-65x33.png 65w\" sizes=\"auto, (max-width: 135px) 100vw, 135px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">If you could not remember this, follow the three steps i.e. <em>translate<\/em> the fixed point, <em>scale<\/em> with respect to origin and <em>translate<\/em> back. The composite matrix can be obtained as shown below.<\/p>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-109 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-65.png\" alt=\"\" width=\"378\" height=\"79\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-65.png 378w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-65-300x63.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-65-65x14.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-65-225x47.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-65-350x73.png 350w\" sizes=\"auto, (max-width: 378px) 100vw, 378px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Step-2:Rotate by 90\u00b0 CCW<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">In this step, if the question does not explicitly mention any pivot point for performing transformation, we can safely assume origin as the pivot point.(Otherwise if the question has information on a pivot point about which the transformation is to be performed, then treat this as complex and compute the composite matrix separately as similar to that done in step-1). So we can assume the standard homogeneous matrix representation for rotation as shown below with angle 90\u00b0and CCW (counter Clock-Wise)rotations are positive.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-110 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-66.png\" alt=\"\" width=\"277\" height=\"74\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-66.png 277w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-66-65x17.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-66-225x60.png 225w\" sizes=\"auto, (max-width: 277px) 100vw, 277px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Thus the final composite matrix is obtained by multiplying the two matrices derived, as shown below.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-111 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-67.png\" alt=\"\" width=\"387\" height=\"247\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-67.png 387w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-67-300x191.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-67-65x41.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-67-225x144.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-67-350x223.png 350w\" sizes=\"auto, (max-width: 387px) 100vw, 387px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Now multiply each vertex with the composite matrix and straight away get the new vertex.<\/p>\n<p>&nbsp;<\/p>\n<p>The new vertices are given below.<\/p>\n<p>&nbsp;<\/p>\n<p>(2,2) -&gt;\u00a0 \u00a0(-2,2)<\/p>\n<p>(2,10) -&gt; (-18,2)<\/p>\n<p>(10,2) -&gt;\u00a0 (-2,18)<\/p>\n<p>&nbsp;<\/p>\n<p>End of Solution:<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\"><strong>Important Note:<\/strong>As every object is made up of a set of vertices, it is enough that we find transformed vertices, and redraw the new object.<\/p>\n<p>&nbsp;<\/p>\n<p>Steps to solve a problem<\/p>\n<ul>\n<li>Form the notation from the given data<\/li>\n<li>Convert the notations to equivalent matrix representations<\/li>\n<li>Compute the composite transformation matrix<\/li>\n<li>Multiply each vertex and get the new vertex.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Summary:<\/strong><\/p>\n<ul>\n<li>Learnt about composite 2D transformations and representation in homogeneous coordinates.<\/li>\n<li>Also learnt the steps to solve complex transformation problems<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-112 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-68.png\" alt=\"\" width=\"668\" height=\"272\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-68.png 668w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-68-300x122.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-68-65x26.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-68-225x92.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-68-350x143.png 350w\" sizes=\"auto, (max-width: 668px) 100vw, 668px\" \/><\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>you can view video on Composite 2D Transformations<\/strong><\/td>\n<td><a href=\"https:\/\/youtu.be\/oYlkJUZWby0\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-120\" src=\"http:\/\/epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/2018\/11\/download.png\" alt=\"\" width=\"36\" height=\"36\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"author":3,"menu_order":6,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":["dr-t-raghuveera"],"pb_section_license":""},"chapter-type":[],"contributor":[59],"license":[],"class_list":["post-92","chapter","type-chapter","status-publish","hentry","contributor-dr-t-raghuveera"],"part":3,"_links":{"self":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapters\/92","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/wp\/v2\/users\/3"}],"version-history":[{"count":8,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapters\/92\/revisions"}],"predecessor-version":[{"id":608,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapters\/92\/revisions\/608"}],"part":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/parts\/3"}],"metadata":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapters\/92\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/wp\/v2\/media?parent=92"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapter-type?post=92"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/wp\/v2\/contributor?post=92"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/wp\/v2\/license?post=92"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}