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

Size: px
Start display at page:

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

Transcription

1 /29/3 Computer Graphics Transformations Simple Transformations

2 /29/3 Contet 3D Coordinate Sstems Right hand (or counterclockwise) coordinate sstem Left hand coordinate sstem Not used in this class and Not in OpenGL 2

3 /29/3 What is a Transformation? Maps point (,, ) in one coordinate sstem to point (',, ) in another coordinate sstem ' m + m 2 + m 3 +m 4 ' m 2 + m 22 + m 23 +m 24 m 3 + m 32 + m 33 +m 34 Affine transformation How are Transforms Represented? ' m + m 2 + m 3 +m 4 ' m 2 + m 22 + m 23 +m 24 m 3 + m 32 + m 33 +m 34 ' m m 2 m 3 m 2 m 22 m 23 m 3 m 32 m 33 + m 4 m 24 m 34 p' M p + t 3

4 /29/3 Homogeneous Coordinates Add an etra dimension ' ' ' m m 2 m 3 m 4 m 2 m 22 m 23 m 24 m 3 m 32 m 33 m 34 p' M p In General ' ' ' w m m 2 m 3 m 4 m 2 m 22 m 23 m 24 m 3 m 32 m 33 m 34 m 4 m 42 m 43 m 44 w p' M p Most of the time w and we can ignore it. 4

5 /29/3 Homogeneous to Cartesian (2D) Simpl divide b w: w? Point at infinit w is a scale factor Homogeneous Visualiation (2D) Divide b w to normalie (homogenie) (,, w) (,, ) (,, 2) (7,, ) (4, 2, 2) w (4, 5, ) (8,, 2) w 2 5

6 /29/3 2D Transformations Translate (t, t) ʹ + t ʹ + t Translate(c,) p p' ' ' t t T(t,t ) c OpenGL: gltranslated(t, t, ) Note: 3 rd dimension makes it possible to encode transla;ons in the matri! 6

7 /29/3 Translation of Objects How to translate an object with multiple vertices? Translate individual vertices " $ #!! % " ' $ & $ # s s Scale (s, s) % ' & ( ʹ, ʹ ) ' (, ) ' ' s s S(s,s ) fied point OpenGL: glscaled(s, s, ) 7

8 /29/3 8 Reflection vs. Scale Along X-ais Along Y-ais ʹ ʹ ʹ ʹ Rotation ' ' cos sin -sin cos OpenGL: glrotated(,,, ) ( ), ( ) ʹ ʹ, fied point ' cos sin ' sin + cos R()

9 /29/3 Fied Rotation Point Default rotation center is origin (,) > : Rotate counterclockwise < : Rotate clockwise Rotation How to rotate an object with multiple vertices? 9

10 /29/3 Deriving the Rotation Matri (,) - > Rotate about the origin b How to compute (, )? (, ) r cos () r sin () r cos (φ + ) r sin (φ + ) Deriving the Rotation Matri Use trigonometr identities cos( +φ) cos cos φ - sin sin φ sin( +φ) sin cos φ + cos sin φ Yields cos sin cos + sin

11 /29/3 Arbitrar Rotation Center Where is the rotation center here? Arbitrar Rotation Center To rotate about arbitrar point P ( r, r ) b : Translate object b (- r, - r ) so that P is at origin Rotate the object b Translate object back b ( r, r ) In matri form: T( r, r) R( ) T( r, r)

12 /29/3 2 Arbitrar Rota;on Center + sin ) cos ( cos sin sin ) cos ( sin cos cos sin sin cos ), ( ) ( ), ( r r r r r r r r r r r r T R T How are Transforms Combined? TS Scale then Translate Use matri multiplication: p' T ( S p ) TS p Caution: matri multiplication is NOT commutative! (,) (,) (2,2) (,) (5,3) (3,) Scale(2,2) Translate(3,)

13 /29/3 Non-Commutative Compositions Scale then Translate: p' T ( S p ) TS p (,) Scale(2,2) (2,2) Translate(3,) (3,) (5,3) (,) (,) Translate then Scale: p' S ( T p ) ST p (8,4) (,) (,) Translate(3,) (3,) (4,2) Scale(2,2) (6,2) Non-Commutative Compositions Scale then Translate: p' T ( S p ) TS p TS Translate then Scale: p' S ( T p ) ST p ST

14 /29/3 Hands-On Session 2D Transformation Applet at applets/transformations2d.html or biological_anthropolog/ _virtual_reconstruction/chapter5_trafo.html Request handout from the instructor 3D Transformations 4

15 /29/3 Translate (t, t, t) Note: 4 th dimension makes it possible to encode transla;ons in the matri! Translate(c,,) p p' c ' ' ' t t t T(t,t,t ) OpenGL: gltranslated(t, t, t ) Scale (s, s, s) Isotropic (uniform) scaling: s s s p p' q q' ' ' ' s s s S(s,s,s ) OpenGL: glscaled(s, s, s ) 5

16 /29/3 6 3D Reflec;on About the - plane: ʹ ʹ ʹ Rotation About ais ' ' ' cos sin -sin cos p p' OpenGL: glrotated(,,, )

17 /29/3 Rotation About ais p' p ' ' ' cos sin -sin cos OpenGL: glrotated(,,, ) Rotation About ais p p' ' ' ' cos -sin sin cos OpenGL: glrotated(,,, ) 7

18 /29/3 About Arbitrar Ais r (r,r,r ) Rotation Rotate(, r) r ' ' ' rr(-c)+c rr(-c)+rs rr(-c)-rs rr(-c)-rs rr(-c)+c rr(-c)-rs rr(-c)+rs rr(-c)-rs rr(-c)+c where c cos & s sin Rota;on About Arbitrar Ais Rotate b about the ais (r, r, r ). Strateg: Align the rota;on ais with the ais (two rota;ons) Rotate b around Undo the two alignment rota;ons (r, r, r ) R R (- α ) R (- α ) R () R (α ) R (α ) Problem: Finding α, α 8

19 /29/3 9 Computing the -Rotation α Project unit vector (r, r, r ) onto plane d r 2 + r 2, cos α r / d, sin α r / d Rotating p into the -plane about the -ais is equivalent to rotating p onto -ais (b angle α about -ais) (r, r, r ) α d p p Computing the -Rotation α Insert in the rotation matri about -ais: Note that we do not even compute α cos sin sin cos ) ( d r d r d r d r R α α α α α

20 /29/3 Compu;ng the - Rota;on α Determine the rota;on about the - ais: cos α sin α d α r R (α ) and finall M R (-α ) R (-α ) R () R (α ) R (α ) Once computed, M does the comple rotation with a single matri multiplication per verte OpenGL gives us a simple function that computes M for us: glrotatef( ); 2

21 /29/3 Rotation about Arbitrar Ais Hands-On Session Self-Training Tool for Learning 3D Geometrical Transformations (3gtd) Request handout from the instructor 2

22 /29/3 glutwiretorus(inner, outer, sides, rings); 3D GLUT Primitives glutwirecone(radius, height, slices, stacks); GLUT Primitives 22

23 /29/3 glutwiresphere(radius, slices, stacks); GLUT Primitives GLUT Primitives glutwiretetrahedron() glutwiredodecahedron() glutwireoctahedron() glutwireicosahedron() 23

24 /29/3 GLUT Primitives glutwireteapot(sie); Alternative calls are glutsolid... OpenGL Transformations 24

25 /29/3 Basic OpenGL Transformations Translation: gltranslatef(t, t, t ) gltranslatef(t, t, ) à for 2D Rotation: Scaling: glrotatef(angle, r, r, r ) glrotatef(angle,,, ) à for 2D glscalef(s, s, s ) glscalef(s, s, ) à for 2D OpenGL Transformation Matrices Current Transformation Matri (CTM) The CTM is a 4 4 matri Part of the OpenGL state Operations: 25

26 /29/3 Model-View and Projection Matrices Direct Rotation/Translation/Scaling 26

27 /29/3 Composed Transformation Eample Q: What kind of operation is this? Order of Transformations (right to left) 27

28 /29/3 The MODELVIEW Matri glmatrimode (GL_MODELVIEW); modelview mode tells OpenGL that we will be specifing geometric transformations. The command simpl sas that the current matri operations will be applied on the MODELVIEW matri. The other mode is the projection mode, which specifies the matri that is used for projection transformations (i.e., how a scene is projected onto the screen) Transforma;ons Eample MODELVIEW Matri: Before a point is drawn on the displa, it is mul;plied b this matri to get the transformed loca;on void DrawPoint() { glbegin( GL_POINTS ); glverte2f(., 3. ); glend(); } Point loca;on on displa: MV 3 28

29 /29/3 MODELVIEW Matri void Displa() { glmatrimode(gl_modelview); glloadidentit(); // MV DrawPoint(); // point# gltranslatef(4., 2.,, ); // MV DrawPoint(); // point#2 MODELVIEW Matri glrotatef(3.,,, ); // MV DrawPoint(); // point#3 glscalef(2, 2, ); // MV DrawPoint(); // point#4 } // end Displa 29

30 /29/3 Consider This! Suppose ou have a func;on called DrawSquare() that draws a square centered at the origin with sides. Write an OpenGL code fragment that draws the table below. The table top is centered at (,) and has dimensions 2. The table legs have dimensions 24 and the aiach to the underside of the table top at points (- 4,- ) and (4,- ). To get ou started, two lines of code are included below. Your code should call DrawSquare() three ;mes to draw the table top and legs. glmatrimode( GL_MODELVIEW ); glloadidentit(); Consider This! glmatrimode( GL_MODELVIEW ); glloadidentit(); 3

31 /29/3 glpushmatri and glpopmatri Mo;va;ng Eample: void Displa() { gltranslatef( 8, 8, ); // MV } DrawRing(); // 64 DrawPlanet(); // 88 Use DrawUnitCircle to implement Displa Mo;va;ng gl(push,pop)matri void DrawRing() { // MV glrotatef( 45,,, ); glscalef( 8, 2, ); // MV } DrawUnitCircle(); 3

32 /29/3 Mo;va;ng gl(push,pop)matri void DrawPlanet() { // MV glscalef( 4, 4, ); // MV } DrawUnitCircle(); Using gl(push,pop)matri void Displa() { gltranslatef( 8, 8, ); } // MV DrawRing(); DrawPlanet(); void DrawRing() { glpushmatri(); glrotatef( 45,,, ); glscalef( 8, 2, ); DrawUnitCircle(); glpopmatri(); } void DrawPlanet() { glpushmatri(); glscalef( 4, 4, ); DrawUnitCircle(); glpopmatri(); } 32

33 /29/3 Prac;ce gl(push,pop)matri glloadidentit(); MV I glpushmatri(); MV I gltranslatef(,, ); MV T(,) glscalef( 2, 2, ); MV T(,)S(2,2) glpushmatri(); gltranslatef( 2, 2, ); glpushmatri(); glrotatef( 3,,, ); glpopmatri(); glpopmatri(); gltranslatef( 3, 3, ); glpopmatri(); Hands-On Session OpenGL Transformation Applet at applets/opengltransformations.html Request handout from the instructor 33

34 /29/3 Summar Transformations Translation (required direction vector) Scaling (requires fied point, scaling direction) Rotation (requires fied point, vector, angle) Combining transformations Order is important 34

6. Modelview Transformations

6. Modelview Transformations 6. Modelview Transformations Transformation Basics Transformations map coordinates from one frame of reference to another through matri multiplications Basic transformation operations include: - translation

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

Computer Graphics. 2D Transforma5ons. Review Vertex Transforma5ons 2/3/15. adjust the zoom. posi+on the camera. posi+on the model

Computer Graphics. 2D Transforma5ons. Review Vertex Transforma5ons 2/3/15. adjust the zoom. posi+on the camera. posi+on the model /3/5 Computer Graphics D Transforma5ons Review Verte Transforma5ons posi+on the model posi+on the camera adjust the zoom verte shader input verte shader output, transformed /3/5 From Object to World Space

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

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

(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

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

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

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. 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

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

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

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

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

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

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

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

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

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

Computer Graphics. 2D transformations. Transforma3ons in computer graphics. Overview. Basic classes of geometric transforma3ons

Computer Graphics. 2D transformations. Transforma3ons in computer graphics. Overview. Basic classes of geometric transforma3ons Transforma3ons in computer graphics omputer Graphics Transforma3ons leksandra Piurica Goal: introduce methodolog to hange coordinate sstem Move and deform objects Principle: transforma3ons are applied

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

CS770/870 Spring 2017 Transformations

CS770/870 Spring 2017 Transformations CS770/870 Spring 2017 Transformations Coordinate sstems 2D Transformations Homogeneous coordinates Matrices, vectors, points Coordinate Sstems Coordinate sstems used in graphics Screen coordinates: the

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

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

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

CSCI-4530/6530 Advanced Computer Graphics

CSCI-4530/6530 Advanced Computer Graphics Luo Jr. CSCI-453/653 Advanced Computer Graphics http://www.cs.rpi.edu/~cutler/classes/advancedgraphics/s7/ Barb Cutler cutler@cs.rpi.edu MRC 33A Piar Animation Studios, 986 Topics for the Semester Meshes

More information

3D Viewing and Projec5on. Taking Pictures with a Real Camera. Steps: Graphics does the same thing for rendering an image for 3D geometric objects

3D Viewing and Projec5on. Taking Pictures with a Real Camera. Steps: Graphics does the same thing for rendering an image for 3D geometric objects 3D Vieing and Projec5on Taking Pictures ith a Real Camera Steps: Iden5 interes5ng objects Rotate and translate the camera to desired viepoint Adjust camera seings such as ocal length Choose desired resolu5on

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

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

OUTPUT PRIMITIVES. CEng 477 Introduction to Computer Graphics METU, 2007

OUTPUT PRIMITIVES. CEng 477 Introduction to Computer Graphics METU, 2007 OUTPUT PRIMITIVES CEng 477 Introduction to Computer Graphics METU, 007 Recap: The basic forward projection pipeline: MCS Model Model Modeling Transformations M M 3D World Scene Viewing Transformations

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

Computer Graphics. P04 Transformations. Aleksandra Pizurica Ghent University

Computer Graphics. P04 Transformations. Aleksandra Pizurica Ghent University Computer Graphics P4 Transformations Aleksandra Pizurica Ghent Universit Telecommunications and Information Processing Image Processing and Interpretation Group Transformations in computer graphics Goal:

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

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

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

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

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

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

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

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

3-Dimensional Viewing

3-Dimensional Viewing CHAPTER 6 3-Dimensional Vieing Vieing and projection Objects in orld coordinates are projected on to the vie plane, hich is defined perpendicular to the vieing direction along the v -ais. The to main tpes

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

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

General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing)

General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing) ME 29-R: General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing) Sara McMains Spring 29 lecture 2 Toda s GPU eample: moldabilit feedback Two-part mold [The Complete Sculptor

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

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

CS559: Computer Graphics

CS559: Computer Graphics CS559: Computer Graphics Lecture 8: 3D Transforms Li Zhang Spring 28 Most Slides from Stephen Chenne Finish Color space Toda 3D Transforms and Coordinate sstem Reading: Shirle ch 6 RGB and HSV Green(,,)

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

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

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

Image Warping : Computational Photography Alexei Efros, CMU, Fall Some slides from Steve Seitz

Image Warping : Computational Photography Alexei Efros, CMU, Fall Some slides from Steve Seitz Image Warping http://www.jeffre-martin.com Some slides from Steve Seitz 5-463: Computational Photograph Aleei Efros, CMU, Fall 2 Image Transformations image filtering: change range of image g() T(f())

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

T y. x Ax By Cz D. z Ix Jy Kz L. Geometry: Topology: Transformations

T y. x Ax By Cz D. z Ix Jy Kz L. Geometry: Topology: Transformations Transformations Geometr vs. Topolog Original Object This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives.0 International License Mike Baile mjb@cs.oregonstate.edu Geometr:

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

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

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

Last Time. Correct Transparent Shadow. Does Ray Tracing Simulate Physics? Does Ray Tracing Simulate Physics? Refraction and the Lifeguard Problem

Last Time. Correct Transparent Shadow. Does Ray Tracing Simulate Physics? Does Ray Tracing Simulate Physics? Refraction and the Lifeguard Problem Graphics Pipeline: Projective Last Time Shadows cast ra to light stop after first intersection Reflection & Refraction compute direction of recursive ra Recursive Ra Tracing maimum number of bounces OR

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

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

Image Warping. Some slides from Steve Seitz

Image Warping.   Some slides from Steve Seitz Image Warping http://www.jeffre-martin.com Some slides from Steve Seitz 5-463: Computational Photograph Aleei Efros, CMU, Spring 2 Image Transformations image filtering: change range of image g() = T(f())

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

CSCI-4972/6963 Advanced Computer Graphics

CSCI-4972/6963 Advanced Computer Graphics Luo Jr. CSCI-497/696 Advaned Computer Graphis http://www.s.rpi.edu/~utler/lasses/advanedgraphis/s8/ Professor Barb Cutler utler@s.rpi.edu MRC 9A Piar Animation Studios, 986 Topis for the Semester Mesh

More information

CS770/870 Spring 2017 Transformations

CS770/870 Spring 2017 Transformations CS770/870 Spring 2017 Transformations Coordinate sstems 2D Transformations Homogeneous coordinates Matrices, vectors, points 01/29/2017 1 Coordinate Sstems Coordinate sstems used in graphics Screen coordinates:

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

Image Warping. Some slides from Steve Seitz

Image Warping.   Some slides from Steve Seitz Image Warping http://www.jeffre-martin.com Some slides from Steve Seitz 5-463: Computational Photograph Aleei Efros, CMU, Fall 26 Image Warping image filtering: change range of image g() T(f()) f T f image

More information

Viewing and Projection

Viewing and Projection Viewing and Projection Sheelagh Carpendale Camera metaphor. choose camera position 2. set up and organie objects 3. choose a lens 4. take the picture View Volumes what gets into the scene perspective view

More information

Determining the 2d transformation that brings one image into alignment (registers it) with another. And

Determining the 2d transformation that brings one image into alignment (registers it) with another. And Last two lectures: Representing an image as a weighted combination of other images. Toda: A different kind of coordinate sstem change. Solving the biggest problem in using eigenfaces? Toda Recognition

More information

3D Coordinates & Transformations

3D Coordinates & Transformations 3D Coordinates & Transformations Prof. Aaron Lanterman (Based on slides b Prof. Hsien-Hsin Sean Lee) School of Electrical and Computer Engineering Georgia Institute of Technolog 3D graphics rendering pipeline

More information

Quiz #2 Review. Transformations & Matrices. Quiz #2 Review. Quiz #2 Review. Example: Change the time on y the clock. Example: Move clock hands

Quiz #2 Review. Transformations & Matrices. Quiz #2 Review. Quiz #2 Review. Example: Change the time on y the clock. Example: Move clock hands Quiz #2 Review Transformations & Matrices Introduction to Computer Graphics Dot Product a. b a b cos θ a b + a y b y + a z b z a. b a T b thus b [a a y a z ] b y b z a b + a y b y + a z b z Quiz #2 Review

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

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

Modeling Transformations

Modeling Transformations Modeling Transformations Thomas Funkhouser Princeton Universit CS 426, Fall 2 Modeling Transformations Specif transformations for objects Allos definitions of objects in on coordinate sstems Allos use

More information

Modeling Transformations

Modeling Transformations Transformations Transformations Specif transformations for objects o Allos definitions of objects in on coordinate sstems o Allos use of object definition multiple times in a scene Adam Finkelstein Princeton

More information

Transformations. CSCI 420 Computer Graphics Lecture 5

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

More information

Transformations. OpenGL Transformations. 4x4 Model-view Matrix (this lecture) OpenGL Transformation Matrices. 4x4 Projection Matrix (next lecture)

Transformations. OpenGL Transformations. 4x4 Model-view Matrix (this lecture) OpenGL Transformation Matrices. 4x4 Projection Matrix (next lecture) CSCI 420 Computer Graphics Lecture 5 OpenGL Transformations Transformations Vector Spaces Euclidean Spaces Frames Homogeneous Coordinates Transformation Matrices Jernej Barbic [Angel, Ch. 3] University

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

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

Homogeneous Coordinates

Homogeneous Coordinates COMS W4172 3D Math 2 Steven Feiner Department of Computer Science Columbia Universit New York, NY 127 www.cs.columbia.edu/graphics/courses/csw4172 Februar 1, 218 1 Homogeneous Coordinates w X W Y X W Y

More information

3D Graphics Pipeline II Clipping. Instructor Stephen J. Guy

3D Graphics Pipeline II Clipping. Instructor Stephen J. Guy 3D Graphics Pipeline II Clipping Instructor Stephen J. Guy 3D Rendering Pipeline (for direct illumination) 3D Geometric Primitives 3D Model Primitives Modeling Transformation 3D World Coordinates Lighting

More information

2D Object Definition (1/3)

2D Object Definition (1/3) 2D Object Definition (1/3) Lines and Polylines Lines drawn between ordered points to create more complex forms called polylines Same first and last point make closed polyline or polygon Can intersect itself

More information

Modeling Transformations

Modeling Transformations שיעור 3 גרפיקה ממוחשבת תשס"ח ב ליאור שפירא Modeling Transformations Heavil based on: Thomas Funkhouser Princeton Universit CS 426, Fall 2 Modeling Transformations Specif transformations for objects Allows

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

Viewing in 3D (Chapt. 6 in FVD, Chapt. 12 in Hearn & Baker)

Viewing in 3D (Chapt. 6 in FVD, Chapt. 12 in Hearn & Baker) Viewing in 3D (Chapt. 6 in FVD, Chapt. 2 in Hearn & Baker) Viewing in 3D s. 2D 2D 2D world Camera world 2D 3D Transformation Pipe-Line Modeling transformation world Bod Sstem Viewing transformation Front-

More information

CT5510: Computer Graphics. Transformation BOCHANG MOON

CT5510: Computer Graphics. Transformation BOCHANG MOON CT5510: Computer Graphics Transformation BOCHANG MOON 2D Translation Transformations such as rotation and scale can be represented using a matrix M.., How about translation? No way to express this 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

Luiz Fernando Martha André Pereira

Luiz Fernando Martha André Pereira Computer Graphics for Engineering Numerical simulation in technical sciences Color / OpenGL Luiz Fernando Martha André Pereira Graz, Austria June 2014 To Remember Computer Graphics Data Processing Data

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

Transformations. Examples of transformations: shear. scaling

Transformations. Examples of transformations: shear. scaling Transformations Eamples of transformations: translation rotation scaling shear Transformations More eamples: reflection with respect to the y-ais reflection with respect to the origin Transformations Linear

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

The 3-D Graphics Rendering Pipeline

The 3-D Graphics Rendering Pipeline The 3-D Graphics Rendering Pipeline Modeling Trival Rejection Illumination Viewing Clipping Projection Almost ever discussion of 3-D graphics begins here Seldom are an two versions drawn the same wa Seldom

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

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

Scene Graphs & Modeling Transformations COS 426

Scene Graphs & Modeling Transformations COS 426 Scene Graphs & Modeling Transformations COS 426 3D Object Representations Points Range image Point cloud Surfaces Polgonal mesh Subdivision Parametric Implicit Solids Voels BSP tree CSG Sweep High-level

More information

Viewing. Cliff Lindsay, Ph.D. WPI

Viewing. Cliff Lindsay, Ph.D. WPI Viewing Cliff Lindsa, Ph.D. WPI Building Virtual Camera Pipeline l Used To View Virtual Scene l First Half of Rendering Pipeline Related To Camera l Takes Geometr From ApplicaHon To RasteriaHon Stages

More information

Image Warping (Szeliski Sec 2.1.2)

Image Warping (Szeliski Sec 2.1.2) Image Warping (Szeliski Sec 2..2) http://www.jeffre-martin.com CS94: Image Manipulation & Computational Photograph Aleei Efros, UC Berkele, Fall 7 Some slides from Steve Seitz Image Transformations image

More information

521493S Computer Graphics Exercise 2 Solution (Chapters 4-5)

521493S Computer Graphics Exercise 2 Solution (Chapters 4-5) 5493S Computer Graphics Exercise Solution (Chapters 4-5). Given two nonparallel, three-dimensional vectors u and v, how can we form an orthogonal coordinate system in which u is one of the basis vectors?

More information

Hierarchical Modeling. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Hierarchical Modeling. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Hierarchical Modeling University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Reading Angel, sections 9.1-9.6 [reader pp. 169-185] OpenGL Programming Guide, chapter 3 Focus especially

More information

Image Warping CSE399b, Spring 07 Computer Vision

Image Warping CSE399b, Spring 07 Computer Vision Image Warping CSE399b, Spring 7 Computer Vision http://maps.a9.com http://www.cs.ubc.ca/~mbrown/autostitch/autostitch.html http://www.cs.ubc.ca/~mbrown/autostitch/autostitch.html Autostiching on A9.com

More information

Computer Graphics Seminar

Computer Graphics Seminar Computer Graphics Seminar MTAT.03.305 Spring 2018 Raimond Tunnel Computer Graphics Graphical illusion via the computer Displaying something meaningful (incl art) Math Computers are good at... computing.

More information