0% found this document useful (0 votes)
59 views24 pages

Linear Algebra and SVD: (Some Slides Adapted From Octavia Camps)

1) Linear algebra concepts like vectors, matrices, and matrix multiplication can represent geometric transformations like translations, rotations, and scalings of points and objects in 2D and 3D spaces. 2) Any linear transformation can be decomposed using singular value decomposition (SVD) into a rotation, scaling, and another rotation. 3) Transformations like rotations and translations that involve changing coordinate systems can be represented and performed using matrix multiplication. Combining multiple transformations can be done by multiplying the corresponding matrices in order.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views24 pages

Linear Algebra and SVD: (Some Slides Adapted From Octavia Camps)

1) Linear algebra concepts like vectors, matrices, and matrix multiplication can represent geometric transformations like translations, rotations, and scalings of points and objects in 2D and 3D spaces. 2) Any linear transformation can be decomposed using singular value decomposition (SVD) into a rotation, scaling, and another rotation. 3) Transformations like rotations and translations that involve changing coordinate systems can be represented and performed using matrix multiplication. Combining multiple transformations can be done by multiplying the corresponding matrices in order.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 24

Linear Algebra and SVD

(Some slides adapted from Octavia Camps)


Goals
• Represent points as column vectors.
• Represent motion as matrices.
• Move geometric objects with matrix
multiplication.
• Introduce SVD
Euclidean transformations
2D Translation
P’

t
P
2D Translation Equation
P’
t
ty P P  ( x, y )
y t  (t x , t y )
x tx

P'  ( x  t x , y  t y )  Pt
2D Translation using Matrices
P’ P  ( x, y )
t
ty P
t  (t x , t y )
y
t P
x tx  x
 x  t x  1 0 t x   
P'       y
 y  t y  0 1 t y   1 
 
Scaling
P’

P
Scaling Equation
P’
s.y
P  ( x, y )
P P'  ( sx, sy )
y
P'  s  P
x s.x
 sx   s 0  x 
P'       
 sy  0 s   y 

P'  S  P S
Rotation
P

P’
Rotation Equations
Counter-clockwise rotation by an angle 

 x' cos  sin    x 


P’  y '   sin   
cos   y  
Y’   

P
y P'  R.P
x
X’
Why does multiplying points by R rotate them?
• Think of the rows of R as a new coordinate system.
Taking inner products of each points with these expresses
that point in that coordinate system.
• This means rows of R must be orthonormal vectors
(orthogonal unit vectors).
• Think of what happens to the points (1,0) and (0,1). They
go to (cos theta, -sin theta), and (sin theta, cos theta). They
remain orthonormal, and rotate clockwise by theta.
• Any other point, (a,b) can be thought of as a(1,0) +
b(0,1). R(a(1,0)+b(0,1) = Ra(1,0) + Ra(0,1) = aR(1,0) +
bR(0,1). So it’s in the same position relative to the
rotated coordinates that it was in before rotation relative
to the x, y coordinates. That is, it’s rotated.
Degrees of Freedom
 x' cos  sin    x 
 y '   sin   
cos   y  
  
R is 2x2 4 elements

BUT! There is only 1 degree of freedom: 

The 4 elements must satisfy the following constraints:

R  RT  RT  R  I
det( R)  1
Transformations can be
composed
• Matrix multiplication is associative.
• Combine series of transformations into
one matrix. (example, whiteboard).
• In general, the order matters. (example,
whiteboard).
• 2D Rotations can be interchanged.
Why?
Rotation and Translation
x

( cos  -sin  tx
sin  cos  ty
)( ) y
1
0 0 1

Rotation, Scaling and Translation


x

(
a
b
-b
a
tx
ty )( ) y
1
0 0 1
Rotation about an arbitrary point

• Can translate to origin, rotate, translate


back. (example, whiteboard).
• This is also rotation with one translation.
– Intuitively, amount of rotation is same either
way.
– But a translation is added.
Stretching Equation
P  ( x, y )
P’ P '  ( s x x, s y y )
Sy.y

P  sx x  sx 0   x
P'       
y s y 0 sy   y
 y  
x Sx.x S
P'  S  P
Stretching = tilting and projecting
(with weak perspective)
 sx 
 sx x  sx 0   x s 0  x 
P'         
s y   y  y  y
s
s y 0   y
  
y
 0 1
SVD
• For any matrix, M = R1DR2
– R1, R2 are rotation matrices
– D is a diagonal matrix.
– This decomposition is unique.
– Efficient algorithms can compute this (in
matlab, svd).
Linear Transformation
a b   x 
P'    
c d   y SVD

 sin  cos   s x 0  sin  cos    x 


 0  
 cos

sin    s y  cos  
sin    y 
 sx 
 sin  cos   0  sin  cos    x 
 sy   
sin    y 
sy
 cos sin      cos 
 0 1
Affine Transformation

 x
a b tx  
P'    y
 
 c d ty  1 
 
Simple 3D Rotation
 cos sin  0  x x . . . x 
  
1 2 n

  sin  cos 0  y 1
y 2
y n 
 0  
 0 1  z1
z 2
z
n 
Rotation about z axis.
Rotates x,y coordinates. Leaves z coordinates fixed.
Full 3D Rotation
 cos sin  0  cos  0 sin   1 0 0 
   
R    sin  cos 0  0 1 0  0 cos sin  
 0 1   sin  0 cos   0  sin  cos 
 0

• Any rotation can be expressed as combination of three


rotations about three axes.

 1 0 0 • Rows (and columns) of R are


  orthonormal vectors.
RR   0 1 0 
T

 0 0 1 • R has determinant 1 (not -1).


 
• Intuitively, it makes sense that 3D rotations can be
expressed as 3 separate rotations about fixed axes.
Rotations have 3 degrees of freedom; two describe an
axis of rotation, and one the amount.
• Rotations preserve the length of a vector, and the angle
between two vectors. Therefore, (1,0,0), (0,1,0), (0,0,1)
must be orthonormal after rotation. After rotation, they
are the three columns of R. So these columns must be
orthonormal vectors for R to be a rotation. Similarly, if
they are orthonormal vectors (with determinant 1) R will
have the effect of rotating (1,0,0), (0,1,0), (0,0,1). Same
reasoning as 2D tells us all other points rotate too.
• Note if R has determinant -1, then R is a rotation
plus a reflection.
3D Rotation + Translation
• Just like 2D case

You might also like