Linear Algebra (Mathematics for CG) Reading: HB Appendix A
description
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/