university of british columbia cpsc 314 computer graphics jan-apr 2016 tamara munzner math basics...

44
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner http://www.ugrad.cs.ubc.ca/~cs314/ Vjan2016 Math Basics Week 1, Fri Jan 8

Upload: arleen-green

Post on 17-Jan-2018

214 views

Category:

Documents


0 download

DESCRIPTION

Vectors and Matrices 3

TRANSCRIPT

Page 1: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

University of British ColumbiaCPSC 314 Computer Graphics

Jan-Apr 2016

Tamara Munzner

http://www.ugrad.cs.ubc.ca/~cs314/Vjan2016

Math Basics

Week 1, Fri Jan 8

Page 2: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

2

Readings For Lecture• Shirley/Marschner (3rd edition)

• Ch 2: Miscellaneous Math, Sec 2.1-2.4• Ch 5: Linear Algebra, Sec 5.1-5.3

• Gortler• Ch 2: Linear, Sec 2.1 – 2.4

Page 3: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

Vectors and Matrices

3

Page 4: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

4

Notation: Scalars, Vectors, Matrices• scalar

• (lower case, italic)• vector

• (lower case, bold)• matrix

• (upper case, bold)

Page 5: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

5

Vectors• arrow: length and direction

• oriented segment in nD space• offset / displacement

• location if given origin

Page 6: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

6

Column vs. Row Vectors• row vectors

• column vectors

• switch back and forth with transpose

Page 7: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

7

Vector-Vector Addition• add: vector + vector = vector• parallelogram rule

• tail to head, complete the triangle

geometric algebraic

examples:

Page 8: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

8

Vector-Vector Subtraction• subtract: vector - vector = vector

Page 9: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

9

Vector-Vector Subtraction• subtract: vector - vector = vector

argument reversal

Page 10: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

10

Scalar-Vector Multiplication• multiply: scalar * vector = vector

• vector is scaled

Page 11: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

11

Vector-Vector Multiplication: Dot• multiply v1: vector * vector = scalar• dot product, aka inner product

Page 12: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

12

Vector-Vector Multiplication: Dot• multiply v1: vector * vector = scalar• dot product, aka inner product

Page 13: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

13

Vector-Vector Multiplication: Dot• multiply v1: vector * vector = scalar• dot product, aka inner product

• geometric interpretation• lengths, angles• can find angle between two vectors

Page 14: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

14

Dot Product Geometry• can find length of projection of u onto v

• as lines become perpendicular,

Page 15: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

15

Dot Product Example

Page 16: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

16

Vector-Vector Multiplication, Cross• multiply v2: vector * vector = vector• cross product

• algebraic

Page 17: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

17

Vector-Vector Multiplication, Cross• multiply v2: vector * vector = vector• cross product

• algebraic1

2

3

Page 18: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

18

Vector-Vector Multiplication, Cross• multiply v2: vector * vector = vector• cross product

• algebraic

• geometric

• parallelogramarea

• perpendicularto parallelogram

Page 19: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

19

RHS vs. LHS Coordinate Systems• right-handed coordinate system

• left-handed coordinate system

right hand rule: index finger x, second finger y;right thumb points up

left hand rule: index finger x, second finger y;left thumb points down

convention

Page 20: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

20

Matrix-Matrix Addition• add: matrix + matrix = matrix

• example

Page 21: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

21

Scalar-Matrix Multiplication• multiply: scalar * matrix = matrix

• example

Page 22: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

22

Matrix-Matrix Multiplication• can only multiply (n,k) by (k,m):

number of left cols = number of right rows• legal

• undefined

Page 23: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

23

Matrix-Matrix Multiplication• row by column

Page 24: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

24

Matrix-Matrix Multiplication• row by column

Page 25: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

25

Matrix-Matrix Multiplication• row by column

Page 26: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

26

Matrix-Matrix Multiplication• row by column

Page 27: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

27

Matrix-Matrix Multiplication• row by column

• noncommutative: AB != BA

Page 28: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

28

Matrix-Vector Multiplication• points as column vectors: postmultiply

• points as row vectors: premultiply

Page 29: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

29

Matrices• transpose

• identity

• inverse• not all matrices are invertible

Page 30: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

30

Matrices and Linear Systems• linear system of n equations, n unknowns

• matrix form Ax=b

Page 31: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

Basis Vectors and Frames

31

Page 32: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

32

Basis Vectors• take any two vectors that are linearly

independent (nonzero and nonparallel)• can use linear combination of these to define

any other vector:

Page 33: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

33

Orthonormal Basis Vectors• if basis vectors are orthonormal: orthogonal

(mutually perpendicular) and unit length• we have Cartesian coordinate system• familiar Pythagorean definition of distance

orthonormal algebraic properties

Page 34: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

34

Basis Vectors and Origins• coordinate system: just basis vectors

• can only specify offset: vectors• coordinate frame: basis vectors and origin

• can specify location as well as offset: points

Page 35: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

35

Working with Frames

FF11

FF11

Page 36: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

36

Working with Frames

FF11

FF11 p = (3,-1)p = (3,-1)

Page 37: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

37

Working with Frames

FF11

FF11 p = (3,-1)p = (3,-1)

FF11

Page 38: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

38

Working with Frames

FF11

FF11 p = (3,-1)p = (3,-1)FF22

FF22

Page 39: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

39

Working with Frames

FF11

FF11 p = (3,-1)p = (3,-1)FF22 p = (-1.5,2)p = (-1.5,2)

FF22

Page 40: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

40

Working with Frames

FF11

FF11 p = (3,-1)p = (3,-1)FF22 p = (-1.5,2)p = (-1.5,2)

FF22

FF22

Page 41: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

41

Working with Frames

FF11

FF11 p = (3,-1)p = (3,-1)FF22 p = (-1.5,2)p = (-1.5,2)

FF33

FF22

FF33

Page 42: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

42

Working with Frames

FF11

FF11 p = (3,-1)p = (3,-1)FF22 p = (-1.5,2)p = (-1.5,2)

FF33 p = (1,2)p = (1,2)

FF22

FF33

Page 43: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

43

Working with Frames

FF11 p = (3,-1)p = (3,-1)FF22 p = (-1.5,2)p = (-1.5,2)

FF33 p = (1,2)p = (1,2)

FF11

FF22

FF33

FF33

Page 44: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner  Math Basics Week 1, Fri

44

Named Coordinate Frames• origin and basis vectors• pick canonical frame of reference

• then don’t have to store origin, basis vectors• just• convention: Cartesian orthonormal one on previous

slide• handy to specify others as needed

• airplane nose, looking over your shoulder, ...• really common ones given names in CG

• object, world, camera, screen, ...