{"id":274,"date":"2018-07-21T04:55:17","date_gmt":"2018-07-21T04:55:17","guid":{"rendered":"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/?post_type=chapter&#038;p=274"},"modified":"2018-12-26T12:38:29","modified_gmt":"2018-12-26T12:38:29","slug":"3d-viewingviewing-transformations","status":"publish","type":"chapter","link":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/chapter\/3d-viewingviewing-transformations\/","title":{"rendered":"3D Viewing(Viewing Transformations)"},"content":{"raw":"<div><span style=\"float: right\"><a href=\"https:\/\/youtu.be\/mafHOa7hWRU\" 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<strong>Objectives:<\/strong>\r\n<ol>\r\n \t<li>Understand how a <em>viewing coordinate system<\/em> is set up<\/li>\r\n \t<li>Understand the theory behind <em>projection transformations<\/em>, including, <em>parallel<\/em> and <em>perspective<\/em><\/li>\r\n<\/ol>\r\n&nbsp;\r\n\r\n<strong>Discussion:<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Let\u2019s understand how a <em>viewing coordinate system<\/em> is setup in 3D. Setting up a viewing coordinate system is the first step in 3D viewing and this is similar to setting up a standard coordinate system (3 mutually perpendicular directions) at a given viewing position.The name <em>viewing coordinate <\/em>system is because; it is the reference position from where we view the objects in the world. Also it is important to remember the convention of RHS, that we always view the world along the negative z-axis. Once the VCS is set up, the next step is to convert world coordinates to viewing coordinates through <em>viewing transformation<\/em>. Before we proceed any further, it is important to understand the 3D viewing pipeline, which is similar to that of the 2D viewing pipeline (refer to Module 8).<\/p>\r\n&nbsp;\r\n\r\nThe sequence of steps in the 3D viewing pipeline is\r\n\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-277 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-192.png\" alt=\"\" width=\"237\" height=\"227\" \/>\r\n\r\n&nbsp;\r\n\r\n<\/div>\r\n<div>\r\n\r\n\u00a0 \u00a0 MT\u2013 Modeling Transformation (converts Model coordinates to World coordinates)\r\n<p style=\"text-align: justify\">VT\u2013 Viewing Transformation (World coordinates to Viewing coordinates) PT \u2013 Projection Transformation (Converts Viewing coordinates to Projection Coordinates)<\/p>\r\nCT \u2013 Clipping Transformation (Converts Projection coordinates to clipping coordinates)\r\n\r\nVT \u2013 Viewport Transformation (Converts clipping coordinates to Normalized coordinates)\r\n\r\nDT \u2013 Device Transformation (Converts Normalized coordinates to Device Coordinates)\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Imagine, we have to create 3D world with a set of objects of choice. The first step is to create an object in the 3D world. For this we need to identify a position in the 3D world, determine the dimensions, orientation of the object. We know from earlier discussions, that every object is initially created and identified with respect to its <em>local \/ model coordinate system<\/em> (a reference system, whose origin is at the centre of the object and the three mutually perpendicular directions determine the dimensions and orientation of the object in the 3D world).<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">The next step is to similarly create other objects of interest. Once the objects of interest are created, it\u2019s time to set up the viewing coordinate system (VCS), where we decide what is to be viewed. Once VCS is set up, we decide about the suitable <em>projection transformation<\/em> (parallel or perspective), which involves, deciding the shape of the <em>view volume<\/em>. The shape of the view volume depends on the type of projection transformation chosen<em>.View volume<\/em> is a volume of space in the 3D world. Once the shape is decided, the next step is to <em>clip<\/em> the contents of the world with respect to the view volume boundaries. This step is performed in Clipping Transformation, where, whichever objects that lie within the volume are selected for display. In 2D viewing, clipping is performed against a rectangular clip window, while in 3Dviewing, clipping is performed against a <em>view volume<\/em>. The penultimate step involves, converting <em>clipped<\/em> <em>coordinates <\/em>to<em> normalized coordinates<\/em>through<em>viewport transformation<\/em>. And finally the Device Transformation converts normalized coordinates to device coordinates.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">The above discussion can be easily understood by taking the analogy of a camera.We first choose a vantage point (position), then align our camera with the objects of interest(orientation), then decide what part of the world is to be captured (projection transformation), and select only that part of the world that falls within the rectangular region of the cameras view finder (clipping). Finally what is of interest is only captured on the film of the camera.<\/p>\r\n&nbsp;\r\n\r\n<strong>Viewing Transformation:<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">This is performed to convert world coordinates (WC) to viewing coordinates (VC). To perform this transformation, we need to set up the viewing coordinate system (VCS). Setting up a VCS involves, choosing a <em>position<\/em>, <em>direction<\/em> and <em>orientation<\/em>for a new 3D coordinate system, to look at the 3D world.<\/p>\r\n\r\n<\/div>\r\n<div>\r\n\r\n<img class=\"size-full wp-image-278 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-193.png\" alt=\"\" width=\"573\" height=\"219\" \/>\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">As can be seen from the figures above, a viewing coordinate system is derived from the world coordinate system, where <em>P<\/em>0(<em>x<\/em>0, <em>y<\/em>0, <em>z<\/em>0) happens to be the origin of the VCS and <em>Xv<\/em>, <em>Yv<\/em>, <em>Zv <\/em>are the 3 mutually perpendicular directions of the VCS.A<em> view plane <\/em>is generally the<em> XY <\/em>plane of the viewing coordinate system and meant for taking snaps of the world. In camera analogy a <em>viewplane<\/em> is similar to that of a film in a camera.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify\">To set up a VCS, first choose a position in the 3D world and call it the origin of the VCS. The next step is to identify 3 mutually perpendicular directions. It is enough if we identify two mutually perpendicular directions; the third direction is simply obtained by taking vector cross product of two vectors in the plane of the two already computed directions.At first let\u2019s focus on the Z-direction (<em>Z<\/em><em>v<\/em>)of the VCS. The convention (as used in OpenGL) is that, select a <em>look-at<\/em> point (a <em>look-at<\/em> point is a position in the 3D world where we are looking at) in the 3D world, connect the origin of the VCS with the <em>look-at<\/em> point, and the direction thus obtained is the <em>Z<\/em><em>v<\/em>direction of the VCS. The direction from the<em> look-at <\/em>point to the origin of the VCS is considered the +ve <em>Z<\/em><em>v<\/em> direction as shown in the figure below.<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-279 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-194.png\" alt=\"\" width=\"463\" height=\"176\" \/>\r\n\r\n&nbsp;\r\n\r\ni) Choose any position in the WCS and call it as viewing origin <em>P<\/em>0(<em>x<\/em>0<em>,y<\/em>0<em>,z<\/em>0).\r\n<p style=\"text-align: justify\">ii)Specify the +ve <em>Z<\/em><em>v<\/em> direction of the VCS by choosing a <em>look-at point<\/em> in the world. The direction from <em>look at point<\/em> to the <em>viewing origin<\/em> is the direction of the <em>normal vector<\/em> \u2018<strong><em>N<\/em><\/strong>\u2019 to the <em>view plane<\/em> as well as the +ve <em>Z<\/em><em>v<\/em> direction. Thus <em>Z<\/em><em>v<\/em> is established.<\/p>\r\n<p style=\"text-align: justify\">iii)\u00a0 Choose any upward direction for viewing <em>Y<\/em>-axis (<em>Y<\/em><em>v<\/em>).(For convenience, this direction may be chosen as the direction of the world Y-axis and at a later point of time we shall make necessary corrections for it.).Choose the unit vector direction (0,1,0), which is the vector along the world Y-axis, and then project the direction onto a plane perpendicular to <strong>N<\/strong> direction.This direction is called the <em>View-Up<\/em> vector denoted as <strong><em>V<\/em><\/strong>, which is the <em>Yv<\/em> direction of the VCS.<\/p>\r\niv)\u00a0 The direction for <em>X<\/em><em>v<\/em> <em>axis<\/em> can be chosen by computing vector <strong><em>U<\/em><\/strong> perpendicular to both <strong><em>N<\/em><\/strong> and\r\n\r\n&nbsp;\r\n\r\n<strong><em>V<\/em><\/strong>.\r\n\r\n<strong>N<\/strong>\u2013\u00a0 View plane Normal vector (along <em>Z<\/em><em>v<\/em> axis)\r\n\r\n<strong>V<\/strong>\u2013\u00a0 View up vector (along <em>Y<\/em><em>v<\/em>axis)\r\n\r\n<strong style=\"text-align: initial;font-size: 1em\">\u00a0U\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/strong><span style=\"text-align: initial;font-size: 1em\">\u2013\u00a0 Perpendicular to both <\/span><strong style=\"text-align: initial;font-size: 1em\"><em>N<\/em><\/strong><span style=\"text-align: initial;font-size: 1em\"> and <\/span><strong style=\"text-align: initial;font-size: 1em\"><em>V<\/em><\/strong><span style=\"text-align: initial;font-size: 1em\"> (along <\/span><em style=\"text-align: initial;font-size: 1em\">X<\/em><em style=\"text-align: initial;font-size: 1em\">v<\/em><span style=\"text-align: initial;font-size: 1em\"> axis)<\/span>\r\n\r\n<\/div>\r\n<div>\r\n\r\n<img class=\"size-full wp-image-280 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-195.png\" alt=\"\" width=\"374\" height=\"157\" \/>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">The unit vectors along <strong><em>U<\/em><\/strong>, <strong><em>V<\/em><\/strong> and <strong><em>N<\/em><\/strong> are considered as <strong>u<\/strong><em>,<\/em> <strong><em>v<\/em><\/strong><em>,<\/em> <strong><em>n<\/em><\/strong>respectively, and then the VCS is also referred to as <strong><em>uvn<\/em><\/strong> system.<\/p>\r\n&nbsp;\r\n\r\n<strong>Conversion from world to viewing coordinates:<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Now that we have set up the VCS, we need to perform the conversion from WC to VC. This is because, when we observe the same world from different viewing position (VCS), the objects in the world now assume different dimensions and properties. This transformation is similar to the transformation between coordinate systems in 2D. Now follow the steps as mentioned below.<\/p>\r\n&nbsp;\r\n\r\n<strong>i) Translation:<\/strong>\r\n\r\nTranslate the view reference point to the origin of the WC system as shown below\r\n\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-281 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-196.png\" alt=\"\" width=\"538\" height=\"122\" \/>\r\n\r\n<strong>ii) Rotation:<\/strong>\r\n\r\nApply rotations to align the <em>X<\/em><em>v<\/em>, Yv, and Zv axes with the corresponding world axes.\r\n<ul>\r\n \t<li>Rotate around the world <em>X<\/em><em>w<\/em> axis to bring <em>Z<\/em><em>v<\/em> into the <em>X<\/em><em>w<\/em><em>Z<\/em><em>w<\/em> plane<\/li>\r\n \t<li>Rotate around the world <em>Y<\/em><em>w<\/em> axis to align the Z<em>w<\/em> and <em>Z<\/em>v axis<\/li>\r\n \t<li>Final rotation is about the <em>Z<\/em><em>w<\/em> axis to align the <em>Y<\/em><em>w<\/em> and <em>Y<\/em><em>v<\/em> axis<\/li>\r\n<\/ul>\r\n<img class=\"size-full wp-image-282 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-197.png\" alt=\"\" width=\"415\" height=\"121\" \/>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">The aim of this rotation step is to align the VCS with WCS. This can be represented in notation as\u00a0<em>R<\/em>=<em>R<\/em><sub><em>z<\/em><\/sub><em>R<\/em><sub><em>y<\/em><\/sub><em>R<\/em><sub><em>x<\/em><\/sub><\/p>\r\n\r\n<\/div>\r\n<em><img class=\"size-full wp-image-283 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-198.png\" alt=\"\" width=\"584\" height=\"214\" \/><\/em>\r\n<div>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">The composite matrix for rotation is <em>M<\/em>WC-&gt;VC = <em>R<\/em>.<em>T<\/em>, where the Rotation R and Translation matrix T are as given below.<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-284 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-199.png\" alt=\"\" width=\"330\" height=\"99\" \/>\r\n\r\n&nbsp;\r\n\r\n<strong>Projection Transformation:<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">Projection transformation step in 3D should not be misunderstood as conversion from 3D to 2D. The step is meant to determine the correct <em>view volume<\/em>, depending the type of projection we choose. There are two basic classes of planar projection, Parallel and Perspective. The <em>viewing volume<\/em> determines<\/p>\r\n&nbsp;\r\n\r\n\u2022\u00a0 How an object is projected onto the screen (i.e.,orthographic projection or perspective projection)\r\n\r\n\u2022\u00a0 Which objects or portions of objects are clipped out of the final image.\r\n\r\n&nbsp;\r\n\r\nProjection Transformations are classified as shown below.\r\n\r\n<img class=\"size-full wp-image-285 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-200.png\" alt=\"\" width=\"501\" height=\"200\" \/>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">The classification diagram shows that perspective transformations are classified as one-point, two-point and three-point, while parallel transformations have a detailed classification tree.<\/p>\r\n\r\n<\/div>\r\n<div>\r\n\r\n<img class=\"size-full wp-image-286 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-201.png\" alt=\"\" width=\"614\" height=\"223\" \/>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">In parallel projections, an object is projected on to an imaginary 2D view plane or projection plane, along lines that are <strong><em>parallel<\/em><\/strong> to each other. These projections are useful for getting various viewslike front, side, top.<\/p>\r\n<img class=\"size-full wp-image-287 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-202.png\" alt=\"\" width=\"609\" height=\"192\" \/>\r\n\r\n&nbsp;\r\n\r\n<strong>Perspective Projections:<\/strong>\r\n\r\n<img class=\"size-full wp-image-288 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-203.png\" alt=\"\" width=\"598\" height=\"150\" \/>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify\">In perspective projection, an object is projected on to an imaginary 2D view plane or projection plane, along lines that <strong><em>converge<\/em><\/strong> at a point called \u2018<em>center of projection<\/em>\u2019 (COP) or <em>Projection Referencepoint <\/em>or<em> eye<\/em>. As can be noticed, the size of the object varies with distance from the <em>COP.<\/em>Projections of distant objects are smaller than the projections of objects of the same size that are closer to the projection plane.<\/p>\r\n\r\n<\/div>\r\n<img class=\"size-full wp-image-289 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-204.png\" alt=\"\" width=\"344\" height=\"173\" \/>\r\n<p style=\"text-align: justify\">As we humans see the world as perspective, these projections give human like realistic views of the world. Now let\u2019s compare both of these projections.<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-290 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-205.png\" alt=\"\" width=\"576\" height=\"257\" \/>\r\n\r\n<strong>Summary:<\/strong>\r\n<ul>\r\n \t<li>Understood the setting up of the viewing coordinate system<\/li>\r\n \t<li>Looked at the introduction of Projection transformations.<\/li>\r\n<\/ul>\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td><strong>you can view video on 3D Viewing(Viewing Transformations)<\/strong><\/td>\r\n<td><a href=\"https:\/\/youtu.be\/mafHOa7hWRU\" 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>\r\n\r\n<img class=\"size-full wp-image-291 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-206.png\" alt=\"\" width=\"644\" height=\"334\" \/>","rendered":"<div><span style=\"float: right\"><a href=\"https:\/\/youtu.be\/mafHOa7hWRU\" 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><strong>Objectives:<\/strong><\/p>\n<ol>\n<li>Understand how a <em>viewing coordinate system<\/em> is set up<\/li>\n<li>Understand the theory behind <em>projection transformations<\/em>, including, <em>parallel<\/em> and <em>perspective<\/em><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><strong>Discussion:<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Let\u2019s understand how a <em>viewing coordinate system<\/em> is setup in 3D. Setting up a viewing coordinate system is the first step in 3D viewing and this is similar to setting up a standard coordinate system (3 mutually perpendicular directions) at a given viewing position.The name <em>viewing coordinate <\/em>system is because; it is the reference position from where we view the objects in the world. Also it is important to remember the convention of RHS, that we always view the world along the negative z-axis. Once the VCS is set up, the next step is to convert world coordinates to viewing coordinates through <em>viewing transformation<\/em>. Before we proceed any further, it is important to understand the 3D viewing pipeline, which is similar to that of the 2D viewing pipeline (refer to Module 8).<\/p>\n<p>&nbsp;<\/p>\n<p>The sequence of steps in the 3D viewing pipeline is<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-277 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-192.png\" alt=\"\" width=\"237\" height=\"227\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-192.png 237w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-192-65x62.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-192-225x216.png 225w\" sizes=\"auto, (max-width: 237px) 100vw, 237px\" \/><\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<div>\n<p>\u00a0 \u00a0 MT\u2013 Modeling Transformation (converts Model coordinates to World coordinates)<\/p>\n<p style=\"text-align: justify\">VT\u2013 Viewing Transformation (World coordinates to Viewing coordinates) PT \u2013 Projection Transformation (Converts Viewing coordinates to Projection Coordinates)<\/p>\n<p>CT \u2013 Clipping Transformation (Converts Projection coordinates to clipping coordinates)<\/p>\n<p>VT \u2013 Viewport Transformation (Converts clipping coordinates to Normalized coordinates)<\/p>\n<p>DT \u2013 Device Transformation (Converts Normalized coordinates to Device Coordinates)<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Imagine, we have to create 3D world with a set of objects of choice. The first step is to create an object in the 3D world. For this we need to identify a position in the 3D world, determine the dimensions, orientation of the object. We know from earlier discussions, that every object is initially created and identified with respect to its <em>local \/ model coordinate system<\/em> (a reference system, whose origin is at the centre of the object and the three mutually perpendicular directions determine the dimensions and orientation of the object in the 3D world).<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The next step is to similarly create other objects of interest. Once the objects of interest are created, it\u2019s time to set up the viewing coordinate system (VCS), where we decide what is to be viewed. Once VCS is set up, we decide about the suitable <em>projection transformation<\/em> (parallel or perspective), which involves, deciding the shape of the <em>view volume<\/em>. The shape of the view volume depends on the type of projection transformation chosen<em>.View volume<\/em> is a volume of space in the 3D world. Once the shape is decided, the next step is to <em>clip<\/em> the contents of the world with respect to the view volume boundaries. This step is performed in Clipping Transformation, where, whichever objects that lie within the volume are selected for display. In 2D viewing, clipping is performed against a rectangular clip window, while in 3Dviewing, clipping is performed against a <em>view volume<\/em>. The penultimate step involves, converting <em>clipped<\/em> <em>coordinates <\/em>to<em> normalized coordinates<\/em>through<em>viewport transformation<\/em>. And finally the Device Transformation converts normalized coordinates to device coordinates.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The above discussion can be easily understood by taking the analogy of a camera.We first choose a vantage point (position), then align our camera with the objects of interest(orientation), then decide what part of the world is to be captured (projection transformation), and select only that part of the world that falls within the rectangular region of the cameras view finder (clipping). Finally what is of interest is only captured on the film of the camera.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Viewing Transformation:<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">This is performed to convert world coordinates (WC) to viewing coordinates (VC). To perform this transformation, we need to set up the viewing coordinate system (VCS). Setting up a VCS involves, choosing a <em>position<\/em>, <em>direction<\/em> and <em>orientation<\/em>for a new 3D coordinate system, to look at the 3D world.<\/p>\n<\/div>\n<div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-278 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-193.png\" alt=\"\" width=\"573\" height=\"219\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-193.png 573w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-193-300x115.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-193-65x25.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-193-225x86.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-193-350x134.png 350w\" sizes=\"auto, (max-width: 573px) 100vw, 573px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">As can be seen from the figures above, a viewing coordinate system is derived from the world coordinate system, where <em>P<\/em>0(<em>x<\/em>0, <em>y<\/em>0, <em>z<\/em>0) happens to be the origin of the VCS and <em>Xv<\/em>, <em>Yv<\/em>, <em>Zv <\/em>are the 3 mutually perpendicular directions of the VCS.A<em> view plane <\/em>is generally the<em> XY <\/em>plane of the viewing coordinate system and meant for taking snaps of the world. In camera analogy a <em>viewplane<\/em> is similar to that of a film in a camera.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">To set up a VCS, first choose a position in the 3D world and call it the origin of the VCS. The next step is to identify 3 mutually perpendicular directions. It is enough if we identify two mutually perpendicular directions; the third direction is simply obtained by taking vector cross product of two vectors in the plane of the two already computed directions.At first let\u2019s focus on the Z-direction (<em>Z<\/em><em>v<\/em>)of the VCS. The convention (as used in OpenGL) is that, select a <em>look-at<\/em> point (a <em>look-at<\/em> point is a position in the 3D world where we are looking at) in the 3D world, connect the origin of the VCS with the <em>look-at<\/em> point, and the direction thus obtained is the <em>Z<\/em><em>v<\/em>direction of the VCS. The direction from the<em> look-at <\/em>point to the origin of the VCS is considered the +ve <em>Z<\/em><em>v<\/em> direction as shown in the figure below.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-279 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-194.png\" alt=\"\" width=\"463\" height=\"176\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-194.png 463w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-194-300x114.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-194-65x25.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-194-225x86.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-194-350x133.png 350w\" sizes=\"auto, (max-width: 463px) 100vw, 463px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>i) Choose any position in the WCS and call it as viewing origin <em>P<\/em>0(<em>x<\/em>0<em>,y<\/em>0<em>,z<\/em>0).<\/p>\n<p style=\"text-align: justify\">ii)Specify the +ve <em>Z<\/em><em>v<\/em> direction of the VCS by choosing a <em>look-at point<\/em> in the world. The direction from <em>look at point<\/em> to the <em>viewing origin<\/em> is the direction of the <em>normal vector<\/em> \u2018<strong><em>N<\/em><\/strong>\u2019 to the <em>view plane<\/em> as well as the +ve <em>Z<\/em><em>v<\/em> direction. Thus <em>Z<\/em><em>v<\/em> is established.<\/p>\n<p style=\"text-align: justify\">iii)\u00a0 Choose any upward direction for viewing <em>Y<\/em>-axis (<em>Y<\/em><em>v<\/em>).(For convenience, this direction may be chosen as the direction of the world Y-axis and at a later point of time we shall make necessary corrections for it.).Choose the unit vector direction (0,1,0), which is the vector along the world Y-axis, and then project the direction onto a plane perpendicular to <strong>N<\/strong> direction.This direction is called the <em>View-Up<\/em> vector denoted as <strong><em>V<\/em><\/strong>, which is the <em>Yv<\/em> direction of the VCS.<\/p>\n<p>iv)\u00a0 The direction for <em>X<\/em><em>v<\/em> <em>axis<\/em> can be chosen by computing vector <strong><em>U<\/em><\/strong> perpendicular to both <strong><em>N<\/em><\/strong> and<\/p>\n<p>&nbsp;<\/p>\n<p><strong><em>V<\/em><\/strong>.<\/p>\n<p><strong>N<\/strong>\u2013\u00a0 View plane Normal vector (along <em>Z<\/em><em>v<\/em> axis)<\/p>\n<p><strong>V<\/strong>\u2013\u00a0 View up vector (along <em>Y<\/em><em>v<\/em>axis)<\/p>\n<p><strong style=\"text-align: initial;font-size: 1em\">\u00a0U\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/strong><span style=\"text-align: initial;font-size: 1em\">\u2013\u00a0 Perpendicular to both <\/span><strong style=\"text-align: initial;font-size: 1em\"><em>N<\/em><\/strong><span style=\"text-align: initial;font-size: 1em\"> and <\/span><strong style=\"text-align: initial;font-size: 1em\"><em>V<\/em><\/strong><span style=\"text-align: initial;font-size: 1em\"> (along <\/span><em style=\"text-align: initial;font-size: 1em\">X<\/em><em style=\"text-align: initial;font-size: 1em\">v<\/em><span style=\"text-align: initial;font-size: 1em\"> axis)<\/span><\/p>\n<\/div>\n<div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-280 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-195.png\" alt=\"\" width=\"374\" height=\"157\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-195.png 374w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-195-300x126.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-195-65x27.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-195-225x94.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-195-350x147.png 350w\" sizes=\"auto, (max-width: 374px) 100vw, 374px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The unit vectors along <strong><em>U<\/em><\/strong>, <strong><em>V<\/em><\/strong> and <strong><em>N<\/em><\/strong> are considered as <strong>u<\/strong><em>,<\/em> <strong><em>v<\/em><\/strong><em>,<\/em> <strong><em>n<\/em><\/strong>respectively, and then the VCS is also referred to as <strong><em>uvn<\/em><\/strong> system.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Conversion from world to viewing coordinates:<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Now that we have set up the VCS, we need to perform the conversion from WC to VC. This is because, when we observe the same world from different viewing position (VCS), the objects in the world now assume different dimensions and properties. This transformation is similar to the transformation between coordinate systems in 2D. Now follow the steps as mentioned below.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>i) Translation:<\/strong><\/p>\n<p>Translate the view reference point to the origin of the WC system as shown below<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-281 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-196.png\" alt=\"\" width=\"538\" height=\"122\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-196.png 538w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-196-300x68.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-196-65x15.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-196-225x51.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-196-350x79.png 350w\" sizes=\"auto, (max-width: 538px) 100vw, 538px\" \/><\/p>\n<p><strong>ii) Rotation:<\/strong><\/p>\n<p>Apply rotations to align the <em>X<\/em><em>v<\/em>, Yv, and Zv axes with the corresponding world axes.<\/p>\n<ul>\n<li>Rotate around the world <em>X<\/em><em>w<\/em> axis to bring <em>Z<\/em><em>v<\/em> into the <em>X<\/em><em>w<\/em><em>Z<\/em><em>w<\/em> plane<\/li>\n<li>Rotate around the world <em>Y<\/em><em>w<\/em> axis to align the Z<em>w<\/em> and <em>Z<\/em>v axis<\/li>\n<li>Final rotation is about the <em>Z<\/em><em>w<\/em> axis to align the <em>Y<\/em><em>w<\/em> and <em>Y<\/em><em>v<\/em> axis<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-282 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-197.png\" alt=\"\" width=\"415\" height=\"121\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-197.png 415w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-197-300x87.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-197-65x19.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-197-225x66.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-197-350x102.png 350w\" sizes=\"auto, (max-width: 415px) 100vw, 415px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The aim of this rotation step is to align the VCS with WCS. This can be represented in notation as\u00a0<em>R<\/em>=<em>R<\/em><sub><em>z<\/em><\/sub><em>R<\/em><sub><em>y<\/em><\/sub><em>R<\/em><sub><em>x<\/em><\/sub><\/p>\n<\/div>\n<p><em><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-283 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-198.png\" alt=\"\" width=\"584\" height=\"214\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-198.png 584w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-198-300x110.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-198-65x24.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-198-225x82.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-198-350x128.png 350w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/em><\/p>\n<div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The composite matrix for rotation is <em>M<\/em>WC-&gt;VC = <em>R<\/em>.<em>T<\/em>, where the Rotation R and Translation matrix T are as given below.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-284 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-199.png\" alt=\"\" width=\"330\" height=\"99\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-199.png 330w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-199-300x90.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-199-65x20.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-199-225x68.png 225w\" sizes=\"auto, (max-width: 330px) 100vw, 330px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Projection Transformation:<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">Projection transformation step in 3D should not be misunderstood as conversion from 3D to 2D. The step is meant to determine the correct <em>view volume<\/em>, depending the type of projection we choose. There are two basic classes of planar projection, Parallel and Perspective. The <em>viewing volume<\/em> determines<\/p>\n<p>&nbsp;<\/p>\n<p>\u2022\u00a0 How an object is projected onto the screen (i.e.,orthographic projection or perspective projection)<\/p>\n<p>\u2022\u00a0 Which objects or portions of objects are clipped out of the final image.<\/p>\n<p>&nbsp;<\/p>\n<p>Projection Transformations are classified as shown below.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-285 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-200.png\" alt=\"\" width=\"501\" height=\"200\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-200.png 501w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-200-300x120.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-200-65x26.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-200-225x90.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-200-350x140.png 350w\" sizes=\"auto, (max-width: 501px) 100vw, 501px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">The classification diagram shows that perspective transformations are classified as one-point, two-point and three-point, while parallel transformations have a detailed classification tree.<\/p>\n<\/div>\n<div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-286 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-201.png\" alt=\"\" width=\"614\" height=\"223\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-201.png 614w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-201-300x109.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-201-65x24.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-201-225x82.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-201-350x127.png 350w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">In parallel projections, an object is projected on to an imaginary 2D view plane or projection plane, along lines that are <strong><em>parallel<\/em><\/strong> to each other. These projections are useful for getting various viewslike front, side, top.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-287 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-202.png\" alt=\"\" width=\"609\" height=\"192\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-202.png 609w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-202-300x95.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-202-65x20.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-202-225x71.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-202-350x110.png 350w\" sizes=\"auto, (max-width: 609px) 100vw, 609px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Perspective Projections:<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-288 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-203.png\" alt=\"\" width=\"598\" height=\"150\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-203.png 598w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-203-300x75.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-203-65x16.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-203-225x56.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-203-350x88.png 350w\" sizes=\"auto, (max-width: 598px) 100vw, 598px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify\">In perspective projection, an object is projected on to an imaginary 2D view plane or projection plane, along lines that <strong><em>converge<\/em><\/strong> at a point called \u2018<em>center of projection<\/em>\u2019 (COP) or <em>Projection Referencepoint <\/em>or<em> eye<\/em>. As can be noticed, the size of the object varies with distance from the <em>COP.<\/em>Projections of distant objects are smaller than the projections of objects of the same size that are closer to the projection plane.<\/p>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-289 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-204.png\" alt=\"\" width=\"344\" height=\"173\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-204.png 344w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-204-300x151.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-204-65x33.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-204-225x113.png 225w\" sizes=\"auto, (max-width: 344px) 100vw, 344px\" \/><\/p>\n<p style=\"text-align: justify\">As we humans see the world as perspective, these projections give human like realistic views of the world. Now let\u2019s compare both of these projections.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-290 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-205.png\" alt=\"\" width=\"576\" height=\"257\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-205.png 576w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-205-300x134.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-205-65x29.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-205-225x100.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-205-350x156.png 350w\" sizes=\"auto, (max-width: 576px) 100vw, 576px\" \/><\/p>\n<p><strong>Summary:<\/strong><\/p>\n<ul>\n<li>Understood the setting up of the viewing coordinate system<\/li>\n<li>Looked at the introduction of Projection transformations.<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td><strong>you can view video on 3D Viewing(Viewing Transformations)<\/strong><\/td>\n<td><a href=\"https:\/\/youtu.be\/mafHOa7hWRU\" 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<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-291 aligncenter\" src=\"http:\/\/csp06.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/52\/2018\/07\/1-206.png\" alt=\"\" width=\"644\" height=\"334\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-206.png 644w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-206-300x156.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-206-65x34.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-206-225x117.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-content\/uploads\/sites\/52\/2018\/07\/1-206-350x182.png 350w\" sizes=\"auto, (max-width: 644px) 100vw, 644px\" \/><\/p>\n","protected":false},"author":3,"menu_order":15,"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-274","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\/274","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":7,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapters\/274\/revisions"}],"predecessor-version":[{"id":624,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapters\/274\/revisions\/624"}],"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\/274\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/wp\/v2\/media?parent=274"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/pressbooks\/v2\/chapter-type?post=274"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/wp\/v2\/contributor?post=274"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp06\/wp-json\/wp\/v2\/license?post=274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}