computer graphics csc 630 lecture 2- linear algebra
Post on 21-Dec-2015
229 views
TRANSCRIPT
Computer GraphicsComputer GraphicsCSC 630CSC 630
Computer GraphicsComputer GraphicsCSC 630CSC 630
Lecture 2- Linear AlgebraLecture 2- Linear Algebra
2
What is Computer Graphics?
• Using a computer to generate an image from a representation.
Model Imagecomputer
3
Model Representations• How do we represent an object?
– Points – Mathematical Functions
• X2 + Y2 = R2
– Polygons (most commonly used)• Points• Connectivity
4
Linear Algebra• Why study Linear Algebra?
– Deals with the representation and operations commonly used in Computer Graphics
5
What is a Matrix?• A matrix is a set of elements,
organized into rows and columns
1110
0100
aa
aa
n columns
m rows
m×n matrix
6
What is a Vector?• Vector: n×1
matrix
c
b
a
v
x
y
v
7
Representing Points and Vectors
• A 3D point– Represents a
location with respect to some coordinate system
• A 3D vector – Represents a
displacement from a position
c
b
a
p
c
b
a
v
8
Basic Operations• Transpose: Swap rows with columns
ihg
fed
cba
M
ifc
heb
gda
M T
z
y
x
V zyxV T
9
Vector Addition• Given v = [x y z]T and w = [a b c]T
v + w = [x+a y+b z+c]T
• Properties of Vector addition– Commutative: v + w = w + v– Associative (u + v) + w = u + (v + w)– Additive Identity: v + 0 = v– Additive Inverse: v + (-v) = 0
10
Parallelogram Rule• To visualize what a vector addition
is doing, here is a 2D example:
vw
v+w
11
Vector Multiplication• Given v = [x y z]T and a Scalar s and t
– sv = [sx sy sz]T and tv = [tx ty tz]T
• Properties of Vector multiplication– Associative: (st)v = s(tv)– Multiplicative Identity: 1v = v– Scalar Distribution: (s+t)v = sv+tv– Vector Distribution: s (v+w) = sv+sw
12
Vector Spaces• Consists of a set of elements,
called vectors.• The set is closed under vector
addition and vector multiplication.
13
Dot Product and Distances
• Given u = [x y z] T and v = [a b c] T
– v•u = vTu = ax+by+cz
• The Euclidean distance of u from the origin is denoted by ||u|| and called norm or length– ||u|| = sqrt(x2+y2+z2)– Notice that ||u|| = sqrt(u •u)– Unit vector ||u|| = 1, zero vector denoted 0
• The Euclidean distance between u and v is sqrt((x-a) 2+(y-b) 2+(z-c) 2)) and is denoted by ||u-v||
14
Properties of the Dot Product
• Given a vector u, v, w and scalar s– The result of a dot product is a
SCALAR value– Commutative: v•w = w•v– Non-degenerate: v•v=0 only when
v=0
15
Angles and Projection• Alternative view of the dot product• v•w=||v|| ||w|| cos() where is
the angle between v and w
v
w
v
w v=w
If v and w have length 1…
v·w = 0 v·w = 1 v·w = cos θ
θ
16
Angles and Projection• If v is a unit vector (||v|| = 1) then
if we perpendicularly project w onto v can call this newly projected vector u then
||u|| = v•ww
vu
17
Cross Product Properties
• The Cross Product c of v and w is denoted by vw
• c Is a VECTOR, perpendicular to the plane defined by v and w
• The magnitude of c is proportional to the sin of the angle between v and w
• The direction of c follows the right hand rule.• ||vw||=||v|| ||w|| |sin|
is the angle between v and w
• vw=-(wv)
v
wvw
18
Cross Product• Given 2 vectors v=[v1 v2 v3], w=[w1 w2 w3],
the cross product is defined to be the determinant of
where i,j,k are vectors
1221
3113
2332
321
321
wvwv
wvwv
wvwv
www
vvv
kji
19
Matrices• A compact way of representing operations on
points and vectors• 3x3 Matrix A looks like
aij refers to the element of matrix A in ith row and jth column
333231
232221
131211
aaa
aaa
aaa
20
Matrix Addition
hdgc
fbea
hg
fe
dc
ba
Just add elements
21
Matrix Multiplication• If A is an nk matrix and B is a kp
then AB is a np matrix with entries cij
where cij= aisbsj
• Alternatively, if we took the rows of A and columns of B as individual vectors then cij = Ai•Bj where the subscript refers to the row and column, respectively
dhcfdgce
bhafbgae
hg
fe
dc
ba Multiply each row by each column
22
Matrix Multiplication Properties
• Associative: (AB)C = A(BC)• Distributive: A(B+C) = AB+AC• Multiplicative Identity: I= diag(1)
(defined only for square matrix) • Identity matrix: AI = A• NOT commutative: ABBA
100
010
001
I
23
Matrix Inverse• If A and B are nxn matrices and
AB=BA=I then B is the inverse of A, denoted by A-1
• (AB)-1=B-1A-1 same applies for transpose
• T
MM T 11
24
Determinant of a Matrix
• Defined on a square matrix (nxn)• Used for inversion
• If det A = 0, then A has no inverse
dc
baA
bcadA )det(
25
Determinant of a Matrix
• For a nxn matrix,
where A1i determinant of (n-1)x(n-1) submatrix A gotten by deleting the first row and the ith column
n
i ii
i AaAA1 1
11 )1(det
26
Transformations• Why use transformations?
Create object in convenient coordinates
Reuse basic shape multiple times Hierarchical modeling System independent Virtual cameras
27
Translation
z
y
x
z
y
x
t
t
t
= +
z
y
x
tttT zyx ),,(
z
y
x
z
y
x
t
t
t
= +
'
'
'
z
y
x
28
Properties of Translation
v=v)0,0,0(T
=v),,(),,( zyxzyx tttTsssT
=
=v),,(1zyx tttT
v),,(),,( zyxzyx tttTsssT v),,(),,( zyxzyx sssTtttT
v),,( zzyyxx tststsT
v),,( zyx tttT
29
Rotations (2D)
sin
cos
ry
rx
cos)sin(sin)cos('
sin)sin(cos)cos('
rry
rrx
)sin('
)cos('
ry
rx
cossinsincos)sin(
sinsincoscos)cos(
cossin'
sincos'
yxy
yxx
yx,
',' yx
x
y
30
Rotations 2D• So in matrix notation
y
x
y
x
cossin
sincos'
'
31
Rotations (3D)
100
0cossin
0sincos
)(
cos0sin
010
sin0cos
)(
cossin0
sincos0
001
)(
z
y
x
R
R
R
32
Properties of RotationsIRa )0(
)()()()( aaaa RRRR
)()()( aaa RRR
)()()(1 Taaa RRR
)()()()( abba RRRR order matters!
33
Combining Translation & Rotation
)1,1(T
)45( R
)45( R
)1,1(T
34
Combining Translation & Rotation
Tvv'
RTR
TR
R
vv
vv
vv
''
)(''
'''
vv R'
TR
T
vv
vv
''
'''
35
Scaling
zs
ys
xs
z
y
x
z
y
x
'
'
'
z
y
x
zyx
s
s
s
sssS
00
00
00
),,(
Uniform scaling iff zyx sss
36
Homogeneous Coordinates
z
y
x
w
Z
Y
X
can be represented as
wherew
Zz
w
Yy
w
Xx ,,
37
Translation Revisited
11000
100
010
001
),,(z
y
x
t
t
t
z
y
x
tttTz
y
x
zyx
38
Rotation & Scaling Revisited
11000
000
000
000
),,(z
y
x
s
s
s
z
y
x
sssSz
y
x
zyx
11000
0cossin0
0sincos0
0001
)(z
y
x
z
y
x
Rx
39
Combining Transformations
vv
vvvv
vvv
vv
M
TRSTRT
RSR
S
'''
''''''
'''
'
where TRSM
40
Transforming Tangents
t
qp
qp
qpt
qpt
M
M
MM
)(
'''
41
Transforming Normals
nnn
nn
nn
tntn
tn
tn
tn
TT
T
TT
TT
T
T
T
MM
M
M
M
M
11'
'
'
'
0'
0''
0