university of british columbia cpsc 314 computer graphics jan-apr 2016 tamara munzner math basics...
DESCRIPTION
Vectors and Matrices 3TRANSCRIPT
![Page 1: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner Math Basics Week 1, Fri](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/3.jpg)
Vectors and Matrices
3
![Page 4: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner Math Basics Week 1, Fri](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/15.jpg)
15
Dot Product Example
![Page 16: University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner Math Basics Week 1, Fri](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062905/5a4d1b067f8b9ab0599887ae/html5/thumbnails/44.jpg)
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, ...