2D Transformations with Matrices

Slides:



Advertisements
Similar presentations
Today Composing transformations 3D Transformations
Advertisements

Matrix.
Transformations Ed Angel Professor Emeritus of Computer Science
Computer Graphics Lecture 4 Geometry & Transformations.
Transformations We want to be able to make changes to the image larger/smaller rotate move This can be efficiently achieved through mathematical operations.
Mathematics. Matrices and Determinants-1 Session.
2D/3D Geometric Transformations CS485/685 Computer Vision Dr. George Bebis.
Transformations CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
3D Graphics Goal: To produce 2D images of a mathematically described 3D environment Issues: –Describing the environment: Modeling (mostly later) –Computing.
Row 1 Row 2 Row 3 Row m Column 1Column 2Column 3 Column 4.
4.2 Operations with Matrices Scalar multiplication.
1 Matrix Math ©Anthony Steed Overview n To revise Vectors Matrices n New stuff Homogenous co-ordinates 3D transformations as matrices.
COS 397 Computer Graphics Svetla Boytcheva AUBG, Spring 2013.
CS 480/680 Computer Graphics Representation Dr. Frederick C Harris, Jr. Fall 2012.
Geometric Transformation. So far…. We have been discussing the basic elements of geometric programming. We have discussed points, vectors and their operations.
Transformations Dr. Amy Zhang.
CS 480/680 Computer Graphics Transformations Dr. Frederick C Harris, Jr.
Lecture Notes: Computer Graphics.
Dx = 2 dy = 3 Y X D Translation A translation is applied to an object by repositioning it along a straight-line path.
1 2D Transformations 几何变换. 2 What is a transformation? A transformation is an operation that transforms or changes a shape (line, drawing etc.) There.
CSE 681 Review: Transformations. CSE 681 Transformations Modeling transformations build complex models by positioning (transforming) simple components.
Matrices, Transformations and the 3D Pipeline Matthew Rusch Paul Keet.
Magnitude of a Vector The magnitude of a vector, denoted as |a|, is defined as the square root of the sum of the squares of its components: |a| = (x 2.
If A and B are both m × n matrices then the sum of A and B, denoted A + B, is a matrix obtained by adding corresponding elements of A and B. add these.
Two-Dimensional Geometric Transformations ch5. 참조 Subjects : Basic Transformations Homogeneous Coordinates Composite Transformations Other Transformations.
Geometric Transformations Hearn & Baker Chapter 5 Some slides are taken from Robert Thomsons notes.
Affine Transformation. Affine Transformations In this lecture, we will continue with the discussion of the remaining affine transformations and composite.
Matrix Operations.
Computer Graphics Matrices
Matrices and Determinants
III- 1 III 3D Transformation Homogeneous Coordinates The three dimensional point (x, y, z) is represented by the homogeneous coordinate (x, y, z, 1) In.
Computer Graphics I, Fall 2010 Transformations.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Transformations Ed Angel Professor of Computer Science, Electrical and Computer Engineering,
Modeling Transformation
Ch. 12 Vocabulary 1.) matrix 2.) element 3.) scalar 4.) scalar multiplication.
Transformations. Modeling Transformations  Specify transformations for objects  Allows definitions of objects in own coordinate systems  Allows use.
Objectives Introduce standard transformations Introduce standard transformations Derive homogeneous coordinate transformation matrices Derive homogeneous.
Computer Graphics 2D Transformations
Properties and Applications of Matrices
Linear Algebra review (optional)
Transforms.
Geometric Transformations
Transformations Objectives
3D Geometric Transformation
Geometric Transformations Hearn & Baker Chapter 5
Computer Graphics CC416 Week 15 3D Graphics.
Computer Graphics Transformations.
Review: Transformations
3D Transformation.
3D Geometric Transformations
L6 matrix operations.
Chapter 5 2-D Transformations.
Computer Graphics Transformations.
3D Transformations Source & Courtesy: University of Wisconsin,
Introduction to Computer Graphics CS 445 / 645
Review: Transformations
Line and Character Attributes 2-D Transformation
COMP 175: Computer Graphics February 9, 2016
CSC4820/6820 Computer Graphics Algorithms Ying Zhu Georgia State University Transformations.
Chapter IV Spaces and Transforms
(c) University of Wisconsin, CS559
Section 2.4 Matrices.
Transformations Ed Angel
Geometric Objects and Transformations (II)
Transformations Ed Angel Professor Emeritus of Computer Science
Geometrical Transformations
Isaac Gang University of Mary Hardin-Baylor
Lecture 8: 3D Transforms Li Zhang Spring 2008
Linear Algebra review (optional)
Linear Algebra A gentle introduction
Presentation transcript:

2D Transformations with Matrices

Matrices A matrix is a rectangular array of numbers. A general matrix will be represented by an upper-case italicised letter. The element on the ith row and jth column is denoted by ai,j. Note that we start indexing at 1, whereas C indexes arrays from 0.

Matrices – Addition Given two matrices A and B if we want to add B to A (that is form A+B) then if A is (nm), B must be (nm), Otherwise, A+B is not defined. The addition produces a result, C = A+B, with elements:

Matrices – Multiplication Given two matrices A and B if we want to multiply B by A (that is form AB) then if A is (nm), B must be (mp), i.e., the number of columns in A must be equal to the number of rows in B. Otherwise, AB is not defined. The multiplication produces a result, C = AB, with elements: (Basically we multiply the first row of A with the first column of B and put this in the c1,1 element of C. And so on…).

Matrices – Multiplication (Examples) 26+ 63+ 72=44 Undefined! 2x2 x 3x2 2!=3 2x2 x 2x4 x 4x4 is allowed. Result is 2x4 matrix

Matrices -- Basics Unlike scalar multiplication, AB ≠ BA Matrix multiplication distributes over addition: A(B+C) = AB + AC Identity matrix for multiplication is defined as I. The transpose of a matrix, A, is either denoted AT or A’ is obtained by swapping the rows and columns of A:

2D Geometrical Transformations Translate Rotate Scale Shear

Translate Points Recall.. We can translate points in the (x, y) plane to new positions by adding translation amounts to the coordinates of the points. For each point P(x, y) to be moved by dx units parallel to the x axis and by dy units parallel to the y axis, to the new point P’(x’, y’ ). The translation has the following form: P(x,y) P’(x’,y’) dx dy In matrix format: If we define the translation matrix , then we have P’ =P + T.

Scale Points Points can be scaled (stretched) by sx along the x axis and by sy along the y axis into the new points by the multiplications: We can specify how much bigger or smaller by means of a “scale factor” To double the size of an object we use a scale factor of 2, to half the size of an obejct we use a scale factor of 0.5 P(x,y) P’(x’,y’) x sx x sy y y If we define , then we have P’ =SP

Rotate Points (cont.) Points can be rotated through an angle  about the origin: P(x,y) P’(x’,y’) x x’ y’ y   l O P’ =RP

Review… Translate: P’ = P+T Scale: P’ = SP Rotate: P’ = RP Spot the odd one out… Multiplying versus adding matrix… Ideally, all transformations would be the same.. easier to code Solution: Homogeneous Coordinates

Homogeneous Coordinates For a given 2D coordinates (x, y), we introduce a third dimension: [x, y, 1] In general, a homogeneous coordinates for a 2D point has the form: [x, y, W] Two homogeneous coordinates [x, y, W] and [x’, y’, W’] are said to be of the same (or equivalent) if x = kx’ eg: [2, 3, 6] = [4, 6, 12] y = ky’ for some k ≠ 0 where k=2 W = kW’ Therefore any [x, y, W] can be normalised by dividing each element by W: [x/W, y/W, 1]

Homogeneous Transformations Now, redefine the translation by using homogeneous coordinates: Similarly, we have: Scaling Rotation P’ = S  P P’ = R  P

Composition of 2D Transformations Additivity of successive translations We want to translate a point P to P’ by T(dx1, dy1) and then to P’’ by another T(dx2, dy2) On the other hand, we can define T21= T(dx1, dy1) T(dx2, dy2) first, then apply T21 to P: where

Examples of Composite 2D Transformations (2,1) (1,3) (2,2)

Composition of 2D Transformations (cont.) Multiplicativity of successive scalings where

Composition of 2D Transformations (cont.) 3. Additivity of successive rotations where

Composition of 2D Transformations (cont.) 4. Different types of elementary transformations discussed above can be concatenated as well. where

Consider the following two questions: translate a line segment P1 P2, say, by -1 units in the x direction and -2 units in the y direction. 2). Rotate a line segment P1 P2, say by  degrees counter clockwise, about P1. P2(3,3) P’2 P1(1,2) P’1 P’2 P2(3,3)  P’1 P1(1,2)

Other Than Point Transformations… Translate Lines: translate both endpoints, then join them. Scale or Rotate Lines: More complex. For example, consider to rotate an arbitrary line about a point P1, three steps are needed: 1). Translate such that P1 is at the origin; 2). Rotate; 3). Translate such that the point at the origin returns to P1. T(-1,-2) R() P1(1,2) P2(3,3) P2(2,1) T(1,2) P2 P1 

Another Example. Translate Translate Rotate Scale

Order Matters! As we said, the order for composition of 2D geometrical transformations matters, because, in general, matrix multiplication is not commutative. However, it is easy to show that, in the following four cases, commutativity holds: 1). Translation + Translation 2). Scaling + Scaling 3). Rotation + Rotation 4). Scaling (with sx = sy) + Rotation just to verify case 4: if sx = sy, M1 = M2.

Rigid-Body vs. Affine Transformations A transformation matrix of the form where the upper 22 sub-matrix is orthogonal, preserves angles and lengths. Such transforms are called rigid-body transformations, because the body or object being transformed is not distorted in any way. An arbitrary sequence of rotation and translation matrices creates a matrix of this form. The product of an arbitrary sequence of rotation, translations, and scale matrices will cause an affine transformation, which have the property of preserving parallelism of lines, but not of lengths and angles.

Rigid-Body vs. Affine Transformations (cont.) Unit cube 45º Scale in x, not in y Rigid- body Transformation Affine Shear transformation is also affine. Shear in the x direction Shear in the y direction