Presentation is loading. Please wait.

Presentation is loading. Please wait.

Transformations Angel 4.6-4.8 Angel: Interactive Computer Graphics5E © Addison-Wesley 2009 1.

Similar presentations


Presentation on theme: "Transformations Angel 4.6-4.8 Angel: Interactive Computer Graphics5E © Addison-Wesley 2009 1."— Presentation transcript:

1 Transformations Angel 4.6-4.8 Angel: Interactive Computer Graphics5E © Addison-Wesley 2009 1

2 Objectives Introduce standard transformations –Rotation –Translation –Scaling –Shear Derive homogeneous coordinate transformation matrices Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 2

3 General Transformations A transformation maps points to other points and/or vectors to other vectors Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 3 Q=T(P) v=T(u)

4 Affine Transformations Line preserving Characteristic of many physically important transformations –Rigid body transformations: rotation, translation –Scaling, shear Importance in graphics is that we need only transform endpoints of line segments and let implementation draw line segment between the transformed endpoints Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 4

5 Pipeline Implementation Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 5 transformationrasterizer u u v T T(u) T(v) T(u) T(v) vertices pixels frame buffer (from application program)

6 Notation We will be working with both coordinate-free representations of transformations and representations within a particular frame P, Q, R: points in an affine space u, v, w : vectors in an affine space , ,  : scalars p, q, r : representations of points -array of 4 scalars in homogeneous coordinates u, v, w : representations of vectors -array of 4 scalars in homogeneous coordinates Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 6

7 Translation Move (translate, displace) a point to a new location Displacement determined by a vector d –Three degrees of freedom –P’=P+d Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 7 P P’ d

8 How many ways? Although we can move a point to a new location in infinite ways, when we move many points there is usually only one way Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 8 object translation: every point displaced by same vector

9 Translation Using Representations Using the homogeneous coordinate representation in some frame p=[ x y z 1] T p’=[x’ y’ z’ 1] T d=[dx dy dz 0] T Hence p’ = p + d or x’=x+d x y’=y+d y z’=z+d z Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 9 note that this expression is in four dimensions and expresses point = vector + point

10 Translation Matrix We can also express translation using a 4 x 4 matrix T in homogeneous coordinates p ’= Tp where T = T (d x, d y, d z ) = This form is better for implementation because all affine transformations can be expressed this way and multiple transformations can be concatenated together Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 10

11 Consider rotation about the origin by  degrees –radius stays the same, angle increases by  Rotation (2D) Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 11 x' = x cos  – y sin  y' = x sin  + y cos  x = r cos  y = r sin  x' = r cos (  y' = r sin ( 

12 Rotation about the z axis Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 12 Rotation about z axis in three dimensions leaves all points with the same z –Equivalent to rotation in two dimensions in planes of constant z –or in homogeneous coordinates p ’= R z (  )p x’ = x cos  – y sin  y’ = x sin  + y cos  z’ = z

13 Rotation Matrix Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 13 R = R z (  ) =

14 Rotation about x and y axes Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 14 Same argument as for rotation about z axis –For rotation about x axis, x is unchanged –For rotation about y axis, y is unchanged R = R x (  ) = R = R y (  ) =

15 Scaling Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 15 S = S(s x, s y, s z ) = x’=s x x y’=s y x z’=s z x p’=Sp Expand or contract along each axis (fixed point of origin)

16 Reflection Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 16 corresponds to negative scale factors original s x = -1 s y = 1 s x = -1 s y = -1s x = 1 s y = -1

17 Inverses Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 17 Although we could compute inverse matrices by general formulas, we can use simple geometric observations –Translation: T -1 (d x, d y, d z ) = T (-d x, -d y, -d z ) –Rotation: R -1 (  ) = R(-  ) Holds for any rotation matrix Note that since cos(-  ) = cos(  ) and sin(-  )=- sin(  ) R -1 (  ) = R T (  ) – Scaling: S -1 (s x, s y, s z ) = S(1/s x, 1/s y, 1/s z )

18 Shear Helpful to add one more basic transformation Equivalent to pulling faces in opposite directions Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 18

19 Shear Matrix Consider simple shear along x axis Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 19 x’ = x + y cot  y’ = y z’ = z H(  ) =


Download ppt "Transformations Angel 4.6-4.8 Angel: Interactive Computer Graphics5E © Addison-Wesley 2009 1."

Similar presentations


Ads by Google