410 likes | 610 Views
Computer Graphics CSC 630. Lecture 2- Linear Algebra. What is Computer Graphics?. Using a computer to generate an image from a representation. computer. Model. Image. Model Representations. How do we represent an object? Points Mathematical Functions X 2 + Y 2 = R 2
E N D
Computer GraphicsCSC 630 Lecture 2- Linear Algebra
What is Computer Graphics? • Using a computer to generate an image from a representation. computer Model Image
Model Representations • How do we represent an object? • Points • Mathematical Functions • X2 + Y2 = R2 • Polygons (most commonly used) • Points • Connectivity
Linear Algebra • Why study Linear Algebra? • Deals with the representation and operations commonly used in Computer Graphics
m×nmatrix ncolumns mrows What is a Matrix? • A matrix is a set of elements, organized into rows and columns
y v x What is a Vector? • Vector: n×1 matrix
Representing Points and Vectors • A 3D point • Represents a location with respect to some coordinate system • A 3D vector • Represents a displacement from a position
Basic Operations • Transpose: Swap rows with columns
Vector Addition • Given v = [x y z]T and w = [a b c]T v + w = [x+a y+b z+c]T • Properties of Vector addition • Commutative: v + w = w + v • Associative (u + v) + w = u + (v + w) • Additive Identity: v + 0 = v • Additive Inverse: v + (-v) = 0
v v+w w Parallelogram Rule • To visualize what a vector addition is doing, here is a 2D example:
Vector Multiplication • Given v = [x y z]T and a Scalar s and t • sv = [sx sy sz]T and tv = [tx ty tz]T • Properties of Vector multiplication • Associative: (st)v = s(tv) • Multiplicative Identity: 1v = v • Scalar Distribution: (s+t)v = sv+tv • Vector Distribution: s (v+w) = sv+sw
Vector Spaces • Consists of a set of elements, called vectors. • The set is closed under vector addition and vector multiplication.
Dot Product and Distances • Given u = [x y z] T and v = [a b c] T • v•u = vTu = ax+by+cz • The Euclidean distance of u from the origin is denoted by ||u|| and called norm or length • ||u|| = sqrt(x2+y2+z2) • Notice that ||u|| = sqrt(u •u) • Unit vector ||u|| = 1, zero vector denoted 0 • The Euclidean distance between u and v is sqrt((x-a) 2+(y-b) 2+(z-c) 2)) and is denoted by ||u-v||
Properties of the Dot Product • Given a vector u, v, w and scalar s • The result of a dot product is a SCALAR value • Commutative: v•w = w•v • Non-degenerate: v•v=0 only when v=0
If v and w have length 1… v v v=w w θ w v·w = cos θ v·w = 0 v·w = 1 Angles and Projection • Alternative view of the dot product • v•w=||v|| ||w|| cos() where is the angle between v and w
w u v Angles and Projection • If v is a unit vector (||v|| = 1) then if we perpendicularly project w onto v can call this newly projected vector u then ||u|| = v•w
Cross Product Properties • The Cross Product c of v and w is denoted by vw • c Is a VECTOR, perpendicular to the plane defined by v and w • The magnitude of c is proportional to the sin of the angle between v and w • The direction of c follows the right hand rule. • ||vw||=||v|| ||w|| |sin| • is the angle between v and w • vw=-(wv) vw w v
Cross Product • Given 2 vectors v=[v1 v2 v3], w=[w1 w2 w3], the cross product is defined to be the determinant of where i,j,k are vectors
Matrices • A compact way of representing operations on points and vectors • 3x3 Matrix A looks like aij refers to the element of matrix A in ith row and jth column
Matrix Addition Just add elements
Matrix Multiplication • If A is an nk matrix and B is a kp then AB is a np matrix with entries cij where cij= aisbsj • Alternatively, if we took the rows of A and columns of B as individual vectors then cij = Ai•Bj where the subscript refers to the row and column, respectively Multiply each row by each column
Matrix Multiplication Properties • Associative: (AB)C = A(BC) • Distributive: A(B+C) = AB+AC • Multiplicative Identity: I= diag(1) (defined only for square matrix) • Identity matrix: AI = A • NOT commutative: ABBA
Matrix Inverse • If A and B are nxn matrices and AB=BA=I then B is the inverse of A, denoted by A-1 • (AB)-1=B-1A-1 same applies for transpose
Determinant of a Matrix • Defined on a square matrix (nxn) • Used for inversion • If det A = 0, then A has no inverse
Determinant of a Matrix • For a nxn matrix, where A1i determinant of (n-1)x(n-1) submatrix A gotten by deleting the first row and the ith column
Transformations • Why use transformations? • Create object in convenient coordinates • Reuse basic shape multiple times • Hierarchical modeling • System independent • Virtual cameras
Translation = + = +
Properties of Translation = = = =
Rotations 2D • So in matrix notation
Properties of Rotations order matters!
Scaling Uniform scaling iff
Homogeneous Coordinates can be represented as where