Matrix-math

advertisement
Matrix Math
©Anthony Steed 1999
1
Overview

To revise
• Vectors
• Matrices

New stuff
• Homogenous co-ordinates
• 3D transformations as matrices
2
Vectors and Matrices

Matrix is an array of numbers with
dimensions M (rows) by N (columns)
• 3 by 6 matrix
• element 2,3
is (3)

 3 0 0  2 1  2
 1 1 3 4 1 1 
5 2 0 0 0 1 


Vector can be considered a 1 x M
matrix
•
v  x y z 
3
Types of Matrix

Identity matrices - I
1 0
0 1



1
0
0
0

0
1
0
0
0
0
1
0
Diagonal
1
0
0
0

0
2
0
0
0 0
0 0
1 0 
0  4 
0
0
0
1 

Symmetric
a b c 
b d e 
c e f 


• Diagonal matrices
are (of course)
symmetric
• Identity matrices are
(of course) diagonal
4
Anthony Steed:
EQ needs fixing
Operation on Matrices

Addition
• Done elementwise
c d   r s   c  r d  s




a b   p q a  p b  q

Transpose
• “Flip” (M by N becomes N by M)
T
1 4 9
1 5 6
5 2 8   4 2 7
 6 7 3
9 7 3




5
Operations on Matrices

Multiplication
• Only possible to multiply of dimensions
– x1 by y1 and x2 by y2 iff y1 = x2
• resulting matrix is x1 by y2
– e.g. Matrix A is 2 by 3 and Matrix by 3 by 4
• resulting matrix is 2 by 4
– Just because A x B is possible doesn’t mean
B x A is possible!
6
Matrix Multiplication Order


A is n by k , B is k by
m
C = A x B defined by
k
cij   ailblj
l 1

BxA not necessarily
equal to AxB
*

 * * * * *  *

 *



 *
*


 *
 

 
 






.

 * * * * *  .

 .



 .
.

*
*
*
*
*

 . * 

 



 
 


.

 . . . . .  .
 * * * * * .



 .
.

*
*
*
*
*

 . .
 . *

 
 






7
Example Multiplications
2 1  __ __


 2 3 1 1  1  
  1 0 1



 0 1   __ __ 


 2  2 3  0 0 1   __ __ __ 
  3 1 0  1 0 0    __ __ __ 

 1  1  1 0 1 0  


  __ __ __ 
8
Inverse

If A x B = I and B x A = I then
A = B-1 and B = A-1
9
Anthony Steed:
EQ needs fixing
3D Transforms

In 3-space vectors are transformed by
3 by 3 matrices
a b c 
x y z  d e f   xa  yd  zg xb  ye  zf xc  yf  zi 
g h i 

Example?
10
Scale

Scale uses a diagonal matrix
 a 0 0
x y z  0 b 0   xa yb zc 
0 0 c

Scale by 2 along x and -2 along z
2 0 0 
3 4 5 0 1 0   6 4  10
 0 0  2
11
Rotation

Rotation about z axis
Y
 cos(θ ) sin( θ ) 0 
 - sin( θ ) cos(θ ) 0 


0 1
 0
cos θ x - sin  θ y sin  θ x  cos θ y
θ
x y 
X

Note z values remain the same whilst x and y change
12
Rotation X, Y and Scale

About X
1 0
0 
 0 cos(θ ) - sin( θ ) 


0
sin(
θ
)
cos(
θ
)



About Y

Scale (should look
familiar)
 a 0 0
 0 b 0
0 0 c


 cos(θ ) 0 - sin( θ ) 
 0 1
0 
 sin( θ ) 0 cos(θ ) 


13
Homogenous Points


Add 1D, but constrain that to be equal to 1
(x,y,z,1)
Homogeneity means that any point in 3space can be represented by an infinite
variety of homogenous 4D points
• (2 3 4 1) = (4 6 8 2) = (3 4.5 6 1.5)

Why?
• 4D allows as to include 3D translation in matrix
form
14
Homogenous Vectors
Vectors != Points
 Remember points can not be added
 If A and B are points A-B is a vector
 Vectors have form (x y z 0)
 Addition makes sense

15
Translation in Homogenous Form
1
0
x y z 1 0
a


0
1
0
b
0
0
1
c
0
0   x  a y  b z  c 1
0
1 
Note that the homogenous component
is preserved (* * * 1), and aside from the
translation the matrix is I
16
Putting it Together
 R1
 R4
 R7
 T1

R2
R5
R8
T2
R3
R6
R9
T3
0
0
0

1
R is rotation and scale components
 T is translation component

17
Order Matters

Composition order of transforms
matters
• Remember that basic vectors change so
“direction” of translations changed
1

 X Y Z 1 00
0

1

 X Y Z 1 00
2

0
1
0
3
0
0
1
4
0
0
1
0
0
1
0
0
0  1
0  0
0  0
1  0
0  1
0  0
0  0
1  2
0
0
1
0
0
1
0
0
0
1
0
3
0
0
1
4
0
1 0

0   X Z  Y 1 0 1
0 0
0
2 3
1 

0
0
1
4
0
0    X  2 Z  3  Y  4 1
0
1 
0
1 0

0   X  2 Y  4 Z  4 1 0 0
 0 1
0
0 0
1 

0
1
1
0
0
0    X  2 Z  4  Y  4 1
0
1 
18
Exercises



Show that rotation by/2 about X and then /2 about
Y is equivalent to /2 about Y then /2 about X
Calculate the following matrix /2 about X then /2
about Y then /2 about Z (remember “then” means
multiply on the right). What is a simpler form of this
matrix?
Compose the following matrix translate 2 along X,
rotate /2 about Y, translate -2 along X. Draw a
figure with a few points (you will only need 2D) and
then its translation under this transformation.
19
Summary
Rotation, Scale, Translation
 Composition of transforms
 The homogenous form

20
Download