Tải bản đầy đủ (.ppt) (20 trang)

matrix math

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (275.32 KB, 20 trang )

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)




Vector can be considered a 1 x M matrix

 3 0 0 − 2 1 − 2
 1 1 3 4 1 −1 
−5 2 0 0 0 1 





v = ( x y z)

3


Types of Matrix


Identity matrices - I

1
0



0
1 


Diagonal

1
0
0
0


0
2
0
0

1
0
0
0

0
0
−1
0

0
1
0
0




0
0
1
0

0
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
AnthonySteed:
Steed:
EQ
EQneeds
needsfixing
fixing

Operation on Matrices



Addition

• Done elementwise

a b   p q a + p b + q

+
=

c d   r s   c + r d + s



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



c = ∑a b

BxA
ijnot necessarily equal
il ljto AxB

l =1

*

 * * * * *  *

 *



 *
*




 *
 
=
 
 








.

 * * * * *  .

 .



 .
.


*
*
*
*

*


 . * 

 

=

 
 



.

 . . . . .  .
 * * * * * .



 .
.


*
*
*
*
*



 . .
 . *
=
 
 







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
AnthonySteed:
Steed:
EQ
EQneeds
needsfixing
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
 0 b 0  = ( xa yb zc )
(
)
x
y
z
Scale by 2 along x and -2 along z
0 0 c



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
0 1
■ 

Note z values remain the same whilst x and y change

( cos( θ ) x - sin ( θ ) y

θ

sin ( θ ) x + cos( θ ) y )

( x y)


X

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 3-space 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 0 0
 0 1 0 0
( x y z 1)  0 0 1 0  = ( x + a y + b z + c 1)
Note that the homogenous
is preserved (* * * 1), and aside from the translation
 a component

 b c 1
the matrix is I

16


Putting it Together




 R1 R 2
 R 4 R5
 R 7 R8
R is rotation and scale
components
T

1 T2

T is translation component

R3
R6
R9
T3

0
0
0

1

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



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×