Click here to load reader

Linear Algebra and SVD - University Of djacobs/CMSC426/LinearAlgebraSVD.pdf · PDF fileLinear Algebra and SVD (Some slides adapted from Octavia Camps) Goals • Represent points as

  • View
    218

  • Download
    0

Embed Size (px)

Text of Linear Algebra and SVD - University Of djacobs/CMSC426/LinearAlgebraSVD.pdf · PDF...

  • 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

    tt

    PP

    PP

  • 2D Translation Equation

    PP

    xx

    yy

    ttxx

    ttyy

    PPtt

  • 2D Translation using Matrices

    PP

    xx

    yy

    ttxx

    ttyy

    PPtt

    tt PP

  • Scaling

    PP

    PP

  • Scaling Equation

    PP

    xx

    yy

    s.xs.x

    PPs.ys.y

  • Rotation

    PP

    PP

  • Rotation Equations

    Counter-clockwise rotation by an angle Counter-clockwise rotation by an angle

    PP

    xx

    YYPP

    XX

    yy

  • 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 its in the same position relative to the

    rotated coordinates that it was in before rotation

    relative to the x, y coordinates. That is, its rotated.

  • Degrees of Freedom

    R is 2x2 R is 2x2 4 elements4 elements

    BUT! There is only 1 degree of freedom: BUT! There is only 1 degree of freedom:

    The 4 elements must satisfy the following constraints:The 4 elements must satisfy the following constraints:

  • 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

    100

    tycos qsin q

    tx-sin qcos q( )(1

    y

    x

    )

    100

    tyab

    tx-ba

    ( )(1

    y

    x

    )Rotation, Scaling and Translation

  • 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

    PP

    xx

    yy

    SSxx.x.x

    PPSSyy.y.y

  • Stretching = tilting and projecting

    (with weak perspective)

  • 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

    SVD

  • Affine Transformation

  • Simple 3D Rotation

    n

    n

    n

    zzz

    yyy

    xxx

    21

    21

    21...

    100

    0cossin

    0sincos

    Rotation about z axis.

    Rotates x,y coordinates. Leaves z coordinates fixed.

  • Full 3D Rotation

    =

    cossin0

    sincos0

    001

    cos0sin

    010

    sin0cos

    100

    0cossin

    0sincos

    R

    Any rotation can be expressed as combination of three

    rotations about three axes.

    =

    100

    010

    001

    T

    RR

    Rows (and columns) of R are

    orthonormal vectors.

    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