Linear Algebra (Mathematics for CG) Reading: HB Appendix A

48
1 Linear Algebra (Mathematics for CG) Reading: HB Appendix A Computer Graphics Last Updated: 13-Jan-12

description

Computer Graphics. Linear Algebra (Mathematics for CG) Reading: HB Appendix A. Last Updated : 13-Jan-12. Notation: Scalars, Vectors, Matrices. Scalar (lower case, italic) Vector (lower case, bold) Matrix (upper case, bold). Vectors. Arrow: Length and Direction - PowerPoint PPT Presentation

Transcript of Linear Algebra (Mathematics for CG) Reading: HB Appendix A

Page 1: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

1

Linear Algebra(Mathematics for CG)

Reading: HB Appendix A

Computer Graphics

Last Updated: 13-Jan-12

Page 2: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

2

Notation: Scalars, Vectors, Matrices

Scalar(lower case, italic)

Vector(lower case, bold)

Matrix(upper case, bold)

aa

naaa ...21a

333231

232221

131211

aaaaaaaaa

A

Page 3: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

3

Vectors

Arrow: Length and DirectionOriented segment in 2D or 3D space

Page 4: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

4

Column vs. Row Vectors

Row vectors

Column vectors

Switch back and forth with transpose

n

col

a

aa

...2

1

a

rowTcol aa

nrow aaa ...21a

Page 5: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

5

Vector-Vector AdditionAdd: vector + vector = vectorParallelogram rule

tail to head, complete the triangle

33

22

11

vuvuvu

vu

)0,6,5()1,1,3()1,5,2()6,9()4,6()2,3(

vu

u

vgeometric algebraic

examples:

Page 6: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

6

Vector-Vector SubtractionSubtract: vector - vector = vector

33

22

11

vuvuvu

vu

)2,4,1()1,1,3()1,5,2()2,3()4,6()2,3(

vu

uv

v

)( vu

Page 7: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

7

Vector-Vector SubtractionSubtract: vector - vector = vector

33

22

11

vuvuvu

vu

)2,4,1()1,1,3()1,5,2()2,3()4,6()2,3(

vu

uv

v

)( vu

vu v

u uv v

uargument reversal

Page 8: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

8

Scalar-Vector MultiplicationMultiply: scalar * vector = vector

vector is scaled

)*,*,*(* 321 uauauaa u

)5,.5.2,1()1,5,2(*5.)4,6()2,3(*2

u*a

u

Page 9: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

9

Vector-Vector MultiplicationMultiply: vector * vector = scalarDot product or Inner product vu

332211

3

2

1

3

2

1

vuvuvuvvv

uuu

Page 10: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

10

Vector-Vector MultiplicationMultiply: vector * vector = scalardot product, aka inner product vu

332211

3

2

1

3

2

1

vuvuvuvvv

uuu

332211

3

2

1

3

2

1

vuvuvuvvv

uuu

Page 11: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

11

Vector-Vector MultiplicationMultiply: vector * vector = scalardot product or inner product

332211

3

2

1

3

2

1

vuvuvuvvv

uuu

vu

cosvuvu

u

v

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

vectors

Page 12: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

12

Dot Product GeometryCan find length of projection of u onto v

as lines become perpendicular,

cosvuvu u

v

cosu

0 vuv

vuu cos

Page 13: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

13

Dot Product Example

19676)3*2()7*1()1*6(371

216

332111

3

2

1

3

2

1

vuvuvuvvv

uuu

Page 14: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

14

Vector-Vector Multiplication

Multiply: vector * vector = vectorcross product

1221

3113

2332

3

2

1

3

2

1

vuvuvuvuvuvu

vvv

uuu

Page 15: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

15

Vector-Vector Multiplicationmultiply: vector * vector = vectorcross product

algebraic

geometric

parallelogram area

perpendicular to parallelogram

1221

3113

2332

3

2

1

3

2

1

vuvuvuvuvuvu

vvv

uuu

ba

ba

sinvuba

Page 16: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

16

RHS vs. LHS Coordinate Systems

Right-handed coordinate system

Left-handed coordinate system

xy

z

xyz

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

yxz

yxz

Page 17: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

17

Basis VectorsTake any two vectors that are linearly independent

(nonzero and nonparallel)can use linear combination of these to define any other

vector:

bac 21 ww

Page 18: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

18

Orthonormal Basis Vectors

If basis vectors are orthonormal (orthogonal (mutually perpendicular) and unit length)owe have Cartesian coordinate systemo familiar Pythagorean definition of distance

0

,1

yxyx

Orthonormal algebraic properties

Page 19: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

19

Basis Vectors and Origins

jiop yx o

p

i

j

Coordinate system: just basis vectorscan only specify offset: vectors

Coordinate frame (or Frame of Reference): basis vectors and origincan specify location as well as offset: pointsIt helps in analyzing the vectors and solving the kinematics.

Page 20: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

20

Working with Frames

pF1

F1

ij

o

jiop yx

Page 21: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

21

Working with Frames

pF1

F1 p = (3,-1)

ij

o

jiop yx

Page 22: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

22

Working with Frames

pF1

F1 p = (3,-1)

F2

ij

o

jiop yx

F2

ijo

Page 23: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

23

Working with Frames

pF1

F1 p = (3,-1)

F2 p = (-1.5,2)

ij

o

jiop yx

F2

ijo

Page 24: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

24

Working with Frames

pF1

F1 p = (3,-1)

F2 p = (-1.5,2)

F3

ij

F2

ijo

F3

ijo

o

jiop yx

Page 25: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

25

Working with Frames

pF1

F1 p = (3,-1)

F2 p = (-1.5,2)

F3 p = (1,2)

ij

F2

ijo

F3

ijo

o

jiop yx

Page 26: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

26

Named Coordinate Frames

Origin and basis vectorsPick canonical frame of reference

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

slideHandy to specify others as needed

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

object, world, camera, screen, ...

),,( cbap

zyxop cba

Page 27: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

27

Lines

Slope-intercept formy = mx + b

Implicit formy – mx – b = 0Ax + By + C = 0f(x,y) = 0

Page 28: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

28

Implicit Functions

An implicit function f(x,y) = 0 can be thought of as a height field where f is the height (top). A path where the height is zero is the implicit curve (bottom).

Find where function is 0plug in (x,y), check if

= 0 on line< 0 inside> 0 outside

Page 29: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

29

Implicit Circles

circle is points (x,y) where f(x,y) = 0

points p on circle have property that vector from c to p

dotted with itself has value r2

points p on the circle have property that squared distance

from c to p is r2

points p on circle are those a distance r from center point c

222 )()(),( ryyxxyxf cc

0)()(:),(),,( 2 ryxcyxp cc cpcp

022 rcp

0 rcp

Page 30: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

30

Parametric Curves

Parameter: index that changes continuously(x,y): point on curvet: parameter

Vector form

)()(

thtg

yx

)(tfp

Page 31: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

31

2D Parametric Lines

start at point p0,

go towards p1,according to parameter tp(0) = p0, p(1) = p1

xy

x0 t(x1 x0)y0 t(y1 y0)

)()( 010 pppp tt)()( dop tt

Page 32: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

32

Linear Interpolation

Parametric line is example of general concept Interpolation

p goes through a at t = 0p goes through b at t = 1

Linearweights t, (1-t) are linear polynomials in t

)()( 010 pppp tt

Page 33: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

33

Matrix-Matrix Addition

Add: matrix + matrix = matrix

Example

22222121

12121111

2221

1211

2221

1211

mnmnmnmn

nnnn

mmmm

5981

147253)2(1

1752

4231

Page 34: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

34

Scalar-Matrix Multiplication

Multiply: scalar * matrix = matrix

Example

2221

1211

2221

1211

****

mamamama

mmmm

a

153126

5*31*34*32*3

5142

3

Page 35: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

35

Matrix-Matrix Multiplication

Can only multiply (n, k) by (k, m):number of left cols = number of right rows

legal

undefined

mlkjih

gfecba

kjih

qg

pf

oe

cba

Page 36: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

36

Matrix-Matrix Multiplication

row by column

2221

1211

2221

1211

2221

1211

pppp

nnnn

mmmm

2112111111 nmnmp

Page 37: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

37

Matrix-Matrix Multiplication

row by column

2221

1211

2221

1211

2221

1211

pppp

nnnn

mmmm

2112111111 nmnmp

2122112121 nmnmp

Page 38: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

38

Matrix-Matrix Multiplication

row by column

2221

1211

2221

1211

2221

1211

pppp

nnnn

mmmm

2112111111 nmnmp

2212121112 nmnmp 2122112121 nmnmp

Page 39: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

39

Matrix-Matrix Multiplication

row by column

2221

1211

2221

1211

2221

1211

pppp

nnnn

mmmm

2112111111 nmnmp

2212121112 nmnmp 2122112121 nmnmp

2222122122 nmnmp

Page 40: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

40

Matrix-Matrix Multiplication

row by column

Non commutative: AB != BA

2221

1211

2221

1211

2221

1211

pppp

nnnn

mmmm

2112111111 nmnmp

2212121112 nmnmp 2122112121 nmnmp

2222122122 nmnmp

Page 41: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

41

Matrix-Vector Multiplication points as column vectors: post-multiply

hzyx

mmmmmmmmmmmmmmmm

hzyx

44434241

34333231

24232221

14131211

''''

Mpp'

Page 42: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

42

Matrices

Transpose

Identity

Inverse

44342414

43332313

42322212

41312111

44434241

34333231

24232221

14131211

mmmmmmmmmmmmmmmmT

mmmmmmmmmmmmmmmm

1000010000100001

IAA 1

Page 43: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

43

Matrices and Linear Systems

Linear system of n equations, n unknowns

Matrix form Ax=b

1251342

4273

zyxzyxzyx

11

4

125342

273

zyx

Page 44: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

44

Exercise 1

Q 1: If the vectors, u and v in figure are coplanar with the sheet of paper, does the cross product v x u extend towards the reader or away assuming right-handed coordinate system?

For u = [1, 0, 0] & v = [2, 2, 1]. Find

Q 2: The length of vQ 3: length of projection of u onto vQ 4: v x uQ 5: Cos t, if t is the angle between u & v

Page 45: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

45

Exercise 2

pF1

F1 p = (?, ?)

F2 p = (?, ?)

F3 p = (?, ?)

ij

F2 i

jo

F3

i

joo

Page 46: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

46

Exercise 3

Given P1(3,6,9) and P2(5,5,5). Find a point on the line with end points P1 & P2 at t = 2/3 using parametric equation of line, where t is the parameter.

Page 47: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

47

Reading for OpenGL practice: HB 2.9Ready for the Quiz

Things to do

Page 48: Linear Algebra (Mathematics for CG) Reading: HB  Appendix A

48

References1. http://faculty.cs.tamu.edu/schaefer/teaching/441_Spring2012/index.html2. http://www.ugrad.cs.ubc.ca/~cs314/Vjan2007/