6. Modelview Transformations

Size: px
Start display at page:

Download "6. Modelview Transformations"

Transcription

1 6. Modelview Transformations Transformation Basics Transformations map coordinates from one frame of reference to another through matri multiplications Basic transformation operations include: - translation - rotation - scaling E.R. Bachmann & P.L. McDowell MV 422 Page of 3

2 2D Translation Points in the - plane can be translated to new positions b adding translation amounts to the coordinates of each point. Y P (, ) d P (, ) d X = + d (d, change along the -ais) (6.) = + d (d, change along the -ais) (6.) - This can be epressed notationall as P = P + T (6.3) where P = [ ], P = [ ], and T = [d d] E.R. Bachmann & P.L. McDowell MV 422 Page 2 of 3

3 - Objects described in terms of points and lines can be translated b appling = + d (6.4) = + d (6.5) to each verte describing the object Eample 6. Appl [ ] = [ ] + [ 2 3 ] to ever point of the object In other words, add [ 2 3 ] to ever end point of the object. Y (3,4) d = 2 d = 3 (, ) X E.R. Bachmann & P.L. McDowell MV 422 Page 3 of 3

4 2D Scaling Points can be scaled b S along the ais and S along the ais b the following formula: = * S (6.6) = * S (6.7) - In matri form 6.6 and 6.6 become S = S (6.8) - Scaling is denoted notationall b: P = S * P (6.9) Eample 6.2 Scaling for a point. Y (2, 3) S = 2 S = 3 (, ) X E.R. Bachmann & P.L. McDowell MV 422 Page 4 of 3

5 Eample 6.3 Scaling for a line. S=2 S=3 (2,) (8,) (,) (4,) Eample 6.4 Non-uniform scaling of a square. Y S = 2 S = (, ) (2, ) (4, ) X E.R. Bachmann & P.L. McDowell MV 422 Page 5 of 3

6 2D Rotations Vertices and the objects the describe can be rotated through an angle about an origin via the following formulas: = cos - sin (6.) = sin + cos (6.) - In matri form, 6. and 6. become cos = sin sin cos (6.2) - Notationall, this can be written: P = R * P (6.3) where R represents the rotation matri - In 2D space, positive angles are measured "counterclockwise" from the ais towards the ais E.R. Bachmann & P.L. McDowell MV 422 Page 6 of 3

7 Eample degree rotation of a point about the origin. Y P (4.7, 3.9) 3 deg. P (6, ) X E.R. Bachmann & P.L. McDowell MV 422 Page 7 of 3

8 Eample degree rotation about the origin of a square with its corner at the origin. (.,.44) (, ) (, ) (-.77,.77) (.77,.77) (, ) (, ) (, ) Eample degree rotation about the origin of a square centered at the origin. (., -.77) (-.5,.5) (.5,.5) (-.77,.) (.77,.) (-.5, -.5) (.5, -.5) (., -.77) E.R. Bachmann & P.L. McDowell MV 422 Page 8 of 3

9 Eample degree rotation about the origin of a square with its corner at (3, 5). (3, 6) (4, 6) (3, 5) (4, 5) (, ) (-.44, 7.7) (-2.2, 6.36) (-.77, 6.36) (-.44, 5.657) (, ) E.R. Bachmann & P.L. McDowell MV 422 Page 9 of 3

10 Homogeneous Coordinates Scaling and rotation can be accomplished through matri multiplication - In order to allow translation to be accomplished through matri multiplication all coordinates are represented in Homogeneous form - Point (, ) is represented as point (w*, w*, w), for an scale factor w - Thus (6.4) becomes w w w (6.5) in homogeneous form. - w is tpicall one and 6.5 becomes (6.6) E.R. Bachmann & P.L. McDowell MV 422 Page of 3

11 E.R. Bachmann & P.L. McDowell MV 422 Page of 3 Matri Representation of 2D Transformations in Homogeneous Coordinates In homogeneous coordinates the matri operations are defined as follows: - Translation: = d d (6.7) - Scaling: = S S (6.8) - Rotation: = cos sin sin cos (6.9)

12 Composite Transformations Homogeneous coordinates allow transformations to be performed successivel or combined into a single matri Eample 6.9 Translate an object P from the origin to a point p and rotate P about the arbitrar point p b an angle The following transformation must be applied to each verte v describing P: v = p cos p sin sin cos v (, ) (p,p ) (p,p ) E.R. Bachmann & P.L. McDowell MV 422 Page 2 of 3

13 Eample 6. Translate an object P from the origin to a point p and rotate P about the origin b an angle The following transformation must be applied to each verte v describing P: cos sin p v = sin cos p (6.2) (, ) ( p cos - p sin, p sin + p cos ) P P E.R. Bachmann & P.L. McDowell MV 422 Page 3 of 3

14 E.R. Bachmann & P.L. McDowell MV 422 Page 4 of 3 Matri Representation of 3D Transformations 3D transformations are a simple etension of 2D transformations - 3D transformations using homogeneous coordinates are performed with a 4 4 matri - Verte coordinates are represented with a 4 column vector z (6.22) - Translation: = z dz d d z (6.23) - Scaling: = Sz S S z (6.24)

15 E.R. Bachmann & P.L. McDowell MV 422 Page 5 of 3 - Rotations: 3D Rotations ma be performed about an arbitrar ais Rotations of an angle about each of the coordinate aes are as follows: ais: = cos sin sin cos z z (6.25) ais: = cos sin sin cos z z (6.26) z ais: = cos sin sin cos z z (6.27) Note the similarities between 6.27 and 6.9.

16 Sign of Rotation The sign of the angle of rotation is found using the right hand rule:. Point the thumb of the right hand along the ais of rotation in the positive direction 2. The direction in which the fingers curl is the direction of positive rotation z E.R. Bachmann & P.L. McDowell MV 422 Page 6 of 3

17 Modeling Transformations in OpenGL Modeling transformations are used to position and orient models or objects - Models ma be rotated, translated or scaled - Modeling transformations ma also be used to position and orient the parts of a model relative to each other - Modeling transformations are closel related to viewing transformations - All modeling transformations are specified after the viewing transformations are complete Transformations can be thought of as transforming both and - an object - the local coordinate sstem associated with that object Subsequent transformations will be relative to the local coordinate sstem of that object - Each subsequent transformation establishes a new local coordinate sstem - The first modeling transformation takes place relative to the origin associated with the viewpoint E.R. Bachmann & P.L. McDowell MV 422 Page 7 of 3

18 Transformations ma also be thought of as occurring relative to a single, grand, fied coordinate sstem - The transformations when written in the source code will appear to occur in reverse order Translate Translations are performed using void gltranslate{fd}( TYPE, TYPE, TYPE z ); where,, and z represent the translations in the,, and z directions relative to the current local coordinate sstem Eample 6.4 Translate unit in the direction, 2 units in the direction and -3 units in the z direction. Draw a cube one unit high. gltranslatef(.f, 2.f, -3.f ); ausolidcube(. ); // Draw a cube three units above the previous one. gltranslatef(.f, 3.f,.f ); ausolidcube(. ); E.R. Bachmann & P.L. McDowell MV 422 Page 8 of 3

19 Rotate Rotations are performed using void glrotate{fd}( TYPE angle, TYPE, TYPE, TYPE z ); where - angle specifies the angle of rotation in degrees -,, and z specif the ais of rotation relative to the origin of the local coordinate sstem Eample 6.2 Draw a cube rotated -75 degrees about the ais glrotatef( -75.f,.f,.f,.f ); ausolidcube(. ); Eample 6.3 Rotate 45 degrees about the ais at the point (, 2, -3) relative to the current local coordinate sstem. Draw a cube one unit high. gltranslatef(.f, 2.f, -3.f ); glrotated( 45.,.,.,. ); ausolidcube(. ); E.R. Bachmann & P.L. McDowell MV 422 Page 9 of 3

20 Scaling Scaling is performed using where void glscale{fd}( TYPE, TYPE, TYPE z ); -,, and z are the scale values in the,, and z directions relative to the current local coordinate sstem - Scale values greater than. stretch the object - Scale values less than. shrink the object - Negative scale values reflect the object across an ais Keep in mind scale operations affect the coordinate sstems associated with all subsequent transformations. Eample 6.4 Draw a bo centered at the origin of the current local coordinate sstem. glscalef( 4.f, 2.f, 3.f ); ausolidcube(. ); The cube will be a rectangular bo due to the different scales of component aes. E.R. Bachmann & P.L. McDowell MV 422 Page 2 of 3

21 Viewing Transformations in OpenGL Viewing transformations change the position and orientation of the viewpoint - Default viewpoint is at the origin, looking down the negative z ais, with the positive ais defining the up orientation - Viewing transformations must be completed before all modeling transformations Viewing transformations can be thought of in one of two was: - moving the objects relative to a fied viewpoint - setting the viewpoint relative to a fied origin from which all modeling transformations take place E.R. Bachmann & P.L. McDowell MV 422 Page 2 of 3

22 Using gltranslate*( ) and glrotate*( ) to Set the Viewpoint To achieve a certain viewpoint either move the camera in one direction or move the objects in the opposite direction - A modeling transformation that rotates an object counterclockwise is equivalent to a viewing transformation that rotates the viewpoint clockwise - A modeling transformation that translates an object forward units is equivalent to a viewing transformation that moves the viewpoint back units gltranslate and glrotate when used as modeling transformations should be thought of as moving the objects and their local coordinate sstem awa from the viewer Eample 6.5 View a teapot looking down the z ais from 5 units awa. gltranslate(.f,.f, -5.f ); ausolidteapot( 3. ); E.R. Bachmann & P.L. McDowell MV 422 Page 22 of 3

23 Eample 6.6 View a Octahedron from the right side. gltranslatef(.,., -5. ); glrotatef( 9.f,.f,.f,.f ); ausolidoctahedron(. ); Using glulookat( ) to Set the Viewpoint glulookat( ) allows programmers to construct a scene around a fied origin and set an arbitrar viewing position, direction and up orientation void glulookat( GLdouble ee, GLdouble ee, GLdouble eez, GLdouble cent, GLdouble cent, GLdouble centz, GLdouble up, GLdouble up, GLdouble upz ); - ee, ee and eez define the viewing position - cent, cent and centz define the specif an point along the line of sight - up, up and upz specif the up vector glulookat encapsulates a gltranslate* command and perhaps several glrotate* commands E.R. Bachmann & P.L. McDowell MV 422 Page 23 of 3

24 Eample 6.7 View a torus looking down the z ais from 5 units awa. glulookat(.,., 5.,.,., -.,.,.,. ); ausolidtorus(., 2. ); Eample 6.8 View a tetrahedron from it s left side. glulookat( 5.,.,., -.,.,.,.,.,. ); ausolidtetrahedron(. ); E.R. Bachmann & P.L. McDowell MV 422 Page 24 of 3

25 The ModelView Matri Stack gltranslate*( ), glrotate*( ), glscale*( ) and glulookat( ) specif a matri and multipl it times the current matri For modelview transformations: - The current matri is on top of the modelview matri stack - The current matri represents the result of all previous modelview transformations - The result of all previous transformations represents the local coordinate sstem from which the new transformation will act There are three matri stacks in OpenGL: - modelview, projection and teture - Transformations ma be specified for an stack E.R. Bachmann & P.L. McDowell MV 422 Page 25 of 3

26 The stack on which transformations will act is set using: where void glmatrimode( GLenum mode ); - mode specifies the stack on which subsequent transformations will act - mode is GL_MODELVIEW to specif the modelview matri glmatrimode( GL_MODELVIEW ); Before begining modelview transformations the stack is normall cleared using void glloadidentit( ); glloadidentit ( ) clears the current matri and sets it to the Identit matri I = I (6.28) The result of multipling the identit matri times an matri M is M = I( M ) M ( I ) (6.29) M = E.R. Bachmann & P.L. McDowell MV 422 Page 26 of 3

27 The current matri on the current stack ma be saved and restored using the following void glpushmatri( ); void glpopmatri( ); This allows the current local coordinate sstem to be saved b a push operation and restored later b a pop operation - glpushmatri( ) does the following: Pushes all matrices in the current stack down one level Copies the top matri (current matri) Places the duplicate cop on top of the stack The original cop in effect saves the state of the matri stack - glpopmatri( ) does the following: Pops the top matri off the stack and discards it Makes the second-from-the-top-matri, the top matri (current matri) Popping the top matri restores the state of the stack to its condition prior to the most recent push The modelview matri stack is capable of holding at least thirt-two 4 4 matrices E.R. Bachmann & P.L. McDowell MV 422 Page 27 of 3

28 Eample 6.9 Three triangles drawn relative to the same origin: // COpenGLView drawing void COpenGLView::OnDraw( CDC* pdc ) { COpenGLDoc* pdoc = GetDocument(); ASSERT_VALID( pdoc ); glclear( GL_COLOR_BUFFER_BIT ); glmatrimode( GL_MODELVIEW ); glloadidentit(); glcolor3f(.f,.f,.f ); draw_triangle(); glpushmatri(); gltranslatef( -2.f,.f,.f ); glrotatef( 45.f,.f,.f,.f ); draw_triangle(); glpopmatri(); glpushmatri(); glscalef(.5f,.5f,.f ); draw_triangle(); glpopmatri(); glrotatef( 9.f,.f,.f,.f ); draw_triangle(); glflush(); SwapBuffers( m_pdc->getsafehdc() ); } // end OnDraw E.R. Bachmann & P.L. McDowell MV 422 Page 28 of 3

29 The current matri ma be set to an eplicitl specified matri using void glloadmatri{fd}( const TYPE *m ); where m specifies a 6 element matri in column major order m m m m 2 3 m m m m m m m m 8 9 m m m m (6.3) Eample 6.2 The following code fragments are equivalent. GLdouble m[ ] = {.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,. }; glloadmatrid( m ); and glloadidentit( ); E.R. Bachmann & P.L. McDowell MV 422 Page 29 of 3

30 A matri ma also be eplicitl specified and multiplied b the current matri using void glmultmatri{fd}( const TYPE *m ); where m specifies a 6 element matri in column major order Eample 6.2 The following code fragments are equivalent. GLdouble m[ ] = {.,.,.,.,.,.,.,.,.,.,.,., 5., 2., 3.,. }; glloadidentit( ); glmultmatrid ( m ); and glloadidentit( ); gltranslated( 5., 2., 3. ); E.R. Bachmann & P.L. McDowell MV 422 Page 3 of 3

31 Modelview Transformation Review General algorithm for positioning objects and setting the viewpoint:. Clear the frame buffer and whatever other buffers are in use. glclear( GL_COLOR_BUFFER_BIT ); 2. Set the matri mode to modelview. glmatrimode( GL_MODELVIEW ); 3. Clear the matri stack to the Identit matri. glloadidentit(); 4. Perform viewing transformations using gltranslate and glrotate or glulookat. glulookat(.,., 5.,.,., -.,.,.,. ); 5. Perform modeling transformations using gltranslate, glrotate, glscale, glpushmatri, glpopmatri and glloadidentit. 6. Draw objects in the transformed coordinate sstems using vertices specified between glbegin and glend pairs. 7. Force completion of all drawing commands using glflush and SwapBuffers. glflush(); SwapBuffers( m_pdc->getsafehdc( ) ); E.R. Bachmann & P.L. McDowell MV 422 Page 3 of 3

1/29/13. Computer Graphics. Transformations. Simple Transformations

1/29/13. Computer Graphics. Transformations. Simple Transformations /29/3 Computer Graphics Transformations Simple Transformations /29/3 Contet 3D Coordinate Sstems Right hand (or counterclockwise) coordinate sstem Left hand coordinate sstem Not used in this class and

More information

CS Computer Graphics: Transformations & The Synthetic Camera

CS Computer Graphics: Transformations & The Synthetic Camera CS 543 - Computer Graphics: Transformations The Snthetic Camera b Robert W. Lindeman gogo@wpi.edu (with help from Emmanuel Agu ;-) Introduction to Transformations A transformation changes an objects Size

More information

Using GLU/GLUT Objects. GLU/GLUT Objects. glucylinder() glutwirecone() GLU/GLUT provides very simple object primitives

Using GLU/GLUT Objects. GLU/GLUT Objects. glucylinder() glutwirecone() GLU/GLUT provides very simple object primitives Using GLU/GLUT Objects GLU/GLUT provides ver simple object primitives glutwirecone gluclinder glutwirecube GLU/GLUT Objects Each glu/glut object has its default sie, position, and orientation You need

More information

Notes. University of British Columbia

Notes. University of British Columbia Notes Drop-bo is no. 14 You can hand in our assignments Assignment 0 due Fri. 4pm Assignment 1 is out Office hours toda 16:00 17:00, in lab or in reading room Uniersit of Uniersit of Chapter 4 - Reminder

More information

12. Selection. - The objects selected are specified by hit records in the selection buffer. E.R. Bachmann & P.L. McDowell MV 4202 Page 1 of 13

12. Selection. - The objects selected are specified by hit records in the selection buffer. E.R. Bachmann & P.L. McDowell MV 4202 Page 1 of 13 12. Selection Picking is a method of capturing mouse clicks at some window position and determining what objects are beneath it. The basic idea is to enter the selection rendering mode with a small viewing

More information

Name: [20 points] Consider the following OpenGL commands:

Name: [20 points] Consider the following OpenGL commands: Name: 2 1. [20 points] Consider the following OpenGL commands: glmatrimode(gl MODELVIEW); glloadidentit(); glrotatef( 90.0, 0.0, 1.0, 0.0 ); gltranslatef( 2.0, 0.0, 0.0 ); glscalef( 2.0, 1.0, 1.0 ); What

More information

Lecture 5b. Transformation

Lecture 5b. Transformation Lecture 5b Transformation Refresher Transformation matrices [4 x 4]: the fourth coordinate is homogenous coordinate. Rotation Transformation: Axis of rotation must through origin (0,0,0). If not, translation

More information

Computer Graphics. Transformation

Computer Graphics. Transformation (SBE 36) Dr. Aman Eldeib Spring 2 SBE 36 i a fundamental corner tone of computer graphic and i a central to OpenGL a well a mot other graphic tem.(2d and 3D ) Given an object, tranformation i to change

More information

Transformations III. Week 2, Fri Jan 19

Transformations III. Week 2, Fri Jan 19 Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 2007 Tamara Munzner Transformations III Week 2, Fri Jan 9 http://www.ugrad.cs.ubc.ca/~cs34/vjan2007 Readings for Jan 5-22 FCG Chap 6 Transformation

More information

Computer Graphics. Chapter 7 2D Geometric Transformations

Computer Graphics. Chapter 7 2D Geometric Transformations Computer Graphics Chapter 7 2D Geometric Transformations Chapter 7 Two-Dimensional Geometric Transformations Part III. OpenGL Functions for Two-Dimensional Geometric Transformations OpenGL Geometric Transformation

More information

4. Two Dimensional Transformations

4. Two Dimensional Transformations 4. Two Dimensional Transformations CS362 Introduction to Computer Graphics Helena Wong, 2 In man applications, changes in orientations, sizes, and shapes are accomplished with geometric transformations

More information

(x, y) (ρ, θ) ρ θ. Polar Coordinates. Cartesian Coordinates

(x, y) (ρ, θ) ρ θ. Polar Coordinates. Cartesian Coordinates Coordinate Sstems Point Representation in two dimensions Cartesian Coordinates: (; ) Polar Coordinates: (; ) (, ) ρ θ (ρ, θ) Cartesian Coordinates Polar Coordinates p = CPS1, 9: Computer Graphics D Geometric

More information

CPSC 314, Midterm Exam 1. 9 Feb 2007

CPSC 314, Midterm Exam 1. 9 Feb 2007 CPSC, Midterm Eam 9 Feb 007 Closed book, no calculators or other electronic devices. Cell phones must be turned off. Place our photo ID face up on our desk. One single-sided sheet of handwritten notes

More information

Lecture 6 Sections 4.3, 4.6, 4.7. Wed, Sep 9, 2009

Lecture 6 Sections 4.3, 4.6, 4.7. Wed, Sep 9, 2009 Lecture 6 Sections 4.3, 4.6, 4.7 Hampden-Sydney College Wed, Sep 9, 2009 Outline 1 2 3 4 re are three mutually orthogonal axes: the x-axis, the y-axis, and the z-axis. In the standard viewing position,

More information

CPSC 314, Midterm Exam. 8 March 2010

CPSC 314, Midterm Exam. 8 March 2010 CPSC, Midterm Eam 8 March 00 Closed book, no electronic devices besides (simple, nongraphing) calculators. Cell phones must be turned off. Place our photo ID face up on our desk. One single-sided sheet

More information

Modeling Transformations Revisited

Modeling Transformations Revisited Modeling Transformations Revisited Basic 3D Transformations Translation Scale Shear Rotation 3D Transformations Same idea as 2D transformations o Homogeneous coordinates: (,,z,w) o 44 transformation matrices

More information

Lecture 4: Viewing. Topics:

Lecture 4: Viewing. Topics: Lecture 4: Viewing Topics: 1. Classical viewing 2. Positioning the camera 3. Perspective and orthogonal projections 4. Perspective and orthogonal projections in OpenGL 5. Perspective and orthogonal projection

More information

Realtime 3D Computer Graphics & Virtual Reality. Viewing

Realtime 3D Computer Graphics & Virtual Reality. Viewing Realtime 3D Computer Graphics & Virtual Realit Viewing Transformation Pol. Per Verte Pipeline CPU DL Piel Teture Raster Frag FB v e r t e object ee clip normalied device Modelview Matri Projection Matri

More information

Spring 2013, CS 112 Programming Assignment 2 Submission Due: April 26, 2013

Spring 2013, CS 112 Programming Assignment 2 Submission Due: April 26, 2013 Spring 2013, CS 112 Programming Assignment 2 Submission Due: April 26, 2013 PROJECT GOAL: Write a restricted OpenGL library. The goal of the project is to compute all the transformation matrices with your

More information

Fachhochschule Regensburg, Germany, February 15, 2017

Fachhochschule Regensburg, Germany, February 15, 2017 s Operations Fachhochschule Regensburg, Germany, February 15, 2017 s Motivating Example s Operations To take a photograph of a scene: Set up your tripod and point camera at the scene (Viewing ) Position

More information

Getting Started. Overview (1): Getting Started (1): Getting Started (2): Getting Started (3): COSC 4431/5331 Computer Graphics.

Getting Started. Overview (1): Getting Started (1): Getting Started (2): Getting Started (3): COSC 4431/5331 Computer Graphics. Overview (1): Getting Started Setting up OpenGL/GLUT on Windows/Visual Studio COSC 4431/5331 Computer Graphics Thursday January 22, 2004 Overview Introduction Camera analogy Matrix operations and OpenGL

More information

Viewing and Modeling

Viewing and Modeling Viewing and Modeling Computer Science Department The Universit of Texas at Austin A Simplified Graphics ipeline Application Vertex batching & assembl Triangle assembl Triangle clipping NDC to window space

More information

CPSC 314, Midterm Exam. 8 March 2013

CPSC 314, Midterm Exam. 8 March 2013 CPSC, Midterm Eam 8 March 0 Closed book, no electronic devices besides simple calculators. Cell phones must be turned off. Place our photo ID face up on our desk. One single-sided sheet of handwritten

More information

CS 428: Fall Introduction to. Viewing and projective transformations. Andrew Nealen, Rutgers, /23/2009 1

CS 428: Fall Introduction to. Viewing and projective transformations. Andrew Nealen, Rutgers, /23/2009 1 CS 428: Fall 29 Introduction to Computer Graphics Viewing and projective transformations Andrew Nealen, Rutgers, 29 9/23/29 Modeling and viewing transformations Canonical viewing volume Viewport transformation

More information

1. We ll look at: Types of geometrical transformation. Vector and matrix representations

1. We ll look at: Types of geometrical transformation. Vector and matrix representations Tob Howard COMP272 Computer Graphics and Image Processing 3: Transformations Tob.Howard@manchester.ac.uk Introduction We ll look at: Tpes of geometrical transformation Vector and matri representations

More information

Lecture 5: Viewing. CSE Computer Graphics (Fall 2010)

Lecture 5: Viewing. CSE Computer Graphics (Fall 2010) Lecture 5: Viewing CSE 40166 Computer Graphics (Fall 2010) Review: from 3D world to 2D pixels 1. Transformations are represented by matrix multiplication. o Modeling o Viewing o Projection 2. Clipping

More information

CSC 470 Computer Graphics

CSC 470 Computer Graphics CSC 470 Computer Graphics Transformations of Objects CSC 470 Computer Graphics, Dr.N. Georgieva, CSI/CUNY 1 Transformations of objects - 2D CSC 470 Computer Graphics, Dr.N. Georgieva, CSI/CUNY 2 Using

More information

Computer Graphics. Geometric Transformations

Computer Graphics. Geometric Transformations Contents coordinate sstems scalar values, points, vectors, matrices right-handed and left-handed coordinate sstems mathematical foundations transformations mathematical descriptions of geometric changes,

More information

Computer Graphics. Geometric Transformations

Computer Graphics. Geometric Transformations Computer Graphics Geometric Transformations Contents coordinate sstems scalar values, points, vectors, matrices right-handed and left-handed coordinate sstems mathematical foundations transformations mathematical

More information

The Viewing Pipeline adaptation of Paul Bunn & Kerryn Hugo s notes

The Viewing Pipeline adaptation of Paul Bunn & Kerryn Hugo s notes The Viewing Pipeline adaptation of Paul Bunn & Kerryn Hugo s notes What is it? The viewing pipeline is the procession of operations that are applied to the OpenGL matrices, in order to create a 2D representation

More information

GL_MODELVIEW transformation

GL_MODELVIEW transformation lecture 3 view transformations model transformations GL_MODELVIEW transformation view transformations: How do we map from world coordinates to camera/view/eye coordinates? model transformations: How do

More information

Modeling with Transformations

Modeling with Transformations Modeling with Transformations Prerequisites This module requires some understanding of 3D geometry, particularly a sense of how objects can be moved around in 3-space. The student should also have some

More information

Computer Graphics. Chapter 10 Three-Dimensional Viewing

Computer Graphics. Chapter 10 Three-Dimensional Viewing Computer Graphics Chapter 10 Three-Dimensional Viewing Chapter 10 Three-Dimensional Viewing Part I. Overview of 3D Viewing Concept 3D Viewing Pipeline vs. OpenGL Pipeline 3D Viewing-Coordinate Parameters

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Overview Ra-Tracing so far Modeling transformations Ra Tracing Image RaTrace(Camera camera, Scene scene, int width, int heigh,

More information

Viewing/Projection IV. Week 4, Fri Jan 29

Viewing/Projection IV. Week 4, Fri Jan 29 Universit of British Columbia CPSC 314 Computer Graphics Jan-Apr 2010 Tamara Munner Viewing/Projection IV Week 4, Fri Jan 29 http://www.ugrad.cs.ubc.ca/~cs314/vjan2010 News etra TA office hours in lab

More information

Reading. Hierarchical Modeling. Symbols and instances. Required: Angel, sections , 9.8. Optional:

Reading. Hierarchical Modeling. Symbols and instances. Required: Angel, sections , 9.8. Optional: Reading Required: Angel, sections 9.1 9.6, 9.8 Optional: Hierarchical Modeling OpenGL rogramming Guide, the Red Book, chapter 3 cse457-07-hierarchical 1 cse457-07-hierarchical 2 Symbols and instances Most

More information

Introduction to OpenGL Transformations, Viewing and Lighting. Ali Bigdelou

Introduction to OpenGL Transformations, Viewing and Lighting. Ali Bigdelou Introduction to OpenGL Transformations, Viewing and Lighting Ali Bigdelou Modeling From Points to Polygonal Objects Vertices (points) are positioned in the virtual 3D scene Connect points to form polygons

More information

What and Why Transformations?

What and Why Transformations? 2D transformations What and Wh Transformations? What? : The geometrical changes of an object from a current state to modified state. Changing an object s position (translation), orientation (rotation)

More information

Viewing/Projections III. Week 4, Wed Jan 31

Viewing/Projections III. Week 4, Wed Jan 31 Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 27 Tamara Munner Viewing/Projections III Week 4, Wed Jan 3 http://www.ugrad.cs.ubc.ca/~cs34/vjan27 News etra TA coverage in lab to answer

More information

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CSE528 Computer Graphics: Theory, Algorithms, and Applications CSE528 Computer Graphics: Theor, Algorithms, and Applications Hong Qin State Universit of New York at Ston Brook (Ston Brook Universit) Ston Brook, New York 794--44 Tel: (63)632-845; Fa: (63)632-8334 qin@cs.sunsb.edu

More information

Describe the Orthographic and Perspective projections. How do we combine together transform matrices?

Describe the Orthographic and Perspective projections. How do we combine together transform matrices? Aims and objectives By the end of the lecture you will be able to Work with multiple transform matrices Describe the viewing process in OpenGL Design and build a camera control APIs Describe the Orthographic

More information

Transformations II. Arbitrary 3D Rotation. What is its inverse? What is its transpose? Can we constructively elucidate this relationship?

Transformations II. Arbitrary 3D Rotation. What is its inverse? What is its transpose? Can we constructively elucidate this relationship? Utah School of Computing Fall 25 Transformations II CS46 Computer Graphics From Rich Riesenfeld Fall 25 Arbitrar 3D Rotation What is its inverse? What is its transpose? Can we constructivel elucidate this

More information

Note 2: Transformation (modeling and viewing)

Note 2: Transformation (modeling and viewing) Note : Tranformation (modeling and viewing Reading: tetbook chapter 4 (geometric tranformation and chapter 5 (viewing.. Introduction (model tranformation modeling coordinate modeling tranformation world

More information

What does OpenGL do?

What does OpenGL do? Theor behind Geometrical Transform What does OpenGL do? So the user specifies a lot of information Ee Center Up Near, far, UP EE Left, right top, bottom, etc. f b CENTER left right top bottom What does

More information

COMP3421. Week 2 - Transformations in 2D and Vector Geometry Revision

COMP3421. Week 2 - Transformations in 2D and Vector Geometry Revision COMP3421 Week 2 - Transformations in 2D and Vector Geometry Revision Exercise 1. Write code to draw (an approximation) of the surface of a circle at centre 0,0 with radius 1 using triangle fans. Transformation

More information

Today s class. Geometric objects and transformations. Informationsteknologi. Wednesday, November 7, 2007 Computer Graphics - Class 5 1

Today s class. Geometric objects and transformations. Informationsteknologi. Wednesday, November 7, 2007 Computer Graphics - Class 5 1 Toda s class Geometric objects and transformations Wednesda, November 7, 27 Computer Graphics - Class 5 Vector operations Review of vector operations needed for working in computer graphics adding two

More information

Two Dimensional Viewing

Two Dimensional Viewing Two Dimensional Viewing Dr. S.M. Malaek Assistant: M. Younesi Two Dimensional Viewing Basic Interactive Programming Basic Interactive Programming User controls contents, structure, and appearance of objects

More information

Fall CSCI 420: Computer Graphics. 2.2 Transformations. Hao Li.

Fall CSCI 420: Computer Graphics. 2.2 Transformations. Hao Li. Fall 2017 CSCI 420: Computer Graphics 2.2 Transformations Hao Li http://cs420.hao-li.com 1 OpenGL Transformations Matrices Model-view matrix (4x4 matrix) Projection matrix (4x4 matrix) vertices in 3D Model-view

More information

OpenGL Transformations

OpenGL Transformations OpenGL Transformations R. J. Renka Department of Computer Science & Engineering University of North Texas 02/18/2014 Introduction The most essential aspect of OpenGL is the vertex pipeline described in

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Announcement Assignment 2 has been posted: Due: 10/24 ASAP: Download the code and make sure it compiles» On windows: just build

More information

CSE328 Fundamentals of Computer Graphics: Theory, Algorithms, and Applications

CSE328 Fundamentals of Computer Graphics: Theory, Algorithms, and Applications CSE328 Fundamentals of Computer Graphics: Theor, Algorithms, and Applications Hong in State Universit of New York at Ston Brook (Ston Brook Universit) Ston Brook, New York 794-44 Tel: (63)632-845; Fa:

More information

Transformations II. Week 2, Wed Jan 17

Transformations II. Week 2, Wed Jan 17 Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 27 Tamara Munzner Transformations II Week 2, Wed Jan 7 http://www.ugrad.cs.ubc.ca/~cs34/vjan27 Readings for Jan 5-22 FCG Chap 6 Transformation

More information

Using GLU/GLUT Objects

Using GLU/GLUT Objects Using GLU/GLUT Objects GLU/GLUT provides very simple object primitives glutwirecone glutwirecube glucylinder glutwireteapot GLU/GLUT Objects Each glu/glut object has its default size, position, and orientation

More information

API for creating a display window and using keyboard/mouse interations. See RayWindow.cpp to see how these are used for Assignment3

API for creating a display window and using keyboard/mouse interations. See RayWindow.cpp to see how these are used for Assignment3 OpenGL Introduction Introduction OpenGL OpenGL is an API for computer graphics. Hardware-independent Windowing or getting input is not included in the API Low-level Only knows about triangles (kind of,

More information

CS4202: Test. 1. Write the letter corresponding to the library name next to the statement or statements that describe library.

CS4202: Test. 1. Write the letter corresponding to the library name next to the statement or statements that describe library. CS4202: Test Name: 1. Write the letter corresponding to the library name next to the statement or statements that describe library. (4 points) A. GLUT contains routines that use lower level OpenGL commands

More information

蔡侑庭 (Yu-Ting Tsai) National Chiao Tung University, Taiwan. Prof. Wen-Chieh Lin s CG Slides OpenGL 2.1 Specification

蔡侑庭 (Yu-Ting Tsai) National Chiao Tung University, Taiwan. Prof. Wen-Chieh Lin s CG Slides OpenGL 2.1 Specification 蔡侑庭 (Yu-Ting Tsai) Department of Computer Science National Chiao Tung University, Taiwan Prof. Wen-Chieh Lin s CG Slides OpenGL 2.1 Specification OpenGL Programming Guide, Chap. 3 & Appendix F 2 OpenGL

More information

Projection: Mapping 3-D to 2-D. Orthographic Projection. The Canonical Camera Configuration. Perspective Projection

Projection: Mapping 3-D to 2-D. Orthographic Projection. The Canonical Camera Configuration. Perspective Projection Projection: Mapping 3-D to 2-D Our scene models are in 3-D space and images are 2-D so we need some wa of projecting 3-D to 2-D The fundamental approach: planar projection first, we define a plane in 3-D

More information

2D Transformations. 7 February 2017 Week 5-2D Transformations 1

2D Transformations. 7 February 2017 Week 5-2D Transformations 1 2D Transformations 7 Februar 27 Week 5-2D Transformations Matri math Is there a difference between possible representations? a c b e d f ae bf ce df a c b d e f ae cf be df a b c d e f ae bf ce df 7 Februar

More information

5.8.3 Oblique Projections

5.8.3 Oblique Projections 278 Chapter 5 Viewing y (, y, ) ( p, y p, p ) Figure 537 Oblique projection P = 2 left right 0 0 left+right left right 0 2 top bottom 0 top+bottom top bottom far+near far near 0 0 far near 2 0 0 0 1 Because

More information

CS 543: Computer Graphics. 3D Transformations

CS 543: Computer Graphics. 3D Transformations CS 543: Coputer Graphics 3D Transforations Robert W. Lindean Associate Professor Interactive Media Gae Developent Departent of Coputer Science Worcester Poltechnic Institute gogo@wpi.edu (with lots of

More information

CSE 690: GPGPU. Lecture 2: Understanding the Fabric - Intro to Graphics. Klaus Mueller Stony Brook University Computer Science Department

CSE 690: GPGPU. Lecture 2: Understanding the Fabric - Intro to Graphics. Klaus Mueller Stony Brook University Computer Science Department CSE 690: GPGPU Lecture 2: Understanding the Fabric - Intro to Graphics Klaus Mueller Stony Brook University Computer Science Department Klaus Mueller, Stony Brook 2005 1 Surface Graphics Objects are explicitely

More information

Transformations III. Week 3, Mon Jan 18

Transformations III. Week 3, Mon Jan 18 Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 2 Tamara Munzner Transformations III Week 3, Mon Jan 8 http://www.ugrad.cs.ubc.ca/~cs34/vjan2 News CS dept announcements Undergraduate Summer

More information

Surface Graphics. 200 polys 1,000 polys 15,000 polys. an empty foot. - a mesh of spline patches:

Surface Graphics. 200 polys 1,000 polys 15,000 polys. an empty foot. - a mesh of spline patches: Surface Graphics Objects are explicitely defined by a surface or boundary representation (explicit inside vs outside) This boundary representation can be given by: - a mesh of polygons: 200 polys 1,000

More information

CS 428: Fall Introduction to. Transformations in OpenGL + hierarchical modeling. Andrew Nealen, Rutgers, /21/2009 1

CS 428: Fall Introduction to. Transformations in OpenGL + hierarchical modeling. Andrew Nealen, Rutgers, /21/2009 1 CS 428: Fall 2009 Introduction to Computer Graphics Transformations in OpenGL + hierarchical modeling 9/21/2009 1 Review of affine transformations Use projective geometry staple of CG Euclidean (x,z) (x,y,z)

More information

Matrix-Rechnung I ' z =... Universität Frankfurt

Matrix-Rechnung I ' z =... Universität Frankfurt Matrix-Rechnung I x =Ax = = 1.................................... ' ' ' ' ' 44 41 14 11 z y x a a a a w z y x Matrix-Rechnung II Matrixmultiplikation ist assoziativ, abernicht kommutativ. OpenGL multipliziert

More information

News. Projections and Picking. Transforming View Volumes. Projections recap. Basic Perspective Projection. Basic Perspective Projection

News. Projections and Picking. Transforming View Volumes. Projections recap. Basic Perspective Projection. Basic Perspective Projection Universit of British Columbia CPSC 44 Computer Graphics Projections and Picking Wed 4 Sep 3 project solution demo recap: projections projections 3 picking News Project solution eecutable available idea

More information

CSCI E-74. Simulation and Gaming

CSCI E-74. Simulation and Gaming CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming Fall term 2017 Gianluca De Novi, PhD Lesson 3 General Introduction to OpenGL APIs and TRS Perspective Simulation Perspective simulation

More information

Computer Graphics. Chapter 5 Geometric Transformations. Somsak Walairacht, Computer Engineering, KMITL

Computer Graphics. Chapter 5 Geometric Transformations. Somsak Walairacht, Computer Engineering, KMITL Chapter 5 Geometric Transformations Somsak Walairacht, Computer Engineering, KMITL 1 Outline Basic Two-Dimensional Geometric Transformations Matrix Representations and Homogeneous Coordinates Inverse Transformations

More information

Rendering Pipeline and Coordinates Transforms

Rendering Pipeline and Coordinates Transforms Rendering Pipeline and Coordinates Transforms Alessandro Martinelli alessandro.martinelli@unipv.it 16 October 2013 Rendering Pipeline (3): Coordinates Transforms Rendering Architecture First Rendering

More information

CIS 636 Interactive Computer Graphics CIS 736 Computer Graphics Spring 2011

CIS 636 Interactive Computer Graphics CIS 736 Computer Graphics Spring 2011 CIS 636 Interactive Computer Graphics CIS 736 Computer Graphics Spring 2011 Lab 1a of 7 OpenGL Setup and Basics Fri 28 Jan 2011 Part 1a (#1 5) due: Thu 03 Feb 2011 (before midnight) The purpose of this

More information

1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1

1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1 Transformations 1-1 Transformations are used within the entire viewing pipeline: Projection from world to view coordinate system View modifications: Panning Zooming Rotation 1-2 Transformations can also

More information

GEOMETRIC OBJECTS AND TRANSFORMATIONS I

GEOMETRIC OBJECTS AND TRANSFORMATIONS I Computer UNIT Graphics - 4 and Visualization 6 Hrs GEOMETRIC OBJECTS AND TRANSFORMATIONS I Scalars Points, and vectors Three-dimensional primitives Coordinate systems and frames Modelling a colored cube

More information

Transforms 1 Christian Miller CS Fall 2011

Transforms 1 Christian Miller CS Fall 2011 Transforms 1 Christian Miller CS 354 - Fall 2011 Transformations What happens if you multiply a square matrix and a vector together? You get a different vector with the same number of coordinates These

More information

Graphics and Visualization

Graphics and Visualization International University Bremen Spring Semester 2006 Recap Representing graphic objects by homogenous points and vectors Using affine transforms to modify objects Using projections to display objects

More information

Transformations. CSCI 420 Computer Graphics Lecture 4

Transformations. CSCI 420 Computer Graphics Lecture 4 CSCI 420 Computer Graphics Lecture 4 Transformations Jernej Barbic University of Southern California Vector Spaces Euclidean Spaces Frames Homogeneous Coordinates Transformation Matrices [Angel, Ch. 4]

More information

Computer Graphics Geometric Transformations

Computer Graphics Geometric Transformations Computer Graphics 2016 6. Geometric Transformations Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2016-10-31 Contents Transformations Homogeneous Co-ordinates Matrix Representations of Transformations

More information

COMP3421. Week 2 - Transformations in 2D and Vector Geometry Revision

COMP3421. Week 2 - Transformations in 2D and Vector Geometry Revision COMP3421 Week 2 - Transformations in 2D and Vector Geometry Revision Exercise 1. Write code to draw (an approximation) of the surface of a circle at centre 0,0 with radius 1 using triangle fans. 2. At

More information

3D Transformation. In 3D, we have x, y, and z. We will continue use column vectors:. Homogenous systems:. x y z. x y z. glvertex3f(x, y,z);

3D Transformation. In 3D, we have x, y, and z. We will continue use column vectors:. Homogenous systems:. x y z. x y z. glvertex3f(x, y,z); 3D Transformation In 3D, we have x, y, and z. We will continue use column vectors:. Homogenous systems:. 3D Transformation glvertex3f(x, y,z); x y z x y z A Right Handle Coordinate System x y z; y z x;

More information

Motivation. What we ve seen so far. Demo (Projection Tutorial) Outline. Projections. Foundations of Computer Graphics

Motivation. What we ve seen so far. Demo (Projection Tutorial) Outline. Projections. Foundations of Computer Graphics Foundations of Computer Graphics Online Lecture 5: Viewing Orthographic Projection Ravi Ramamoorthi Motivation We have seen transforms (between coord sstems) But all that is in 3D We still need to make

More information

COMP Computer Graphics and Image Processing. 5: Viewing 1: The camera. In part 1 of our study of Viewing, we ll look at ˆʹ U ˆ ʹ F ˆʹ S

COMP Computer Graphics and Image Processing. 5: Viewing 1: The camera. In part 1 of our study of Viewing, we ll look at ˆʹ U ˆ ʹ F ˆʹ S COMP27112 Û ˆF Ŝ Computer Graphics and Image Processing ˆʹ U ˆ ʹ F C E 5: iewing 1: The camera ˆʹ S Toby.Howard@manchester.ac.uk 1 Introduction In part 1 of our study of iewing, we ll look at iewing in

More information

CS F-07 Objects in 2D 1

CS F-07 Objects in 2D 1 CS420-2010F-07 Objects in 2D 1 07-0: Representing Polgons We want to represent a simple polgon Triangle, rectangle, square, etc Assume for the moment our game onl uses these simple shapes No curves for

More information

Chapter 3: Modeling Transformation

Chapter 3: Modeling Transformation Chapter 3: Modeling Transformation Graphics Programming, 8th Sep. Graphics and Media Lab. Seoul National University 2011 Fall OpenGL Steps Every step in the graphics pipeline is related to the transformation.

More information

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner GLOBAL EDITION Interactive Computer Graphics A Top-Down Approach with WebGL SEVENTH EDITION Edward Angel Dave Shreiner This page is intentionall left blank. 4.10 Concatenation of Transformations 219 in

More information

7. 3D Viewing. Projection: why is projection necessary? CS Dept, Univ of Kentucky

7. 3D Viewing. Projection: why is projection necessary? CS Dept, Univ of Kentucky 7. 3D Viewing Projection: why is projection necessary? 1 7. 3D Viewing Projection: why is projection necessary? Because the display surface is 2D 2 7.1 Projections Perspective projection 3 7.1 Projections

More information

Two possible ways to specify transformations. Each part of the object is transformed independently relative to the origin

Two possible ways to specify transformations. Each part of the object is transformed independently relative to the origin Transformations Two possible ways to specify transformations Each part of the object is transformed independently relative to the origin - Not convenient! z y Translate the base by (5,0,0); Translate the

More information

Computer Graphics Hands-on

Computer Graphics Hands-on Computer Graphics Hands-on Two-Dimensional OpenGL Transformations Objectives To get hands-on experience manipulating the OpenGL current transformation (MODELVIEW) matrix to achieve desired effects To gain

More information

Introduction to OpenGL

Introduction to OpenGL OpenGL is an alternative to Direct3D for 3D graphics rendering Originally developed by Silicon Graphics Inc (SGI), turned over to multi-vendor group (OpenGL Architecture Review Board) in 1992 Unlike DirectX,

More information

Order of Transformations

Order of Transformations Order of Transformations Because the same transformation is applied to many vertices, the cost of forming a matrix M=ABCD is not significant compared to the cost of computing Mp for many vertices p Note

More information

C OMPUTER G RAPHICS Thursday

C OMPUTER G RAPHICS Thursday C OMPUTER G RAPHICS 2017.04.27 Thursday Professor s original PPT http://calab.hanyang.ac.kr/ Courses Computer Graphics practice3.pdf TA s current PPT not uploaded yet GRAPHICS PIPELINE What is Graphics

More information

High Dimensional Rendering in OpenGL

High Dimensional Rendering in OpenGL High Dimensional Rendering in OpenGL Josh McCo December, 2003 Description of Project Adding high dimensional rendering capabilit to the OpenGL graphics programming environment is the goal of this project

More information

CS354 Computer Graphics Viewing and Modeling

CS354 Computer Graphics Viewing and Modeling Slide Credit: Donald S. Fussell CS354 Computer Graphics Viewing and Modeling Qixing Huang February 21th 2018 Computer Viewing There are three aspects of the viewing process, all of which are implemented

More information

Trigonometry Review Day 1

Trigonometry Review Day 1 Name Trigonometry Review Day 1 Algebra II Rotations and Angle Terminology II Terminal y I Positive angles rotate in a counterclockwise direction. Reference Ray Negative angles rotate in a clockwise direction.

More information

Transformation Pipeline

Transformation Pipeline Transformation Pipeline Local (Object) Space Modeling World Space Clip Space Projection Eye Space Viewing Perspective divide NDC space Normalized l d Device Coordinatesd Viewport mapping Screen space Coordinate

More information

3D graphics rendering pipeline (1) 3D graphics rendering pipeline (3) 3D graphics rendering pipeline (2) 8/29/11

3D graphics rendering pipeline (1) 3D graphics rendering pipeline (3) 3D graphics rendering pipeline (2) 8/29/11 3D graphics rendering pipeline (1) Geometr Rasteriation 3D Coordinates & Transformations Prof. Aaron Lanterman (Based on slides b Prof. Hsien-Hsin Sean Lee) School of Electrical and Computer Engineering

More information

STRAND I: Geometry and Trigonometry. UNIT 37 Further Transformations: Student Text Contents. Section Reflections. 37.

STRAND I: Geometry and Trigonometry. UNIT 37 Further Transformations: Student Text Contents. Section Reflections. 37. MEP Jamaica: STRN I UNIT 7 Further Transformations: Student Tet ontents STRN I: Geometr and Trigonometr Unit 7 Further Transformations Student Tet ontents Section 7. Reflections 7. Rotations 7. Translations

More information

To Do. Demo (Projection Tutorial) Motivation. What we ve seen so far. Outline. Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 5: Viewing

To Do. Demo (Projection Tutorial) Motivation. What we ve seen so far. Outline. Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 5: Viewing Foundations of Computer Graphics (Fall 0) CS 84, Lecture 5: Viewing http://inst.eecs.berkele.edu/~cs84 To Do Questions/concerns about assignment? Remember it is due Sep. Ask me or TAs re problems Motivation

More information

OpenGL: Open Graphics Library. Introduction to OpenGL Part II. How do I render a geometric primitive? What is OpenGL

OpenGL: Open Graphics Library. Introduction to OpenGL Part II. How do I render a geometric primitive? What is OpenGL OpenGL: Open Graphics Library Introduction to OpenGL Part II CS 351-50 Graphics API ( Application Programming Interface) Software library Layer between programmer and graphics hardware (and other software

More information

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 424 Computer Graphics 2D Transformations Yong Cao Virginia Tech References: Introduction to Computer Graphics course notes by Doug Bowman Interactive Computer Graphics, Fourth Edition, Ed Angle Transformations

More information

Uses of Transformations. 2D transformations Homogeneous coordinates. Transformations. Transformations. Transformations. Transformations and matrices

Uses of Transformations. 2D transformations Homogeneous coordinates. Transformations. Transformations. Transformations. Transformations and matrices Uses of Transformations 2D transformations Homogeneous coordinates odeling: position and resie parts of a comple model; Viewing: define and position the virtual camera Animation: define how objects move/change

More information

CSCI-4530/6530 Advanced Computer Graphics

CSCI-4530/6530 Advanced Computer Graphics Luo Jr. CSCI-45/65 Advanced Computer Graphics http://www.cs.rpi.edu/~cutler/classes/advancedgraphics/s9/ Barb Cutler cutler@cs.rpi.edu MRC 9A Piar Animation Studios, 986 Topics for the Semester Mesh Simplification

More information