1 / 30

Linear Transformations and Matrices

Linear Transformations and Matrices. Jim Van Verth (jim@essentialmath.com) Lars M. Bishop (lars@essentialmath.com). Transformation. Have some geometric data How to apply functions to it? Also desired: combine multiple steps into single operation For vectors: linear transformations.

mgonzalez
Download Presentation

Linear Transformations and Matrices

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Linear Transformationsand Matrices Jim Van Verth (jim@essentialmath.com) Lars M. Bishop (lars@essentialmath.com)

  2. Transformation • Have some geometric data • How to apply functions to it? • Also desired: combine multiple steps into single operation • For vectors: linear transformations Essential Math for Games

  3. Transformations • A transformationT:VW is a function that maps elements from vector space V to W • The function f(x,y) = x2 + 2y is a transformation because it maps R2into R Essential Math for Games

  4. Linear Transformation • Two basic properties: • T(x + y) = T(x) + T(y) • T(ax) = aT(x) • Follows that • T(0) = 0 • T(ax+y) = aT(x) + T(y) Essential Math for Games

  5. Linear Transformations • Basis vectors span vector space • Know where basis goes, know where rest goes • So we can do the following: • Transform basis • Store as columns in a matrix • Use matrix to perform linear transforms Essential Math for Games

  6. Linear Transforms • Example: • (1,0) maps to (1,2) • (0,1) maps to (2,1) • Matrix is Essential Math for Games

  7. What is a Matrix? • Rectangular m x n array of numbers • M rows by n columns • If n=m, matrix is square Essential Math for Games

  8. Matrix Concepts • Number at row i and column j of matrix A is elementAij • Elements in row i make row vector • Elems in column j make column vector • If at least one Aii (diagonal from upper left to lower right) are non-zero and all others are zero, is diagonal matrix Essential Math for Games

  9. Transpose • Represented by AT • Swap rows and columns along diagonal • ATij = Aji • Diagonal is invariant Essential Math for Games

  10. Transpose • Transpose swaps transformed basis vectors from columns to rows • Useful identity Essential Math for Games

  11. Transforming Vectors • Represent vector as matrix with one column • # of components = columns in matrix • Take dot product of vector w/each row • Store results in new vector Essential Math for Games

  12. Transforming Vectors • Example: 2D vector • Example: 3D vector to 2D vector Essential Math for Games

  13. Row Vectors • Can also use row vectors • Transformed basis stored as rows • Dot product with columns • Pre-multiply instead of post-multiply • If column default, represent row vector by vT Essential Math for Games

  14. Row vs. Column • Using column vectors, others use row vectors • Keep your order straight! • Transpose to convert from row to column (and vice versa) Column vector order (us, OpenGL) Row vector order (DirectX) Essential Math for Games

  15. Matrix Product • Want to combine transforms • What matrix represents ? • Idea: • Columns of matrix for S are xformed basis • Transform again by T Essential Math for Games

  16. Matrix Product • In general, element ABij is dot product of row i from A and column j from B or Essential Math for Games

  17. Matrix product (cont’d) • Number of rows in A must equal number of columns in B • Generally not commutative • Is associative Essential Math for Games

  18. Block Matrices • Can represent matrix with submatrices • Product of block matrix contains sums of products of submatrices Essential Math for Games

  19. Identity • Identity matrix I is square matrix with main diagonal of all 1s • Multiplying by I has no effect • A  I = A Essential Math for Games

  20. Inverse • A-1 is inverse of matrix A such that • A-1 reverses what A does • A is orthogonal if AT = A-1 • Component vectors are at right angles and unit length • I.e. orthonormal basis Essential Math for Games

  21. Computing Inverse • Only square matrices have inverse • Inverse doesn’t always exist • Zero row, column means no inverse • Use Gaussian elimination or Cramer’s rule (see references) Essential Math for Games

  22. Computing Inverses • Most interactive apps avoid ever computing a general inverse • Properties of the matrices used in most apps can simplify inverse • If you know the underlying structure of the matrix, you can use the following: Essential Math for Games

  23. Computing Inverse • If orthogonal, A-1 =AT • Inverse of diagonal matrix is diagonal matrix with A-1ii = 1/Aii • If know underlying structure can use • We’ll use this to avoid explicit inverses Essential Math for Games

  24. Storage Format • Row major • Stored in order of rows • Used by DirectX Essential Math for Games

  25. Storage Format (cont’d) • Column Major Order • Stored in order of columns • Used by OpenGL, and us Essential Math for Games

  26. Storage Format (cont’d) • Note: storage format not the same as multiplying by row vector • Same memory footprint: • Matrix for multiplying column vectors in column major format • Matrix for multiplying row vectors in row major format • I.e. two transposes return same matrix Essential Math for Games

  27. System of Linear Equations • Define system of m linear equations with n unknowns b1 = a11x1 + a12x2 + … + a1nxn b2 = a21x1 + a22x2 + … + a2nxn … bm = am1x1 + am2 x2+ … + amn xn Essential Math for Games

  28. System of Linear Equations • Matrix multiplication encapsulates linear system Essential Math for Games

  29. System of Linear Equations • Matrix multiplication encapsulates linear system • Solve for x • Multiplying by inverse imprecise • Use Gaussian elimination, or other methods (see refs) Essential Math for Games

  30. References • Anton, Howard and Chris Rorres, Elementary Linear Algebra, 7th Ed, Wiley & Sons, 1994. • Axler, Sheldon, Linear Algebra Done Right, Springer Verlag, 1997. • Blinn, Jim, Notation, Notation, Notation, Morgan Kaufmann, 2002. Essential Math for Games

More Related