CSC 480 Computer Graphics K. Kirby Spring 2006. Characteristics of Linear Transformations A qualitative review. Linear maps R 2 R 2 and R 3 R 3. It's all about what happens to the basis. Definition of linearity. Linear algebra review. Maps R 2 R 2 and R 3 R 3.
Characteristics of Linear Transformations
A qualitative review
Linear maps R2R2 and R3R3
It's all about what happens to the basis.
Definition of linearity.
Linear algebra review
Maps R2R2 and R3R3
Singular values & vectors
Eigenvalues & eigenvectors
Some Kinds of 2D Linear Operators
det M = 1
det M = -1/2
det M = 0
| det M | = the factor by which M changes measure
sign det M = the change in orientation caused by M
Q: Why does det AB = det A det B ?
det = 0
The rank of M is the dimension of its image.
Four different 3D operators M with different ranks.
The conditionof M is the ratio of the largest
to smallest nonzero singular value.
It measures the “squash” of M. 1.
The singular values of M are the principle radii of the image
of the unit sphere under M.
This image is an ellipse in 2D, an ellipsoid in 3D, etc.
1 = 4
2 = 2/3
If is large, then Mx=b is hard to solve numerically for x.
Eigenvalues and Eigenvectors
If a M leaves a the direction of a vector x unchanged,
x is called a real eigenvector of M.
The factor by which the length of x changes is called
the eigenvalue of M for x.
y not a real eigenvector
Mx = 2x
x is a real eigenvector
with eigenvalue 2
An operator is orthogonal if it maps the standard
basis (e1, e2, e3) to an orthonormal set (one-to-one).
This means m1•m1 = 1, m1• m2 = 0, etc.
In short: MTM = I
So for an orthogonal matrix, the inverse is merely the transpose.
A rotation is an orthogonal operator with det = 1.
Translations in N dimensions can be represented by
shears in N+1 dimensions.
M = 1 0 d1
0 1 d2
0 0 1
An affine transformation is a linear transformation followed
by a translation: A(x) = Mx + d.
Affine Transformations: Practice
Representation of Spatial Rotations
Representation of Spatial Rotations : Example
[ 1 1 1 ]T
You can confirm this in OpenGL:
double m ;
glMatrixMode( GL_MODELVIEW ) ;
glRotated( 60.0, 1,1,1 ) ;
glGetDoublev( GL_MODELVIEW_MATRIX, m );
we will show
this in class
0.667 -0.333 0.667 0
0.667 0.667 -0.333 0
-0.333 0.667 0.667 0
0 0 0 1