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

Post on 09-Feb-2016

25 views 0 download

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

1

Linear Algebra(Mathematics for CG)

Reading: HB Appendix A

Computer Graphics

Last Updated: 13-Jan-12

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

3

Vectors

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

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

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:

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

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

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

9

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

332211

3

2

1

3

2

1

vuvuvuvvv

uuu

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

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

12

Dot Product GeometryCan find length of projection of u onto v

as lines become perpendicular,

cosvuvu u

v

cosu

0 vuv

vuu cos

13

Dot Product Example

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

216

332111

3

2

1

3

2

1

vuvuvuvvv

uuu

14

Vector-Vector Multiplication

Multiply: vector * vector = vectorcross product

1221

3113

2332

3

2

1

3

2

1

vuvuvuvuvuvu

vvv

uuu

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

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

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

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

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.

20

Working with Frames

pF1

F1

ij

o

jiop yx

21

Working with Frames

pF1

F1 p = (3,-1)

ij

o

jiop yx

22

Working with Frames

pF1

F1 p = (3,-1)

F2

ij

o

jiop yx

F2

ijo

23

Working with Frames

pF1

F1 p = (3,-1)

F2 p = (-1.5,2)

ij

o

jiop yx

F2

ijo

24

Working with Frames

pF1

F1 p = (3,-1)

F2 p = (-1.5,2)

F3

ij

F2

ijo

F3

ijo

o

jiop yx

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

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

27

Lines

Slope-intercept formy = mx + b

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

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

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

30

Parametric Curves

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

Vector form

)()(

thtg

yx

)(tfp

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

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

33

Matrix-Matrix Addition

Add: matrix + matrix = matrix

Example

22222121

12121111

2221

1211

2221

1211

mnmnmnmn

nnnn

mmmm

5981

147253)2(1

1752

4231

34

Scalar-Matrix Multiplication

Multiply: scalar * matrix = matrix

Example

2221

1211

2221

1211

****

mamamama

mmmm

a

153126

5*31*34*32*3

5142

3

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

36

Matrix-Matrix Multiplication

row by column

2221

1211

2221

1211

2221

1211

pppp

nnnn

mmmm

2112111111 nmnmp

37

Matrix-Matrix Multiplication

row by column

2221

1211

2221

1211

2221

1211

pppp

nnnn

mmmm

2112111111 nmnmp

2122112121 nmnmp

38

Matrix-Matrix Multiplication

row by column

2221

1211

2221

1211

2221

1211

pppp

nnnn

mmmm

2112111111 nmnmp

2212121112 nmnmp 2122112121 nmnmp

39

Matrix-Matrix Multiplication

row by column

2221

1211

2221

1211

2221

1211

pppp

nnnn

mmmm

2112111111 nmnmp

2212121112 nmnmp 2122112121 nmnmp

2222122122 nmnmp

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

41

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

hzyx

mmmmmmmmmmmmmmmm

hzyx

44434241

34333231

24232221

14131211

''''

Mpp'

42

Matrices

Transpose

Identity

Inverse

44342414

43332313

42322212

41312111

44434241

34333231

24232221

14131211

mmmmmmmmmmmmmmmmT

mmmmmmmmmmmmmmmm

1000010000100001

IAA 1

43

Matrices and Linear Systems

Linear system of n equations, n unknowns

Matrix form Ax=b

1251342

4273

zyxzyxzyx

11

4

125342

273

zyx

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

45

Exercise 2

pF1

F1 p = (?, ?)

F2 p = (?, ?)

F3 p = (?, ?)

ij

F2 i

jo

F3

i

joo

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.

47

Reading for OpenGL practice: HB 2.9Ready for the Quiz

Things to do

48

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