320 likes | 552 Views
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.
E N D
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 • 3D, left-handed coordinate system
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
Scalar operations and terms • Two fundamental operations • Addition and multiplication Commutative Associative Distributive
Scalar operations and terms • Additive identity 0 • Multiplicative identity: 1 • Additive inverse • Multiplicative inverse
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)
Vector operations – mathematically • Vectors = n-tuples • Vector-vector addition • Scalar-vector multiplication • Vector decomposition Numeric examples of vector operations
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.
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!
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
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
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?
Point-Vector operations • P and Q are points, v is a vector • Point-point subtraction operation • Vector-point addition operation
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
Dot product logic • If we can multiply two n-tuples, this implies • Magnitude (length) of a vector • Distance between two points
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
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
Cross product • Another formula that varies as the angle between vectors change http://en.wikipedia.org/wiki/Cross_product
Matrices • Definitions • Matrix Operations • Row and Column Matrices • Change of Representation • Relating matrices and vectors
A matrix is a set of elements, organized into rows and columns What is a Matrix? rows columns
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):
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
Matrix Operations • Properties of Scalar-Matrix Multiplication • Properties of Matrix-Matrix Addition • Commutative: • Associative: • Properties of Matrix-Matrix Multiplication • Identity MatrixI (Square Matrix)
Matrix Multiplication Order • Is AB = BA? Try it! • Matrix multiplication is NOT commutative! • The order of series of matrix multiplications is important!
Inverse of a Matrix • Identity matrix: AI = A • Some matrices have an inverse, such that:AA-1 = I
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
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
Row and Column Matrices + points By convention we will use column matrices for points • Column Matrix • Row matrix • Concatenations • Associative • By Row Matrix
Summary • Primitives: scalars, vectors, points • Operations: addition and multiplication • Matrix representation and operations