3d geometry for computer graphics class 2. the plan today basic linear algebra review eigenvalues...

51
3D Geometry for Computer Graphics Class 2

Upload: aliyah-tomlinson

Post on 14-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

3D Geometry forComputer Graphics

Class 2

Page 2: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

The plan today

Basic linear algebra review Eigenvalues and eigenvectors

Why?? Manipulations of 3D objects require (linear)

transformations Need to understand and analyze linear stuff

Page 3: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Motivation – Shape Matching

What is the best transformation that aligns the unicorn with the lion?

There are tagged feature points in both sets that are matched by the user

Page 4: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Motivation – Shape Matching

The above is not a good alignment….

Regard the shapes as sets of points and try to “match” these setsusing a linear transformation

Page 5: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Motivation – Shape Matching

Regard the shapes as sets of points and try to “match” these setsusing a linear transformation

To find the best rotation we need to know SVD…

Page 6: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Principal Component Analysis

x

y

Given a set of points,find the best line that approximates it

Page 7: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Principal Component Analysis

x

y

x’

y’

Given a set of points,find the best line that approximates it

Page 8: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Principal Component Analysis

x

y

When we learn PCA (Principal Component Analysis),we’ll know how to find these axes that minimize

the sum of distances2

x’

y’

Page 9: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

PCA and SVD

PCA and SVD are important tools not only in graphics but also in statistics, computer vision and more.

To learn about them, we first need to get familiar with eigenvalue decomposition.

So, today we’ll start with linear algebra basics reminder.

SVD: A = UV T

is diagonal contains the singular values of A

Page 10: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Vector space

Informal definition: V (a non-empty set of vectors)

v, w V v + w V (closed under addition)

v V, is scalar v V (closed under multiplication by scalar)

Formal definition includes axioms about associativity and distributivity of the + and operators.

0 V always!

Page 11: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Subspace - example

Let l be a 2D line though the origin L = {p – O | p l} is a linear subspace of R2

x

y

O

Page 12: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Subspace - example

Let be a plane through the origin in 3D V = {p – O | p } is a linear subspace of R3

y

z

x

O

Page 13: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Linear independence

The vectors {v1, v2, …, vk} are a linearly independent set if:

1v1 + 2v2 + … + kvk = 0 i = 0 i

It means that none of the vectors can be obtained as a linear combination of the others.

Page 14: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Linear independence - example

Parallel vectors are always dependent:

Orthogonal vectors are always independent.

vw

v = 2.4 w v + (2.4)w = 0

Page 15: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Basis of V

{v1, v2, …, vn} are linearly independent

{v1, v2, …, vn} span the whole vector space V:

V = {1v1 + 2v2 + … + nvn | i is scalar}

Any vector in V is a unique linear combination of the basis.

The number of basis vectors is called the dimension of V.

Page 16: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Basis - example

The standard basis of R3 – three unit orthogonal vectors x, y, z: (sometimes called i, j, k or e1, e2, e3)

y

z

x

Page 17: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Basis – another example

Grayscale NM images: Each pixel has value between

0 (black) and 1 (white) The image can be interpreted

as a vector RNM

M

N

Page 18: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

The “standard” basis (44)

Page 19: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Linear combinations of the basis

*1 + *(2/3) + *(1/3) =

Page 20: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

There are also other bases!

The cosine basis – used for JPEG encoding

Page 21: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Matrix representation

Let {v1, v2, …, vn} be a basis of V Every vV has a unique representation

v = 1v1 + 2v2 + … + nvn

Denote v by the column-vector:

The basis vectors are therefore denoted:

1

n

v

1

0

0

,

0

1

0

,

0

0

1

Page 22: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Linear operators

A : V W is called linear operator if: A(v + w) = A(v) + A(w) A( v) = A(v)

In particular, A(0) = 0 Linear operators we know:

Scaling Rotation, reflection Translation is not linear – moves the origin

Page 23: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Linear operators - illustration

Rotation is a linear operator:

v

w

v+w

R(v+w)

v

w

Page 24: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Linear operators - illustration

Rotation is a linear operator:

v

w

v+w

R(v+w)

v

wR(w)

Page 25: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Linear operators - illustration

Rotation is a linear operator:

v

w

v+w

R(v+w)

v

wR(w)R(v)

Page 26: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Linear operators - illustration

Rotation is a linear operator:

v

w

v+w

R(v+w)

v

wR(w)R(v)

R(v)+R(w)

R(v+w) = R(v) + R(w)

Page 27: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Matrix representation of linear operators

Look at A(v1),…, A(vn) where {v1, v2, …, vn} is a basis.

For all other vectors: v = 1v1 + 2v2 + … + nvn

A(v) = 1A(v1) + 2A(v2) + … + nA(vn) So, knowing what A does to the basis is enough The matrix representing A is:

1 2

| | |

( ) ( ) ( )

| | |A nM A A A

v v v

Page 28: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Matrix representation of linear operators

1 2 1

1| | | |

0( ) ( ) ( ) ( )

| | | |0

nA A A A

v v v v

1 2 2

0| | | |

1( ) ( ) ( ) ( )

| | | |0

nA A A A

v v v v

Page 29: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Matrix operations

Addition, subtraction, scalar multiplication – simple…

Multiplication of matrix by column vector:

111 1 1 1

1

row ,

row ,

i iin

m mn n mi i mi

a ba a b

a a b a b

b

b

A b

Page 30: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Matrix by vector multiplication

Sometimes a better way to look at it: Ab is a linear combination of A’s columns!

1

1 2 1 1 2 2

| | | | | |

| | | | | |n n n

n

b

b b b

b

a a a a a a

Page 31: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Matrix operations

Transposition: make the rows to be the columns

(AB)T = BTAT

mnn

m

T

mnm

n

aa

aa

aa

aa

1

111

1

111

Page 32: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Matrix operations

Inner product can in matrix form:

, T T v w v w w v

Page 33: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Matrix properties

Matrix A (nn) is non-singular if B, AB = BA = I B = A1 is called the inverse of A A is non-singular det A 0

If A is non-singular then the equation Ax=b has one unique solution for each b.

A is non-singular the rows of A are linearly independent (and so are the columns).

Page 34: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Orthogonal matrices

Matrix A (nn) is orthogonal if A1 = AT

Follows: AAT = ATA = I The rows of A are orthonormal vectors!

Proof:

I = ATA = v1

v2

vn

= viTvj = ij

v1 v2 vn

<vi, vi> = 1 ||vi|| = 1; <vi, vj> = 0

Page 35: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Orthogonal operators

A is orthogonal matrix A represents a linear operator that preserves inner product (i.e., preserves lengths and angles):

Therefore, ||Av|| = ||v|| and (Av,Aw) = (v,w)

, ( ) ( )

, .

T T T

T T

A A A A A A

I

v w v w v w

v w v w v w

Page 36: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Orthogonal operators - example

Rotation by around the z-axis in R3 :

In fact, any orthogonal 33 matrix represents a rotation around some axis and/or a reflection detA = +1 rotation only detA = 1 with reflection

100

0cossin

0sincos

R

Page 37: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Eigenvectors and eigenvalues

Let A be a square nn matrix v is eigenvector of A if:

Av = v ( is a scalar) v 0

The scalar is called eigenvalue

Av = v A(v) = ( v) v is also eigenvector

Av = v, Aw = w A(v+w) = (v+w) Therefore, eigenvectors of the same form a linear

subspace.

Page 38: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Eigenvectors and eigenvalues

An eigenvector spans an axis (subspace of dimension 1) that is invariant to A – it remains the same under the transformation.

Example – the axis of rotation:

O

Eigenvector of therotation transformation

Page 39: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Finding eigenvalues

For which is there a non-zero solution to Ax = x ? Ax = x Ax – x = 0 Ax – Ix = 0 (AI) x = 0 So, non trivial solution exists det(A – I) = 0

A() = det(A – I) is a polynomial of degree n. It is called the characteristic polynomial of A. The roots of A are the eigenvalues of A. Therefore, there are always at least complex eigenvalues.

If n is odd, there is at least one real eigenvalue.

Page 40: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Example of computing A

411

303

201

A

)32)(3(

)3(2)3()1()3(2)3)4()(1(

411

33

201

det)(

2

2

A

Cannot be factorized over ROver C: )21)(21( ii

Page 41: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Computing eigenvectors

Solve the equation (A – I)x = 0 We’ll get a subspace of solutions.

Page 42: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Spectra and diagonalization

The set of all the eigenvalues of A is called

the spectrum of A. A is diagonalizable if A has n independent

eigenvectors. Then:

1 1 1

2 2 2

n n n

A

A

A

v v

v v

v v

A v2v1 vn= v2v1 vn

1

2

n

AV = VD

Page 43: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Spectra and diagonalization

Therefore, A = VDV1, where D is diagonal A represents a scaling along the eigenvector

axes!

A = v2v1 vn

1

2

n

v2v1 vn

1

A = VDV1

1 1 1

2 2 2

n n n

A

A

A

v v

v v

v v

Page 44: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Spectra and diagonalization

A Drotationreflection

orthonormalbasis

otherorthonormal

basis

V

Page 45: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Spectra and diagonalization

A

Page 46: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Spectra and diagonalization

A

Page 47: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Spectra and diagonalization

A

Page 48: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Spectra and diagonalization

A

eigenbasis

Page 49: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Spectra and diagonalization

A is called normal if AAT = ATA. Important example: symmetric matrices A = AT. It can be proved that normal nn matrices have

exactly n linearly independent eigenvectors (over C).

If A is symmetric, all eigenvalues of A are real, and it has n independent real orthonormal eigenvectors.

Page 50: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

Why SVD…

Diagonalizable matrix is essentially a scaling. Most matrices are not diagonalizable – they do

other things along with scaling (such as rotation)

So, to understand how general matrices behave, only eigenvalues are not enough

SVD tells us how general linear transformations behave, and other things…

Page 51: 3D Geometry for Computer Graphics Class 2. The plan today Basic linear algebra review Eigenvalues and eigenvectors Why??  Manipulations of 3D objects

See you next time