transformations and matrices transformations i
play

Transformations and Matrices Transformations I Transformations are - PDF document

Transformations and Matrices Transformations I Transformations are functions Matrices are functions representations Matrices represent linear transfs CS5600 Computer Graphics Lecture Set 5 by 2 x 2 Matrices == 2D Linear


  1. Transformations and Matrices Transformations I • Transformations are functions • Matrices are functions representations • Matrices represent linear transf’s CS5600 Computer Graphics Lecture Set 5 by • 2 x 2 Matrices == 2D Linear Transf’s Rich Riesenfeld 27 February 2002 CS5600 2 What is a 2D Linear Transf ? Example: Scale in x Recall from Linear Algebra: Scale in x, by 2: Definition: T(ax + y) = aT(x) + T(y) (2 (x o + x 1 ), y 0 + y 1 ) = (2x o , y o ) + (2x 1 , y 1 ) for scalar a and vectors x and y CS5600 3 CS5600 4 Scale in x by 2 y Example: Scale in x by 2 (x 1 , y 1 ) (2 x 1 , y 1 ) What is the graphical view? x (x 0 , y 0 ) (2 x 0 , y 0 ) CS5600 5 CS5600 6 CS5600 1

  2. ( 2x o + 2x 1 , y 0 + y 1 ) ( 2 (x o + x 1 ), y 0 + y 1 ) y y (x 1 , y 1 ) (2 x 1 , y 1 ) (( x o + x 1 ), y 0 + y 1 ) ( 2 x o + 2 x 1 , y 0 + y 1 ) ( 2 (x o + x 1 ), y 0 + y 1 ) x x (2 x 0 , y 0 ) (x 0 , y 0 ) CS5600 7 CS5600 8 Summary on Scale ( 2 (x o + x 1 ), y 0 + y 1 ) y • “Scale then add,” is same as • “Add then scale” (( x o + x 1 ), y 0 + y 1 ) ( 2 (x o + x 1 ), y 0 + y 1 ) x CS5600 9 CS5600 10 Matrix Representation Matrix Representation Scale in x by 2: Scale in y by 2: 2 0 x = 2x 1 0 x = x 0 1 y y 0 2 y 2y CS5600 11 CS5600 12 CS5600 2

  3. Matrix Representation Matrix Representation Showing Same y 0 + y 1 = 2(x 0 + x 1 ) 2 0 x 0 + x 1 Overall Scale by 2: y 0 + y 1 0 1 2x 0 + 2x 1 2 0 x = 2x = y 0 + y 1 0 2 y 2y CS5600 13 CS5600 14 Rotate by θ y What about Rotation? (0,1) Is it linear? θ θ x (1,0) CS5600 15 CS5600 16 Rotate by θ : 1 st Quadrant Rotate by θ : 1 st Quadrant y (1, 0) (cos θ , sin θ ) (cos θ , sin θ ) sin θ θ x (1,0) cos θ CS5600 17 CS5600 18 CS5600 3

  4. Rotate by θ : 2 nd Quadrant Rotate by θ : 2 nd Quadrant y y (0,1) (0,1) θ cos θ θ θ θ x x (1,0) sin θ CS5600 19 CS5600 20 Rotate by θ : 2 nd Quadrant Summary of Rotation by θ (0, 1) (-sin θ , cos θ ) (1, 0) (cos θ , sin θ ) (0, 1) (-sin θ , cos θ ) CS5600 21 CS5600 22 Summary (Column Form) Using Matrix Notation 1 cos θ     cos - sin 1 cos θ θ θ           ⇒ =           sin cos 0 sin θ θ θ 0 sin       θ     0 sin cos - sin 0 - sin − θ θ θ θ          =         ⇒   sin cos 1 cos θ θ θ           1 cos θ     (Note that unit vectors simply copy columns) CS5600 23 CS5600 24 CS5600 4

  5. General Rotation by Matrix θ cos - sin x x cos - ysin Who had linear algebra? θ θ θ θ       =       sin cos y x sin y cos θ θ + θ       Who understand matrices? CS5600 25 CS5600 26 Off Diagonal Elements 1 a x x ay  +      What do the off diagonal =       elements do? 0 1 y y       1 0 x x       =       b 1 y bx y +       CS5600 27 CS5600 28 Example 1 Example 1 1 0 x T ( x , y ) =     y y T ( x , y ) =     0 . 4 1 y x       ( 1 , 1 )   ( 0 , 1 ) ( 0 , 1 ) 0 . 4 x y x ( 1 , 1 ) +     =   0 . 4 x y S S +   x x ( 1 , 0 ) ( 1 , 0 ) ( 0 , 0 ) ( 0 , 0 ) CS5600 29 CS5600 30 CS5600 5

  6. Example 1 Example 2 1 0 . 6 x T ( x , y ) =     y y ( 1 , 1 . 4 ) T ( x , y ) =     0 1 y x       ( 0 , 1 )   ( 0 , 1 ) 0 . 4 x y ( 1 , 1 ) x 0 . 6 y +  +    T(S) =   y S   ( 1 , 0 . 4 ) x x ( 1 , 0 ) ( 0 , 0 ) ( 0 , 0 ) CS5600 31 CS5600 32 Example 2 Example 2 T ( x , y ) x 0 . 6 y = y  +  y T ( x , y ) =   x 0 . 6 y y  +      ( 0 , 1 ) ( 0 . 6 , 1 ) y ( 0 , 1 ) ( 1 , 1 )   ( 1 . 6 , 1 ) S T(S) x x ( 1 , 0 ) ( 1 , 0 ) ( 0 , 0 ) ( 0 , 0 ) CS5600 33 CS5600 34 Summary Double Shear Shear in x: 1 a 1 0 ( ab) a 1 1 a x x ay +        +      Sh x = = =             0 1 b 1 b 1 0 1 y y             Shear in y: 1 0 1 a a 1       1 0 x x =             b 1 0 1 b ( ab) 1 Sh y + = =             b 1 y bx y +       CS5600 35 CS5600 36 CS5600 6

  7. Sample Points: unit inverses Geometric View of Shear in x 1 a a 0 −      =       ( a , 1 ) − 0 1 1 ( 0 , 1 ) ( 1 , 1 ) 1       1 0 1 1       ( 1 , 0 ) ( 1 , 0 ) =       b 1 b 0 −       CS5600 37 CS5600 38 Another Geometric View of Another Geometric View of Shear in x Shear in x y y y x x x 39 40 Another Geometric View of Geometric View of Shear in y Shear in y y y ( 1 , 1 ) ( 0 , 1 ) ( 0 , 1 ) ( 0 , 0 ) ( 0 , 0 ) ( 1 , 0 ) ( 1 , b ) − x 42 x h h CS5600 41 CS5600 7

  8. Another Geometric View of “Lazy 1” Shear in y y x x 0 1 0             y y  0 1 0    =           0 0 1  1   1        x       43 CS5600 44 Translation in x Translation in x x x x d x d 0 1 0 1 0 +           x   x             y y  0 1 0   y  d y y d  0 1    =   =  +  y                   0 0 0 1 1 0 1  1   1   1                          CS5600 45 CS5600 46 Homogeneous Coordinates Homogeneous Coordinates x x λ   x x   1 0 0           x         y , for 0 y     ↔ λ ≠ λ = y y  0 1 0    =       y                   1 λ 0 0 1  1   1                      CS5600 47 CS5600 48 CS5600 8

  9. Homogeneous Coordinates Homogeneous Coordinates For 0, λ ≠ An infinite number of points correspond to (x,y,1). They constitute the whole line (tx,ty,t). x x x 0 1 0 λ         w         (tx,ty,t) x     λ             y y y   0 1 0   = = λ ↔           y        λ    w = 1           (x,y,1) 0 0 1 1 1 1         y λ     λ     Homogeneous term effects overall scaling x CS5600 49 Next Class: Compound Transformations We’ve got Affine • Build up compound transformations Transformations by concatenating elementary ones • Use for complicated motion Linear + Translation • Use for complicated modeling CS5600 51 CS5600 52 CS5600 9

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend