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

Size: px
Start display at page:

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

Transcription

1 Chapter 5 Geometric Transformations Somsak Walairacht, Computer Engineering, KMITL 1

2 Outline Basic Two-Dimensional Geometric Transformations Matrix Representations and Homogeneous Coordinates Inverse Transformations Two-Dimensional Composite Transformations Other Two-Dimensional Transformations Raster Methods for Geometric Transformations OpenGL Raster Transformations Transformations between Two-Dimensional Coordinate Systems 2

3 Outline (2) Geometric Transformations in Three-Dimensional Space Translation Rotation Scaling Composite Three-Dimensional Transformations Other Three-Dimensional Transformations Transformations between Three-Dimensional Coordinate Systems Affine Transformations 3

4 Introduction Operations that are applied to the geometric description of an object to change its position, orientation, or size are called geometric transformations Sometimes geometric-transformation operations are also referred to as modeling transformations A distinction between the two Modeling transformations are used to construct a scene or to give the hierarchical h description of a complex object that is composed of several parts Geometric transformations describe how objects might move around in a scene during an animation sequence or simply to view them from another angle 4

5 Basic Two-Dimensional Geometric e Transformations a o s Available in all graphics packages are Translation Rotation Scaling Other useful transformation routines are Reflection Shearing 5

6 Two-Dimensional so Translation sa To translate a two-dimensional position, we add translation distances t x and t y to the original coordinates (x, y) to obtain the new coordinate position (x, y ) Translation equations in the matrix Translation without deformation is a rigid-body transformation that moves objects การทาใหผดร ป 6

7 Polygon Translation A polygon is translated similarly Adding a translation vector to the coordinate position of each vertex and then regenerate the polygon using the new set of vertex coordinates 7

8 Two-Dimensional Rotation A rotation transformation is generated by specifying a rotation axis and a rotation angle Parameters are the rotation angle θ and a position (x r, y r ) called the rotation ti point (or pivot point), จ ดหม น about which the object is to be rotated A positive value for the angle θ defines a counterclockwise rotation about the pivot point ทวนเข มนาฬ กา 8

9 Two-Dimensional Rotation (2) Let r is the constant distance of the point from the origin, angle is the original angular position of the point from the horizontal, and θ is the rotation angle 9

10 Rotation about Arbitrary Point Transformation equations for rotation of a point about any specified rotation position (x r, y r ) Rotations are rigid body transformations that move objects without deformation 10

11 Two-Dimensional Scaling A simple two-dimensional scaling operation is performed by multiplying object positions (x, y) by scaling factors s x and s y to produce the transformed coordinates (x, y ) In matrix format, where S is a 2x22 scaling matrix 11

12 Scaling by a Fixed Point Coordinates for the fixed point, (x f,y f ), are often chosen at some object position, such as its centroid Objects are now resized by scaling the distances between object points and the fixed point where the additive terms x f (1 s x ) and y f (1 s y ) are constants for all points in the object 12

13 Matrix Representations and Homogeneous oge eous Coordinates Many graphics applications involve sequences of geometric transformations An animation might require an object to be translated and rotated at each increment of the motion The viewing transformations involve sequences of translations and rotations to take us from the original scene specification to the display on an output device 13

14 Matrix Representations and Homogeneous oge eous Coordinates Matrix M 1 is a 2x2 array containing multiplicative factors, and M 2 is a two-element column matrix (2x1 matrix) containing translational terms Multiplicative and translational terms can be combined into a single matrix if we expand the representations to 3x3 A three-element representation (x h, y h, h), called homogeneous coordinates, where the homogeneous parameter h is a nonzero value such that t 14

15 Matrix Representations and Homogeneous oge eous Coordinates Two-Dimensional Translation Matrix Rotation Matrix Scaling Matrix 15

16 Inverse esetransformations so a o s Inverse translation matrix Translate in the opposite direction Inverse rotation matrix Rotate in the clockwise direction Inverse scaling matrix 16

17 Two-Dimensional Composite Transformations a o s Forming products of transformation matrices is often referred to as a concatenation, or composition, of matrices We do premultiply the column matrix by the matrices representing any transformation sequence Since many positions in a scene are typically transformed by the same sequence, it is more efficient i to first multiply l the transformation ti matrices to form a single composite matrix 17

18 Composite Two-Dimensional Translations If two successive translation vectors (t 1x, t 1y) ) and (t 2x, t 2y) ) are applied to a 2-D coordinate position P, the final transformed location P is The composite transformation matrix for this sequence of translations is 18

19 Composite Two-Dimensional Rotations Two successive rotations applied to a point P We can verify that two successive rotations are additive: The composition matrix 19

20 Composite Two-Dimensional Scaling For two successive scaling operations in 2-D produces the following composite scaling matrix 20

21 General Two-Dimensional Pivot-Point Rotation Graphics package provides only a rotate function with respect to the coordinate origin To generate a 2-D rotation about any other pivot point (x r,y r ), follows the sequence of translate-rotate-translate operations 1. Translate the object so that the pivot-point position is moved to the coordinate origin 2. Rotate the object about the coordinate origin 3. Translate the object so that t the pivot point is returned to its original position 21

22 General Two-Dimensional Pivot-Point Rotation (2) 22

23 General Two-Dimensional Fixed-Point Scaling 1. Translate the object so that the fixed point coincides with the coordinate origin 2. Scale the object with respect to the coordinate origin 3. Use the inverse of the translation in step (1) to return the object to its original position 23

24 General Two-Dimensional Scaling Directions To accomplish the scaling without changing the orientation of the object 1. Performs a rotation so that the directions for s 1 and s 2 coincide with the x and y axes 2. Scaling transformation S(s 1, s 2 ) is applied 3. An opposite rotation to return points to their original orientations ti 24

25 Example of Scaling Transformation Turn a unit square into a parallelogram by stretching it along the diagonal from (0, 0) to (1, 1) Rotate the diagonal onto the y axis using θ = 45 Double its length with the scaling values s 1 =1 and s 2 =2 Rotate again to return the diagonal to its original orientation 25

26 Matrix Concatenation Properties Multiplication of matrices is associative Depending upon the order in which the transformations Premultiplying, concatenated transformations are applied from right to left Postmultiplying, concatenated transformations are applied from left to right Premultiplying V = [M1 * M2 * M3] * V Postmultiplying V T = V T * [M3 * M2 * M1] T 26

27 Matrix Concatenation Properties (2) Transformation products may not be commutative M 2 M 1 is not equal to M 1 M 2 Be careful about the order to translate and rotate an object Some special cases the multiplication of transformation matrices is commutative Two successive rotations give the same final position 27

28 General Two-Dimensional Composite Transformations and Computational Efficiency From (5.41), it requires 9 multiplications and 6 additions Actually, only 4 multiplications and 4 additions Once matrix is concatenated, it is maximum number of computations required Without concatenation, individual transformations would be applied one at a time, and the number of calculations could be significantly increased 28

29 Computational Efficiency (2) Rotation calculations require trigonometric evaluations and several multiplications Computational efficiency can become an important consideration in rotation transformations For small enough angles (less than 10), cosθ is approximately 1.0 and sinθ has a value very close to the value of θ in radians 29

30 Computational Efficiency (3) Composite transformations often involve inverse matrices Operations are much simpler than direct inverse matrix calculations Inverse translation matrix is obtained by changing the signs of the translation distances Inverse rotation ti matrix is obtained by performing a matrix transpose 30

31 Two-Dimensional Rigid-Body Transformation All angles and distances between coordinate positions are unchanged by the transformation Upper-left 2x2 submatrix is an orthogonal matrix Two row vectors (r xx, r xy ) and (r yx, r yy ) (or the two column vectors) form an orthogonal set of unit vectors Set of vectors is also referred to as an orthonormal vector set 31

32 Two-Dimensional Rigid-Body Transformation Slide #22 Each vector has unit length Their dot product is 0 If these unit vectors are transformed by the rotation sub-matrix, then Example, 32

33 Constructing Two-Dimensional Rotation Matrices The orthogonal property p of rotation matrices is useful for constructing the matrix when we know the final orientation of an object In modeling application, we can obtain the transformation matrix within object s co-or system when knowing its orientation within overall word co-or system 33

34 Other Two-Dimensional Transformations a o s Reflection Shear 34

35 Reflection Reflection about the line A reflection about the y = 0 (the x axis) is line x = 0 (the y axis) accomplished with the flips x coordinates while transformation matrix keeping y coordinates the same 35

36 Reflection (2) Reflection relative to Reflection axis as the the coordinate origin diagonal line y = x 36

37 Shear A transformation that distorts the shape of an object The transformed shape appears as if the object were composed of internal layers that had been caused to slide over each other An x-direction shear relative to the x axis 37

38 Shear (2) x-direction shears relative to other reference lines y-direction shear relative to the line x = x ref 38

39 Raster Methods for Geometric Transformations a o s All bit settings in the rectangular area shown are copied as a block into another part of the frame buffer Rotate a two-dimensional object or pattern 90 counterclockwise by reversing the pixel values in each row of the array, then interchanging rows and columns 39

40 Raster Methods for Geometric Transformations a o s (2) For array rotations that are not multiples of 90, we need to do some extra processing Similar methods to scale a block of pixels 40

41 Transformations between Two- Dimensional Coordinate Systems Computer-graphics p applications involve coordinate transformations from one reference frame to another during various stages of scene processing To transform object descriptions from xy co-or or to x y xy co-or or 1. Translate so that the origin (x 0, y 0 ) of the x y system is moved to the origin (0, 0) of the xy system 2. Rotate the x axis onto the x axis 41

42 Transformations between 2-D Coordinate Systems s (2) Alternative method Specify a vector V that indicates the direction for the positive y axis Obtain the unit vector u along the x axis by applying a 90 clockwise rotation to vector v Rotation matrix could be expressed essed as elements of a set of orthonormal vectors 42

43 Geometric Transformations in Three-Dimensional e so Space A position P=(x, y, z) in 3-D is translated to a location P =(x, y, z ) by adding translation distances t x, t y, and t z 43

44 3-Dimensional Rotation z-axis rotation cos sin 0 0 sin cos

45 3-Dimensional Rotation (2) Transformation equations for rotations about the other two coordinate axes can be obtained with a cyclic permutation of the coordinate parameters x, y, and z x y z x 45

46 3-Dimensional Rotation (3) ( ) x-axis rotation y-axis rotation x axis rotation y axis rotation cos sin 0 0 sin cos cos 0 sin sin 0 cos

47 Composite Three-Dimensional Transformations a o s A rotation matrix for any axis that does not coincide with a coordinate axis 1. Translate the object so that the rotation axis coincides with the parallel coordinate axis 2. Perform the specified rotation about that axis 3. Translate the object so that the rotation axis is moved back to its original position 47

48 Composite Three-Dimensional Transformations a o s (2) A coordinate position P is transformed with the sequence where 48

49 Composite Three-Dimensional Transformations a o s (3) Rotate about an axis that is not parallel to one of the coordinate axes Transformation requires 5 steps 1. Translate the object so that the rotation axis passes through the coordinate origin 2. Rotate the object so that the axis of rotation coincides with one of the coordinate axes 3. Perform the specified rotation about the selected coordinate axis 4. Apply inverse rotations to bring the rotation axis back to its original orientation 5. Apply the inverse translation to bring the rotation axis back to its original spatial position 49

50 Composite Three-Dimensional Transformations a o s (4) 50

51 Composite Three-Dimensional Transformations a o s (5) The components of the rotation-axis vector The unit rotation-axis vector u Move the point P1 to the origin x-axis rotation gets u into the xz plane y-axis rotation swings u around to the z axis 51

52 Composite Three-Dimensional Transformations a o s (6) Rotate around the x axis to get u into the xz plane Rotation matrix cos sin 0 0 sin cos u z =1, u =d 52

53 Composite Three-Dimensional Transformations a o s (7) Resulting from the rotation about x axis is a vector labeled u Rotation angle β The transformation matrix for rotation of u about the y axis is cos 0 sin sin 0 cos

54 Composite Three-Dimensional Transformations a o s (8) The rotation axis is aligned with the positive z axis Apply the specified rotation angle θ To complete the required rotation about the given axis, we need to transform the rotation axis back to its original position 54

55 Quaternion Methods for Three-Dimensional Rotations A more efficient method Require less storage space than 4x4 matrices Important in animations, which often require complicated motion sequences and motion interpolations between two given positions of an object q=(a,b,c) M R () = R x -1 () R y -1 () R z () R y () R x () 55

56 ควอเทอเน ยน ควอเทอเน ยนท แทนการหมนเป ควอเทอเนยนทแทนการหม นเปนม ม นมม รอบแกน (x, y, z) ค อ cos ; xsin, 2 2 y sin, 2 z sin 2 ระว งว า (x, y, z) ต องเป นเวกเตอร หน งหน วย 56

57 ต วอย าง จงหาควอเทอเน ยนท แทนการหมนเป จงหาควอเทอเนยนทแทนการหม นเปนม ม นมม 60 องศา รอบแกน (1,1,1) เวกเตอร หน งหน วยของแกนค อ 1 3,1 3,1 3 ค านวณค า cos และ sin cos30 3 2,sin 30 และจะได ว าควอเทอเน ยนค อ ; 2 1 3, 2 1 3,

58 ต วอย าง ควอเทอเน ยนต อไปน แทนการหมนก องศา ควอเทอเนยนตอไปนแทนการหม นกองศา รอบแกนอะไร? 1 ;0, 2 6 4, 6 4 เราได ว า ฉะน น ฉะนน 1 cos sin แกนท หม นรอบค อ 1 sin ,, 0,, 0,,

59 Other Three-Dimensional Transformations a o s Scaling 59

60 Other Three-Dimensional Transformations a o s (2) Reflection Shear 60

61 Transformations between Three- Dimensional Coordinate Systems An xyz x y z system is defined with respect to an xyz system To transfer the xyz coordinate descriptions to the x y z system Translation that brings the x y z coordinate origin to the xyz origin A sequence of rotations that align corresponding coordinate axes A scaling transformation may also be necessary T(-x 0, -y 0, -z 0 ) The composition matrix is RT 61

62 Two main classes of Transformations a o s การแปลงส มพรรค Affine transformations can be represented by a matrix A set of affine transformations ti can be combined into a single overall affine transformation Structure deforming transformations are nonlinear, and cannot be represented by a matrix Ex. tapering, twisting, bending 62

63 Affine Transformations a o s An affine transformation is a form of coordinate transformation An affine transformation preserves angles and lengths Parallel lines are transformed into parallel lines and finite points map to finite points Examples Translation, rotation, scaling, reflection, and shear Conversion of coordinate descriptions i from one reference system to another 63

64 Affine Transformations To represent affine transformations with matrices, we must use homogeneous coordinates a 2-vector (x, y) as a 3-vector (x, y, 1), and similarly for higher dimensions Translation can be expressed with matrix multiplication The functional form x' = x + tx; y' = y + ty Any linear transformation can be represented by a general transformation matrix Translation can be seamlessly intermixed with all other types of transformations 64

65 OpenGL Geometric- Transformation a o Functions Basic OpenGL Geometric Transformations gltranslate* (tx, ty, tz); gltranslatef (25.0, -10.0, 0.0); glrotate* (theta, vx, vy, vz); glrotatef (90.0, 0.0, 0.0, 1.0); glscale* (sx, sy, sz); glscalef (2.0, -3.0, 1.0); OpenGL Matrix Operations glmatrixmode Mode (GL_MODELVIEW); glmatrixmode (GL_PROJECTION); 65

66 End of Chapter 5 66

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

UNIT 2 2D TRANSFORMATIONS

UNIT 2 2D TRANSFORMATIONS UNIT 2 2D TRANSFORMATIONS Introduction With the procedures for displaying output primitives and their attributes, we can create variety of pictures and graphs. In many applications, there is also a need

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

Computer Graphics: Geometric Transformations

Computer Graphics: Geometric Transformations Computer Graphics: Geometric Transformations Geometric 2D transformations By: A. H. Abdul Hafez Abdul.hafez@hku.edu.tr, 1 Outlines 1. Basic 2D transformations 2. Matrix Representation of 2D transformations

More information

3D Mathematics. Co-ordinate systems, 3D primitives and affine transformations

3D Mathematics. Co-ordinate systems, 3D primitives and affine transformations 3D Mathematics Co-ordinate systems, 3D primitives and affine transformations Coordinate Systems 2 3 Primitive Types and Topologies Primitives Primitive Types and Topologies 4 A primitive is the most basic

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

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

2D and 3D Transformations AUI Course Denbigh Starkey

2D and 3D Transformations AUI Course Denbigh Starkey 2D and 3D Transformations AUI Course Denbigh Starkey. Introduction 2 2. 2D transformations using Cartesian coordinates 3 2. Translation 3 2.2 Rotation 4 2.3 Scaling 6 3. Introduction to homogeneous coordinates

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

2D and 3D Coordinate Systems and Transformations

2D and 3D Coordinate Systems and Transformations Graphics & Visualization Chapter 3 2D and 3D Coordinate Systems and Transformations Graphics & Visualization: Principles & Algorithms Introduction In computer graphics is often necessary to change: the

More information

Transforms. COMP 575/770 Spring 2013

Transforms. COMP 575/770 Spring 2013 Transforms COMP 575/770 Spring 2013 Transforming Geometry Given any set of points S Could be a 2D shape, a 3D object A transform is a function T that modifies all points in S: T S S T v v S Different transforms

More information

Graphics and Interaction Transformation geometry and homogeneous coordinates

Graphics and Interaction Transformation geometry and homogeneous coordinates 433-324 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation

More information

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation

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

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

Vector Algebra Transformations. Lecture 4

Vector Algebra Transformations. Lecture 4 Vector Algebra Transformations Lecture 4 Cornell CS4620 Fall 2008 Lecture 4 2008 Steve Marschner 1 Geometry A part of mathematics concerned with questions of size, shape, and relative positions of figures

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

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

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

Today. Today. Introduction. Matrices. Matrices. Computergrafik. Transformations & matrices Introduction Matrices

Today. Today. Introduction. Matrices. Matrices. Computergrafik. Transformations & matrices Introduction Matrices Computergrafik Matthias Zwicker Universität Bern Herbst 2008 Today Transformations & matrices Introduction Matrices Homogeneous Affine transformations Concatenating transformations Change of Common coordinate

More information

Transformations Computer Graphics I Lecture 4

Transformations Computer Graphics I Lecture 4 15-462 Computer Graphics I Lecture 4 Transformations Vector Spaces Affine and Euclidean Spaces Frames Homogeneous Coordinates Transformation Matrices January 23, 2003 [Angel, Ch. 4] Frank Pfenning Carnegie

More information

GEOMETRIC TRANSFORMATIONS AND VIEWING

GEOMETRIC TRANSFORMATIONS AND VIEWING GEOMETRIC TRANSFORMATIONS AND VIEWING 2D and 3D 1/44 2D TRANSFORMATIONS HOMOGENIZED Transformation Scaling Rotation Translation Matrix s x s y cosθ sinθ sinθ cosθ 1 dx 1 dy These 3 transformations are

More information

Lecture 4: Transformations and Matrices. CSE Computer Graphics (Fall 2010)

Lecture 4: Transformations and Matrices. CSE Computer Graphics (Fall 2010) Lecture 4: Transformations and Matrices CSE 40166 Computer Graphics (Fall 2010) Overall Objective Define object in object frame Move object to world/scene frame Bring object into camera/eye frame Instancing!

More information

2D TRANSFORMATIONS AND MATRICES

2D TRANSFORMATIONS AND MATRICES 2D TRANSFORMATIONS AND MATRICES Representation of Points: 2 x 1 matrix: x y General Problem: B = T A T represents a generic operator to be applied to the points in A. T is the geometric transformation

More information

Transformations. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Transformations. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Transformations Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Angel: Interactive Computer Graphics 4E Addison-Wesley 25 1 Objectives

More information

Transformations. Questions on Assignment 1? Announcements

Transformations. Questions on Assignment 1? Announcements Announcements Is your account working yet? Watch out for ^M and missing newlines Assignment 1 is due next Thursday at midnight Check the webpage and newsgroup for answers to questions about the assignment

More information

Section III: TRANSFORMATIONS

Section III: TRANSFORMATIONS Section III: TRANSFORMATIONS in 2-D 2D TRANSFORMATIONS AND MATRICES Representation of Points: 2 x 1 matrix: X Y General Problem: [B] = [T] [A] [T] represents a generic operator to be applied to the points

More information

Transformations Computer Graphics I Lecture 4

Transformations Computer Graphics I Lecture 4 15-462 Computer Graphics I Lecture 4 Transformations Vector Spaces Affine and Euclidean Spaces Frames Homogeneous Coordinates Transformation Matrices January 24, 2002 [Angel, Ch. 4] Frank Pfenning Carnegie

More information

3D Geometry and Camera Calibration

3D Geometry and Camera Calibration 3D Geometry and Camera Calibration 3D Coordinate Systems Right-handed vs. left-handed x x y z z y 2D Coordinate Systems 3D Geometry Basics y axis up vs. y axis down Origin at center vs. corner Will often

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

2D transformations: An introduction to the maths behind computer graphics

2D transformations: An introduction to the maths behind computer graphics 2D transformations: An introduction to the maths behind computer graphics Lecturer: Dr Dan Cornford d.cornford@aston.ac.uk http://wiki.aston.ac.uk/dancornford CS2150, Computer Graphics, Aston University,

More information

Hello, welcome to the video lecture series on Digital Image Processing. So in today's lecture

Hello, welcome to the video lecture series on Digital Image Processing. So in today's lecture Digital Image Processing Prof. P. K. Biswas Department of Electronics and Electrical Communications Engineering Indian Institute of Technology, Kharagpur Module 02 Lecture Number 10 Basic Transform (Refer

More information

Last week. Machiraju/Zhang/Möller/Fuhrmann

Last week. Machiraju/Zhang/Möller/Fuhrmann Last week Machiraju/Zhang/Möller/Fuhrmann 1 Geometry basics Scalar, point, and vector Vector space and affine space Basic point and vector operations Sided-ness test Lines, planes, and triangles Linear

More information

Interactive Computer Graphics. Hearn & Baker, chapter D transforms Hearn & Baker, chapter 5. Aliasing and Anti-Aliasing

Interactive Computer Graphics. Hearn & Baker, chapter D transforms Hearn & Baker, chapter 5. Aliasing and Anti-Aliasing Interactive Computer Graphics Aliasing and Anti-Aliasing Hearn & Baker, chapter 4-7 D transforms Hearn & Baker, chapter 5 Aliasing and Anti-Aliasing Problem: jaggies Also known as aliasing. It results

More information

Today s class. Viewing transformation Menus Mandelbrot set and pixel drawing. Informationsteknologi

Today s class. Viewing transformation Menus Mandelbrot set and pixel drawing. Informationsteknologi Today s class Viewing transformation Menus Mandelbrot set and pixel drawing Monday, November 2, 27 Computer Graphics - Class 7 The world & the window World coordinates describe the coordinate system used

More information

Overview. Affine Transformations (2D and 3D) Coordinate System Transformations Vectors Rays and Intersections

Overview. Affine Transformations (2D and 3D) Coordinate System Transformations Vectors Rays and Intersections Overview Affine Transformations (2D and 3D) Coordinate System Transformations Vectors Rays and Intersections ITCS 4120/5120 1 Mathematical Fundamentals Geometric Transformations A set of tools that aid

More information

MODULE - 7. Subject: Computer Science. Module: Other 2D Transformations. Module No: CS/CGV/7

MODULE - 7. Subject: Computer Science. Module: Other 2D Transformations. Module No: CS/CGV/7 MODULE - 7 e-pg Pathshala Subject: Computer Science Paper: Computer Graphics and Visualization Module: Other 2D Transformations Module No: CS/CGV/7 Quadrant e-text Objectives: To get introduced to the

More information

CS354 Computer Graphics Rotations and Quaternions

CS354 Computer Graphics Rotations and Quaternions Slide Credit: Don Fussell CS354 Computer Graphics Rotations and Quaternions Qixing Huang April 4th 2018 Orientation Position and Orientation The position of an object can be represented as a translation

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

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

Transformations. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science

Transformations. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Transformations CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive

More information

EECE 478. Learning Objectives. Learning Objectives. Linear Algebra and 3D Geometry. Linear algebra in 3D. Coordinate systems

EECE 478. Learning Objectives. Learning Objectives. Linear Algebra and 3D Geometry. Linear algebra in 3D. Coordinate systems EECE 478 Linear Algebra and 3D Geometry Learning Objectives Linear algebra in 3D Define scalars, points, vectors, lines, planes Manipulate to test geometric properties Coordinate systems Use homogeneous

More information

Specifying Complex Scenes

Specifying Complex Scenes Transformations Specifying Complex Scenes (x,y,z) (r x,r y,r z ) 2 (,,) Specifying Complex Scenes Absolute position is not very natural Need a way to describe relative relationship: The lego is on top

More information

Objectives. transformation. General Transformations. Affine Transformations. Notation. Pipeline Implementation. Introduce standard transformations

Objectives. transformation. General Transformations. Affine Transformations. Notation. Pipeline Implementation. Introduce standard transformations Objectives Transformations CS Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive homogeneous

More information

Object Representation Affine Transforms. Polygonal Representation. Polygonal Representation. Polygonal Representation of Objects

Object Representation Affine Transforms. Polygonal Representation. Polygonal Representation. Polygonal Representation of Objects Object Representation Affine Transforms Polygonal Representation of Objects Although perceivable the simplest form of representation they can also be the most problematic. To represent an object polygonally,

More information

Transformations Week 9, Lecture 18

Transformations Week 9, Lecture 18 CS 536 Computer Graphics Transformations Week 9, Lecture 18 2D Transformations David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 3 2D Affine Transformations

More information

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6 Math background 2D Geometric Transformations CS 4620 Lecture 6 Read: Chapter 2: Miscellaneous Math Chapter 5: Linear Algebra Notation for sets, functions, mappings Linear transformations Matrices Matrix-vector

More information

Computer Science 336 Fall 2017 Homework 2

Computer Science 336 Fall 2017 Homework 2 Computer Science 336 Fall 2017 Homework 2 Use the following notation as pseudocode for standard 3D affine transformation matrices. You can refer to these by the names below. There is no need to write out

More information

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES YINGYING REN Abstract. In this paper, the applications of homogeneous coordinates are discussed to obtain an efficient model

More information

Coordinate transformations. 5554: Packet 8 1

Coordinate transformations. 5554: Packet 8 1 Coordinate transformations 5554: Packet 8 1 Overview Rigid transformations are the simplest Translation, rotation Preserve sizes and angles Affine transformation is the most general linear case Homogeneous

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

+ i a y )( cosφ + isinφ) ( ) + i( a x. cosφ a y. = a x

+ i a y )( cosφ + isinφ) ( ) + i( a x. cosφ a y. = a x Rotation Matrices and Rotated Coordinate Systems Robert Bernecky April, 2018 Rotated Coordinate Systems is a confusing topic, and there is no one standard or approach 1. The following provides a simplified

More information

2D Geometric Transformations and Matrices

2D Geometric Transformations and Matrices Background: Objects are drawn and moved in 2D space and 3D space on a computer screen b multipling matrices. Generall speaking, computer animation is achieved as follows b repeating steps 1, 2, and 3 below.

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

(Refer Slide Time: 00:04:20)

(Refer Slide Time: 00:04:20) Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 8 Three Dimensional Graphics Welcome back all of you to the lectures in Computer

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

Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation

Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation and the type of an object. Even simple scaling turns a

More information

CS380: Computer Graphics 2D Imaging and Transformation. Sung-Eui Yoon ( 윤성의 ) Course URL:

CS380: Computer Graphics 2D Imaging and Transformation. Sung-Eui Yoon ( 윤성의 ) Course URL: CS380: Computer Graphics 2D Imaging and Transformation Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg Class Objectives Write down simple 2D transformation matrixes Understand the

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

UNIT 2. Translation/ Scaling/ Rotation. Unit-02/Lecture-01

UNIT 2. Translation/ Scaling/ Rotation. Unit-02/Lecture-01 UNIT 2 Translation/ Scaling/ Rotation Unit-02/Lecture-01 Translation- (RGPV-2009,10,11,13,14) Translation is to move, or parallel shift, a figure. We use a simple point as a starting point. This is a simple

More information

Game Engineering CS S-05 Linear Transforms

Game Engineering CS S-05 Linear Transforms Game Engineering CS420-2016S-05 Linear Transforms David Galles Department of Computer Science University of San Francisco 05-0: Matrices as Transforms Recall that Matrices are transforms Transform vectors

More information

Transformations: 2D Transforms

Transformations: 2D Transforms 1. Translation Transformations: 2D Transforms Relocation of point WRT frame Given P = (x, y), translation T (dx, dy) Then P (x, y ) = T (dx, dy) P, where x = x + dx, y = y + dy Using matrix representation

More information

Homogeneous Coordinates and Transformations of the Plane

Homogeneous Coordinates and Transformations of the Plane 2 Homogeneous Coordinates and Transformations of the Plane 2. Introduction In Chapter planar objects were manipulated by applying one or more transformations. Section.7 identified the problem that the

More information

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object. CENG 732 Computer Animation Spring 2006-2007 Week 4 Shape Deformation Animating Articulated Structures: Forward Kinematics/Inverse Kinematics This week Shape Deformation FFD: Free Form Deformation Hierarchical

More information

CS D Transformation. Junqiao Zhao 赵君峤

CS D Transformation. Junqiao Zhao 赵君峤 CS10101001 3D Transformation Junqiao Zhao 赵君峤 Department of Computer Science and Technology College of Electronics and Information Engineering Tongji University Review Translation Linear transformation

More information

MAT 343 Laboratory 4 Plotting and computer animation in MATLAB

MAT 343 Laboratory 4 Plotting and computer animation in MATLAB MAT 4 Laboratory 4 Plotting and computer animation in MATLAB In this laboratory session we will learn how to. Plot in MATLAB. The geometric properties of special types of matrices (rotations, dilations,

More information

Computer Graphics with OpenGL ES (J. Han) Chapter IV Spaces and Transforms

Computer Graphics with OpenGL ES (J. Han) Chapter IV Spaces and Transforms Chapter IV Spaces and Transforms Scaling 2D scaling with the scaling factors, s x and s y, which are independent. Examples When a polygon is scaled, all of its vertices are processed by the same scaling

More information

Modeling Objects by Polygonal Approximations. Linear and Affine Transformations (Maps)

Modeling Objects by Polygonal Approximations. Linear and Affine Transformations (Maps) Modeling Objects by Polygonal Approximations Define volumetric objects in terms of surfaces patches that surround the volume Each surface patch is approximated set of polygons Each polygon is specified

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

Visual Recognition: Image Formation

Visual Recognition: Image Formation Visual Recognition: Image Formation Raquel Urtasun TTI Chicago Jan 5, 2012 Raquel Urtasun (TTI-C) Visual Recognition Jan 5, 2012 1 / 61 Today s lecture... Fundamentals of image formation You should know

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

Computer Graphics Hands-on

Computer Graphics Hands-on Computer Graphics Hands-on Two-Dimensional Transformations Objectives Visualize the fundamental 2D geometric operations translation, rotation about the origin, and scale about the origin Learn how to compose

More information

Advanced Computer Graphics Transformations. Matthias Teschner

Advanced Computer Graphics Transformations. Matthias Teschner Advanced Computer Graphics Transformations Matthias Teschner Motivation Transformations are used To convert between arbitrary spaces, e.g. world space and other spaces, such as object space, camera space

More information

AH Matrices.notebook November 28, 2016

AH Matrices.notebook November 28, 2016 Matrices Numbers are put into arrays to help with multiplication, division etc. A Matrix (matrices pl.) is a rectangular array of numbers arranged in rows and columns. Matrices If there are m rows and

More information

2D/3D Geometric Transformations and Scene Graphs

2D/3D Geometric Transformations and Scene Graphs 2D/3D Geometric Transformations and Scene Graphs Week 4 Acknowledgement: The course slides are adapted from the slides prepared by Steve Marschner of Cornell University 1 A little quick math background

More information

Spatial transformations in BrainVoyager

Spatial transformations in BrainVoyager Spatial transformations in BrainVoyager Rainer Goebel 2005 Introduction This technical document aims to provide detailed knowledge about spatial transformations in general and how they are implemented

More information

Lecture 9: Transformations. CITS3003 Graphics & Animation

Lecture 9: Transformations. CITS3003 Graphics & Animation Lecture 9: Transformations CITS33 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 212 Objectives Introduce standard transformations Rotation Translation Scaling

More information

COMP30019 Graphics and Interaction Three-dimensional transformation geometry and perspective

COMP30019 Graphics and Interaction Three-dimensional transformation geometry and perspective COMP30019 Graphics and Interaction Three-dimensional transformation geometry and perspective Department of Computing and Information Systems The Lecture outline Introduction Rotation about artibrary axis

More information

CSE328 Fundamentals of Computer Graphics

CSE328 Fundamentals of Computer Graphics CSE328 Fundamentals of Computer Graphics Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 794--44 Tel: (63)632-845; Fax: (63)632-8334 qin@cs.sunysb.edu

More information

3D Computer Graphics. Jared Kirschner. November 8, 2010

3D Computer Graphics. Jared Kirschner. November 8, 2010 3D Computer Graphics Jared Kirschner November 8, 2010 1 Abstract We are surrounded by graphical displays video games, cell phones, television sets, computer-aided design software, interactive touch screens,

More information

To Do. Outline. Translation. Homogeneous Coordinates. Foundations of Computer Graphics. Representation of Points (4-Vectors) Start doing HW 1

To Do. Outline. Translation. Homogeneous Coordinates. Foundations of Computer Graphics. Representation of Points (4-Vectors) Start doing HW 1 Foundations of Computer Graphics Homogeneous Coordinates Start doing HW 1 To Do Specifics of HW 1 Last lecture covered basic material on transformations in 2D Likely need this lecture to understand full

More information

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CSE528 Computer Graphics: Theory, Algorithms, and Applications CSE528 Computer Graphics: Theory, Algorithms, and Applications Hong Qin Stony Brook University (SUNY at Stony Brook) Stony Brook, New York 11794-2424 Tel: (631)632-845; Fax: (631)632-8334 qin@cs.stonybrook.edu

More information

CSC418 / CSCD18 / CSC2504

CSC418 / CSCD18 / CSC2504 5 5.1 Surface Representations As with 2D objects, we can represent 3D objects in parametric and implicit forms. (There are also explicit forms for 3D surfaces sometimes called height fields but we will

More information

Computer Graphics 7: Viewing in 3-D

Computer Graphics 7: Viewing in 3-D Computer Graphics 7: Viewing in 3-D In today s lecture we are going to have a look at: Transformations in 3-D How do transformations in 3-D work? Contents 3-D homogeneous coordinates and matrix based transformations

More information

Analysis of Euler Angles in a Simple Two-Axis Gimbals Set

Analysis of Euler Angles in a Simple Two-Axis Gimbals Set Vol:5, No:9, 2 Analysis of Euler Angles in a Simple Two-Axis Gimbals Set Ma Myint Myint Aye International Science Index, Mechanical and Mechatronics Engineering Vol:5, No:9, 2 waset.org/publication/358

More information

Game Engineering: 2D

Game Engineering: 2D Game Engineering: 2D CS420-2010F-07 Objects in 2D David Galles Department of Computer Science University of San Francisco 07-0: Representing Polygons We want to represent a simple polygon Triangle, rectangle,

More information

Geometric Transformations

Geometric Transformations Geometric Transformations CS 4620 Lecture 9 2017 Steve Marschner 1 A little quick math background Notation for sets, functions, mappings Linear and affine transformations Matrices Matrix-vector multiplication

More information

Linear transformations Affine transformations Transformations in 3D. Graphics 2009/2010, period 1. Lecture 5: linear and affine transformations

Linear transformations Affine transformations Transformations in 3D. Graphics 2009/2010, period 1. Lecture 5: linear and affine transformations Graphics 2009/2010, period 1 Lecture 5 Linear and affine transformations Vector transformation: basic idea Definition Examples Finding matrices Compositions of transformations Transposing normal vectors

More information

3D Transformations World Window to Viewport Transformation Week 2, Lecture 4

3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 CS 430/536 Computer Graphics I 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory

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

Transformation Algebra

Transformation Algebra Transformation Algebra R. J. Renka Department of Computer Science & Engineering University of North Texas 0/07/205 Linear Transformations A point with Cartesian coordinates (x, y, z) is taken to be a column

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

Something noteworthy

Something noteworthy Something noteworthy Very very noteworthy OpenGL postmultiply each new transformation matrix M = M x Mnew Example: perform translation, then rotation 0) M = Identity 1) translation T(tx,ty,0) -> M = M

More information

Orientation & Quaternions

Orientation & Quaternions Orientation & Quaternions Orientation Position and Orientation The position of an object can be represented as a translation of the object from the origin The orientation of an object can be represented

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

Linear and Affine Transformations Coordinate Systems

Linear and Affine Transformations Coordinate Systems Linear and Affine Transformations Coordinate Systems Recall A transformation T is linear if Recall A transformation T is linear if Every linear transformation can be represented as matrix Linear Transformation

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

CS452/552; EE465/505. Transformations

CS452/552; EE465/505. Transformations CS452/552; EE465/55 Transformations 1-29-15 Outline! Transformations Read: Angel, Chapter 4 (study cube.html/cube.js example) Helpful links: Linear Algebra: Khan Academy Lab1 is posted on github, due:

More information

Affine Transformations in 3D

Affine Transformations in 3D Affine Transformations in 3D 1 Affine Transformations in 3D 1 Affine Transformations in 3D General form 2 Translation Elementary 3D Affine Transformations 3 Scaling Around the Origin 4 Along x-axis Shear

More information

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate

More information