1 / 32

Linear Algebra Review for Computer Graphics

Linear Algebra Review for Computer Graphics. Matt Boggus CSE 3451/5541. Outline. Coordinate Spaces Primitives Scalars Vectors Points Operations Matrices. Coordinate system. Boardwork examples: 1D, 2D, 3D coordinate systems. Coordinate system in Unity.

Download Presentation

Linear Algebra Review for Computer Graphics

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 Algebra Review for Computer Graphics Matt Boggus CSE 3451/5541

  2. Outline • Coordinate Spaces • Primitives • Scalars • Vectors • Points • Operations • Matrices

  3. Coordinate system Boardwork examples: 1D, 2D, 3D coordinate systems

  4. Coordinate system in Unity • 3D, left-handed coordinate system

  5. Scalars • Scalar value – a number (integer or real) • Ex: the scale, weight, or magnitude of something • Scalar field – 2D array of scalar values C# example: float [,] temps; temps = new float[50,50]; http://upload.wikimedia.org/wikipedia/commons/a/a8/Scalar_field.png

  6. Scalar operations and terms • Two fundamental operations • Addition and multiplication Commutative Associative Distributive

  7. Scalar operations and terms • Additive identity 0 • Multiplicative identity: 1 • Additive inverse • Multiplicative inverse

  8. Vectors • Vector – a quantity possessing both magnitude and direction • Visualized as directed line segments • Mathematically described as n-tuples of scalars • Examples: (0,0,0) (x,y) (r,g,b,a)

  9. Vector operations – mathematically • Vectors = n-tuples • Vector-vector addition • Scalar-vector multiplication • Vector decomposition Numeric examples of vector operations

  10. Vector operations – intuitively • Vector-Vector Addition • Visualize using head-to-tail axiom • Scalar-vector multiplication • Resize (scale) the directed line segment α > 1 length increases 0 > α > 1 length decreases α < 0 reverse direction Head-to-tail axiom Scalar-vector multi.

  11. Points • Point – a location or position • Visualized as dots • Mathematically described as n-tuples of scalars • Examples: (0,0,0) (x,y) (r,g,b,a) • Note: points and vectors have the same representation!

  12. Coordinate system or frame • Origin – a point • Indicates the “center” of the coordinate systems • Other points are defined relative to the origin • Basis vectors • A set of linearly independent vectors • None of them can be written as a linear combination of the others Basis vectors located at the origin Arbitrary placement of basis vectors

  13. Vectors and points in a coordinate system • Coordinate frame defined by point P0 , set of vectors • A vector v is • A point P is • Note: α and β indicate scalar values

  14. Practice problem • Given a point P = (2,-5,1) in a right handed coordinate system, what is the point is a left handed coordinate system?

  15. Point-Vector operations • P and Q are points, v is a vector • Point-point subtraction operation • Vector-point addition operation

  16. Working toward a distance metric • The previous operations do not include a way to estimate distance between points • Create a new operation: Inner (dot) Product • Input: two vectors Output: scalar • Properties we want: For orthogonal vectors

  17. Dot product logic • If we can multiply two n-tuples, this implies • Magnitude (length) of a vector • Distance between two points

  18. Dot product computation • Dot product of two vectors, u and v • Ex: (5,4,2) ∙ (1,0,1) = 5 * 1 + 4 * 0 + 2 * 1 = 7 • With some algebra we find that the dot product is equivalent to where θ is the angle between the two vectors • cosθ = 0  orthogonal • cosθ = 1  parallel

  19. Projections • We can determine if two points are “close” to each other, what about vectors? • How much of w is in the same direction as v? • Given vectors v and w, decompose w into two parts, one parallel to v and one orthogonal to v Projection of one vector onto another

  20. Cross product • Another formula that varies as the angle between vectors change http://en.wikipedia.org/wiki/Cross_product

  21. Matrices • Definitions • Matrix Operations • Row and Column Matrices • Change of Representation • Relating matrices and vectors

  22. A matrix is a set of elements, organized into rows and columns What is a Matrix? rows columns

  23. Definitions • n x m Array of Scalars (n Rows and m Columns) • n: row dimension of a matrix, m: column dimension • m = n square matrix of dimension n • Element • Transpose: interchanging the rows and columns of a matrix • Column Matrices and Row Matrices • Column matrix (n x 1 matrix): • Row matrix (1 x n matrix):

  24. Matrix Operations • Scalar-Matrix Multiplication • Multiply every element by the scalar • Matrix-Matrix Addition • Add elements with same index • Matrix-Matrix Multiplication • A: n x l matrix, B: l x m C: n x m matrix cij = the sum of multiplying elements in row i of matrix a times elements in column j of matrix b

  25. Matrix Operation Examples

  26. Matrix Operations • Properties of Scalar-Matrix Multiplication • Properties of Matrix-Matrix Addition • Commutative: • Associative: • Properties of Matrix-Matrix Multiplication • Identity MatrixI (Square Matrix)

  27. Matrix Multiplication Order • Is AB = BA? Try it! • Matrix multiplication is NOT commutative! • The order of series of matrix multiplications is important!

  28. Inverse of a Matrix • Identity matrix: AI = A • Some matrices have an inverse, such that:AA-1 = I

  29. Inverse of a Matrix • Do all matrices have a multiplicative inverse? Consider this example, try to solve for A-1: AA-100 = 0 * a + 0 * d + 0 * g = 0 ≠ 1 Note: 1 is the element at 00 in the identity matrix

  30. Inverse of Matrix Concatenation • Inversion of concatenations (ABC)-1 = ? A * B * C * X = I A * B * C * C-1 = A * B A * B * B-1 = A A * A-1= I Order is important, so X = C-1B-1A-1

  31. Row and Column Matrices + points By convention we will use column matrices for points • Column Matrix • Row matrix • Concatenations • Associative • By Row Matrix

  32. Summary • Primitives: scalars, vectors, points • Operations: addition and multiplication • Matrix representation and operations

More Related