Loading in 5 sec....

CSC 480 Computer Graphics K. Kirby Spring 2006PowerPoint Presentation

CSC 480 Computer Graphics K. Kirby Spring 2006

- 89 Views
- Uploaded on
- Presentation posted in: General

CSC 480 Computer Graphics K. Kirby Spring 2006

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

CSC 480

Computer Graphics

K. Kirby

Spring 2006

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

Properties

Determinant

Inverse

Rank

Image

Kernel

Singular values & vectors

Condition number

Eigenvalues & eigenvectors

Some Kinds of 2D Linear Operators

Identity

Uniform scale

Non-uniform scale

Simple reflection

Rotation

Shear

Singular operators

Symmetric operators

General operators

det M = 1

det M = -1/2

det M = 0

Determinants

| 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 ?

“invertible”

det 0

rank 3

rank 2

“singular”

det = 0

rank 1

rank 0

Rank

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.

= 6

Singular Values

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

M

If is large, then Mx=b is hard to solve numerically for x.

Why?

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.

different direction-

y not a real eigenvector

y

My

M

x

Mx = 2x

same direction-

x is a real eigenvector

with eigenvalue 2

m1

m2

m3

m2

m1

m3

Orthogonal Operators

An operator is orthogonal if it maps the standard

basis (e1, e2, e3) to an orthonormal set (one-to-one).

e2

M =

e1

e3

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.

d

z=1

plane

M = 1 0 d1

0 1 d2

0 0 1

y

x

Affine Transformations

An affine transformation is a linear transformation followed

by a translation: A(x) = Mx + d.

d

Affine Transformations: Practice

- Give 4x4 matrices for the following affine transformations of three dimensional space.
- You may leave the matrices in factored form if you like, but each entry must be in rational radical form.
- A translation that takes the point (6,7,8) to the point (2,2,2).
- A rotation by 45 degrees about the line from (1,1,1) to (2,1,1).
- A reflection through the plane y= 2.
- A transformation that takes the shape “A>” on the xy-plane centered at (1,1,0) to the shape “>” centered at the origin, still lying in the xy plane, scaled uniformly to half its size. (The z dimension is not affected.)
- The inverse of the transformation in #4.

Representation of Spatial Rotations

Angle-axis representation

x

Matrix representation

Rx

Representation of Spatial Rotations : Example

Angle-axis representation

[ 1 1 1 ]T

60o

You can confirm this in OpenGL:

double m[16] ;

glMatrixMode( GL_MODELVIEW ) ;

glLoadIdentity() ;

glRotated( 60.0, 1,1,1 ) ;

glGetDoublev( GL_MODELVIEW_MATRIX, m );

print(m) ;

we will show

this in class

Matrix representation

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