1 / 41

Computer Graphics CSC 630

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

jaron
Download Presentation

Computer Graphics CSC 630

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. Computer GraphicsCSC 630 Lecture 2- Linear Algebra

  2. What is Computer Graphics? • Using a computer to generate an image from a representation. computer Model Image

  3. Model Representations • How do we represent an object? • Points • Mathematical Functions • X2 + Y2 = R2 • Polygons (most commonly used) • Points • Connectivity

  4. Linear Algebra • Why study Linear Algebra? • Deals with the representation and operations commonly used in Computer Graphics

  5. m×nmatrix ncolumns mrows What is a Matrix? • A matrix is a set of elements, organized into rows and columns

  6. y v x What is a Vector? • Vector: n×1 matrix

  7. 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

  8. Basic Operations • Transpose: Swap rows with columns

  9. 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

  10. v v+w w Parallelogram Rule • To visualize what a vector addition is doing, here is a 2D example:

  11. 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

  12. Vector Spaces • Consists of a set of elements, called vectors. • The set is closed under vector addition and vector multiplication.

  13. 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||

  14. 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

  15. 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

  16. 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

  17. Cross Product Properties • The Cross Product c of v and w is denoted by vw • 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. • ||vw||=||v|| ||w|| |sin| •  is the angle between v and w • vw=-(wv) vw w v

  18. 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

  19. 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

  20. Matrix Addition Just add elements

  21. Matrix Multiplication • If A is an nk matrix and B is a kp then AB is a np 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

  22. 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: ABBA

  23. 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

  24. Determinant of a Matrix • Defined on a square matrix (nxn) • Used for inversion • If det A = 0, then A has no inverse

  25. 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

  26. Transformations • Why use transformations? • Create object in convenient coordinates • Reuse basic shape multiple times • Hierarchical modeling • System independent • Virtual cameras

  27. Translation = + = +

  28. Properties of Translation = = = =

  29. Rotations (2D)

  30. Rotations 2D • So in matrix notation

  31. Rotations (3D)

  32. Properties of Rotations order matters!

  33. Combining Translation & Rotation

  34. Combining Translation & Rotation

  35. Scaling Uniform scaling iff

  36. Homogeneous Coordinates can be represented as where

  37. Translation Revisited

  38. Rotation & Scaling Revisited

  39. Combining Transformations where

  40. Transforming Tangents

  41. Transforming Normals

More Related