1 / 28

CS361

Week 4 - Monday. CS361. Last time. What did we talk about last time? Vectors. Questions?. Project 1. Drawing Primitives with Lighting in XNA. Student Lecture: Matrices. Matrices. A matrix.

armina
Télécharger la présentation

CS361

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. Week 4 - Monday CS361

  2. Last time • What did we talk about last time? • Vectors

  3. Questions?

  4. Project 1

  5. Drawing Primitives with Lighting in XNA

  6. Student Lecture: Matrices

  7. Matrices

  8. A matrix • A matrix M is a set of p x q scalars with each element named mij, where 0 ≤ i ≤ p – 1 and 0 ≤ j ≤ q – 1 • We display them as p rows and q columns

  9. Identity matrix • The identity or unit matrixI is a square matrix whose diagonal is all ones with zeroes elsewhere

  10. Operations • We will be interested in a number of operations on matrices, including: • Addition • Scalar multiplication • Transpose • Trace • Matrix-matrix multiplication • Determinant • Inverse

  11. Matrix-matrix addition • Similar to vector addition, matrix-matrix addition gives as its result a new matrix made up of element by element additions • The two matrices must be the same size

  12. Scalar-matrix multiplication • Similar to scalar-vector multiplication, scalar-matrix addition results in a matrix where each element is multiplied by the scalar • Properties • 0M = 0 • 1M = M • a(bM) = (ab)M • a0 = 0 • (a+b)M = aM + bM • a(M + N) = aM + aN

  13. Transpose of a matrix • Transposing a matrix means exchanging its rows for columns • It has the effect of mirroring the matrix around its diagonal (or close to it, if not square) • Properties • (aM)T = aMT • (M + N)T = MT + NT • (MT)T = M • (MN)T = NTMT

  14. Trace of a matrix • The trace of a square matrix is the sum of its diagonal elements • This is useful in defining quaternion conversions

  15. Matrix-matrix multiplication • Multiplication MN is legal only if M is p x q and N is q x r • Each row of M and each column of N are combined with a dot product and put in the corresponding row and column element

  16. Properties of matrix-matrix multiplication • Properties: • (LM)N = L(MN) • (L + M)N = LN + MN • MI = IM = M • Matrix-matrix multiplication is not commutative • We can treat a vector as an n x 1 matrix and do matrix-vector multiplication similarly

  17. Determinant • The determinant is a measure of the "magnitude" of a square matrix • We'll focus on determinants for 2 x 2 and 3 x 3 matrices

  18. Subdeterminant • The subdeterminant or cofactor dij of matrix M is the determinant of the (n – 1) x (n – 1) matrix formed when row i and column j are removed • Below is d02 for a 3 x 3 matrix M

  19. Adjoint • The adjoint of a matrix is a form useful for transforming surface normals • We can also use the adjoint when finding the inverse of a matrix • We need the subdeterminantdij to define the adjoint • The adjointA of an arbitrary sized matrix M is: • For a 3 x 3:

  20. Multiplicative inverse of a matrix • For a square matrix M where |M| ≠ 0, there is a multiplicative inverse M-1 such that MM-1 = I • For implicit inverse, we only need to find v in the equation u = Mv, done as follows: • For cases up to 4 x 4, we can use the adjoint:

  21. Notes about the inverse • For cases larger than 4 x 4, other methods are necessary: • Gaussian elimination • LU decomposition • Fortunately, we never need more than 4 x 4 in graphics • Properties of the inverse: • (M-1)T = (MT)-1 • (MN)-1 = N-1M-1

  22. Orthogonal matrices • A square matrix is orthogonal if and only if its transpose is its inverse • MMT = MTM = I • Lots of special things are true about an orthogonal matrix M • |M| = ± 1 • M-1 = MT • MT is also orthogonal • ||Mu|| = ||u|| • Mu Mviffu  v • If M and N are orthogonal, so is MN • An orthogonal matrix is equivalent to an orthonormal basis of vectors lined up together

  23. Homogeneous notation • Why do we often have vectors of 4 things or 4 x 4 matrices in graphics? • We have points (locations) and vectors (directions) • What's really confusing is that we represent them the same way (in what looks like a vector for both) • We need to translate points but translation isn't meaningful for vectors • A 3 x 3 matrix can rotate, scale, or shear, but it can't translate

  24. How we do it • We add an extra value to our vectors • It's a 0 if it’s a direction • It's a 1 if it's a point • Now we can do a rotation, scale, or shear with a matrix (with an extra row and column):

  25. Translations • Then, we multiply by a translation matrix (which doesn't affect a vector) • We'll cover how we make the transforms we want starting Friday

  26. Upcoming

  27. Next time… • Geometric techniques • Any trigonometry that seems useful

  28. Reminders • Keep reading Appendix A • Read Appendix B • Keep working on Project 1, due Friday

More Related