SlideShare a Scribd company logo
1 of 30
Download to read offline
Graphics



 3D Geometric
Transformation

  Sudipta Mondal




                      sudipta.hit@gmail.com
Contents
                                                  BCET


n   Translation
n   Scaling
n   Rotation
n   Rotations about an arbitrary axis in space
n   Other Transformations
n   Coordinate Transformations




                                             sudipta.hit@gmail.com
Transformation in 3D
                                                                    BCET

n   Transformation Matrix
      éA    D     G    Jù                 é                     ù
      êB    E     H    Kú                 ê   3´ 3         3 ´ 1ú
      ê                 ú       Þ         ê                     ú
      êC    F     I    Lú                 ê                     ú
      ê                 ú                 ê                     ú
      ë0     0    0    Sû                 ë   1´ 3         1 ´ 1û

           3´3 : Scaling, Reflection, Shearing, Rotation

           3´1 : Translation

           1´1 : Uniform global Scaling

           1´3 : Homogeneous representation

                                                               sudipta.hit@gmail.com
3D Translation
                                                                  BCET

n   Translation of a Point

      x' = x + t x ,   y' = y + t y , z' = z + t z

                       y

                                      é x 'ù é1      0   0    tx ùé xù
                                      ê y 'ú ê 0     1   0    ty úê yú
                                      ê ú=ê                      úê ú
                                      ê z ' ú ê0     0   1    tz úê z ú
                                      ê ú ê                      úê ú
                                 x    ë 1 û ë0       0   0    1 ûë1 û
         z


                                                             sudipta.hit@gmail.com
3D Scaling
                                                                     BCET

n   Uniform Scaling

    x' = x × s x ,   y' = y × s y , z' = z × sz

                     y

                                       é x 'ù é s x   0    0        0ù é x ù
                                       ê y 'ú ê 0     sy   0        0ú ê y ú
                                       ê ú=ê                         úê ú
                                       ê z 'ú ê 0     0    sz       0ú ê z ú
                                       ê ú ê                         úê ú
                               x
                                       ë1û ë 0        0    0        1û ë1 û
           z


                                                                sudipta.hit@gmail.com
Relative Scaling
                                                                                                                BCET

n   Scaling with a Selected Fixed Position

              y                                  y                            y                       y




    z                   x              z                  x            z             x         z            x

Original position                          Translate                       Scaling        Inverse Translate

                                                                éx'ù é1    0 0 x f ùésx 0 0    0ùé1   0 0 - x f ùéxù
                                                                ê y'ú ê0   1 0 y f úê 0 sy 0   0úê0   1 0 - y f úê yú
T (x f , y f , z f ) × S(sx , sy , sz ) ×T(-x f ,-y f ,-z f ) = ê ú = ê            úê           úê              úê ú
                                                                ê z'ú ê0   0 1 z f úê 0 0 sz   0úê0   0 1 - z f úê z ú
                                                                ê ú ê              úê           úê              úê ú
                                                                ë 1 û ë0   0 0 1 ûë 0 0 0      1ûë0   0 0 1 ûë1û


                                                                                                          sudipta.hit@gmail.com
3D Rotation
                                                          BCET

n   Coordinate-Axes Rotations
    n X-axis rotation
    n Y-axis rotation
    n Z-axis rotation


n   General 3D Rotations
    n Rotation about an axis that is parallel to one of the
      coordinate axes
    n Rotation about an arbitrary axis




                                                     sudipta.hit@gmail.com
Coordinate-Axes Rotations
                                                                                                                  BCET


n   Z-Axis Rotation                        n   X-Axis Rotation                        n    Y-Axis Rotation

é x'ù écos q        - sin q   0 0ù é x ù   é x'ù é1    0           0       0ù é x ù       é x'ù é cos q     0 sin q    0ù é x ù
ê y'ú ê sin q       cos q     0 0ú ê y ú   ê y'ú ê0 cos q        - sin q   0ú ê y ú       ê y'ú ê 0         1   0      0ú ê y ú
ê ú=ê                            úê ú      ê ú=ê                            úê ú          ê ú=ê                         úê ú
ê z 'ú ê 0            0       1 0ú ê z ú   ê z 'ú ê0 sin q       cos q     0ú ê z ú       ê z 'ú ê- sin q   0 cos q    0ú ê z ú
ê ú ê                            úê ú      ê ú ê                            úê ú          ê ú ê                         úê ú
ë1û ë 0               0       0 1û ë 1 û   ë 1 û ë0    0            0      1û ë 1 û       ë1û ë 0           0   0      1û ë 1 û


                        y                                    y                                                y




                                 x                                     x                                              x
                z                                   z                                                 z




                                                                                                            sudipta.hit@gmail.com
Order of Rotations
                                                    BCET

n   Order of Rotation Affects Final Position
    n   X-axis è Z-axis




    n   Z-axis è X-axis




                                               sudipta.hit@gmail.com
General 3D Rotations
                                                          BCET

n   Rotation about an Axis that is Parallel to One of
    the Coordinate Axes
    n Translate the object so that the rotation axis
      coincides with the parallel coordinate axis
    n Perform the specified rotation about that axis
    n Translate the object so that the rotation axis is
      moved back to its original position




                                                     sudipta.hit@gmail.com
General 3D Rotations
                                                                         BCET

n   Rotation about an Arbitrary Axis
             y                                       Basic Idea
                                  T     1.   Translate (x1, y1, z1) to the origin
             (x2,y2,z2)                 2.   Rotate (x’2, y’2, z’2) on to the z
                                  R
                                             axis
           (x1,y1,z1)                   3.   Rotate the object around the z-axis
                                        4.   Rotate the axis to the original
                             x    R-1
                                             orientation
     z                                  5.   Translate the rotation axis to the
                                  T-1
                                             original position


         R (q ) = T -1R -1 (a )R -1 (b )R z (q )R y (b )R x (a )T
                        x        y

                                                                    sudipta.hit@gmail.com
General 3D Rotations
                                                         BCET

n   Step 1. Translation
          y

                 (x2,y2,z2)       é1   0 0 - x1 ù
                                  ê0   1 0 - y1 ú
                                T=ê             ú
               (x1,y1,z1)         ê0   0 1 - z1 ú
                                  ê             ú
                            x
                                  ë0   0 0 1 û

     z




                                                    sudipta.hit@gmail.com
General 3D Rotations
                                                                                      BCET

     n      Step 2. Establish [ TR ]ax x axis
                     y                                            b b
                                                   sin a =        =
                                                           b +c
                                                            2   2   d
     (0,b,c)                                                  c     c
                         (a,b,c)                   cos a =        =
                                                           b +c
                                                            2   2   d
Projected
  Point          a   a                               é1   0        0      0ù é1    0       0       0ù
                                                     ê0 cos a   - sin a   0 ú ê0 c / d    -b/d     0ú
                                      x   R x (a ) = ê                      ú=ê                     ú
                                                     ê0 sin a   cos a     0 ú ê0 b / d     c/d     0ú
             z                                       ê                      ú ê                     ú
                                                     ë0   0       0       1 û ë0   0        0      1û
                            Rotated
                             Point




                                                                                 sudipta.hit@gmail.com
Arbitrary Axis Rotation
                                                                                         BCET

     n      Step 3. Rotate about y axis by b
                      y                                         a               d
                                                      sin b = , cos b =
                                                                 l              l
                                                      l 2 = a 2 + b2 + c2 = a2 + d 2
                          (a,b,c)
                                                       d = b2 + c2
Projected             l
  Point                                               écos b    0 - sin b   0ù éd / l    0 - a / l 0ù
              d                                       ê 0       1    0      0ú ê 0       1   0     0ú
                  b                    x   R y (b ) = ê                      ú=ê                    ú
                                                      ê sin b   0   cos b   0ú ê a / l   0 d / l 0ú
                           (a,0,d)                    ê                      ú ê                    ú
                                                      ë 0       0     0     1û ë 0       0   0     1û
                             Rotated
     z                        Point




                                                                                    sudipta.hit@gmail.com
Arbitrary Axis Rotation
                                                            BCET

n   Step 4. Rotate about z axis by the desired
    angle q
            y



                                       écosq     - sin q   0 0ù
                                       ê sin q   cosq      0 0ú
                            R z (q ) = ê                      ú
                                       ê 0          0      1 0ú
        l
                    x                  ê                      ú
    q                                  ë 0         0       0 1û


z




                                                       sudipta.hit@gmail.com
Arbitrary Axis Rotation
                                                                                 BCET

n   Step 5. Apply the reverse transformation to
    place the axis back in its initial position
              y
                                                  é1 0     0 - x1 ù é1    0          0      0ù
                                                  ê0 1     0 - y1 ú ê0 cos a       sin a    0ú
                           T -1R -1 (a )R -1 ( )= ê
                                          y b
                                                                  úê                         ú
                   l
                                 x
                                                  ê0 0     1 - z1 ú ê0 - sin a    cos a     0ú
                                                  ê               úê                         ú
                                                  ë0 0     0 1 û ë0       0         0       1û
                                                é cos b    0 sin b    0ù
      l                                         ê 0        1   0      0ú
                              x                 ê                      ú
                                                ê- sin b   0 cos b    0ú
                                                ê                      ú
                                                ë 0        0   0      1û
z

          R (q ) = T -1R -1 (a )R -1 (b )R z (q )R y (b )R x (a )T
                         x        y

                                                                           sudipta.hit@gmail.com
Example
                                                    BCET



 Find the new coordinates of a unit cube 90º-rotated
 about an axis defined by its endpoints A(2,1,0) and
                      B(3,3,1).




                      A Unit Cube

                                               sudipta.hit@gmail.com
Example
                                                           BCET

n   Step1. Translate point A to the origin




                 y
                                    é1   0   0 - 2ù
                      B’(1,2,1)     ê0   1   0 - 1ú
                                  T=ê             ú
                                    ê0   0   1 0ú
          A’(0,0,0)
                       x            ê             ú
                                    ë0   0   0 1û
         z



                                                      sudipta.hit@gmail.com
Example
                                                                                       BCET

n   Step 2. Rotate axis A’B’ about the x axis by and
    angle a, until it lies on the xz plane.
                                                          2            2    2 5
                                              sin a =              =      =
                                                        2 2 + 12        5    5
                                                        1     5
                                              cos a =      =
                       y                                 5   5
     Projected point
         (0,2,1)                  B’(1,2,1)
                                              l = 12 + 2 2 + 12 = 6

               a           l
                                                            é1          0       0        0ù
                                      x                     ê            5     2 5        ú
              z                                             ê0               -           0ú
                               B”(1,0,Ö5)        R x (a ) = ê           5        5        ú
                                                            ê0         2 5       5
                                                                                         0ú
                                                            ê           5       5         ú
                                                            ê0
                                                            ë           0       0        1ú
                                                                                          û
                                                                                  sudipta.hit@gmail.com
Example
                                                                             BCET

n   Step 3. Rotate axis A’B’’ about the y axis by and
    angle b , until it coincides with the z axis.
                                                       1     6
                                             sin b =      =
                      y                                 6   6
                                                       5   30
                                             cos b =     =
                                                       6   6


                          l                             é   30           6    ù
                  b                   x                 ê        0   -       0ú
       (0,0,Ö6)
                                                        ê   6           6     ú
                              B”(1,0, Ö 5)
                                             R y (b ) = ê   0    1     0     0ú
                                                        ê    6         30
              z                                                  0           0ú
                                                        ê   6          6      ú
                                                        ê
                                                        ë   0    0     0     1ú
                                                                              û

                                                                        sudipta.hit@gmail.com
Example
                                                                  BCET

n   Step 4. Rotate the cube 90° about the z axis
                              é0 - 1 0 0 ù
                              ê1 0 0 0ú
                  R z (90°) = ê          ú
                              ê0 0 1 0 ú
                              ê          ú
                              ë0 0 0 1 û
    n Finally, the concatenated rotation matrix about the
      arbitrary axis AB becomes,


      R (q ) = T -1R -1 (a )R -1 (b )R z (90°)R y (b )R x (a )T
                     x        y




                                                            sudipta.hit@gmail.com
Example
                                                                                          BCET

                           é1    0        0    0ù é 30              6    ù
          é1   0 0      2ù ê      5      2 5    úê           0          0ú é 0 - 1   0 0ù
          ê0             ú ê0                  0ú ê 6              6     úê
               1 0      1ú       5        5                             0ú ê 1 0     0 0ú
 R (q ) = ê                ê                    úê 0         1     0                    ú
          ê0   0 1      0ú ê     2 5       5          6            30      ê0 0      1 0ú
          ê              ú   0 -               0ú ê -        0          0ú ê            ú
          ë0   0 0      1û ê      5       5     úê 6               6     ú 0 0
                                                                           ë         0 1û
                           ê0
                           ë     0        0    1ú ê 0
                                                ûë           0     0    1ú
                                                                         û
          é    30           6     ù é1    0      0        0ù
          ê         0   -       0ú ê       5     2 5        ú é1   0 0 - 2ù
               6           6                   -          0 ú ê0
          ê
               0    1     0
                                  ú ê0
                                0ú ê      5       5                1 0 - 1ú
          ê                                                 úê            ú
          ê     6         30             2 5      5           ê0   0 1 0ú
                    0           0 ú ê0                    0ú ê            ú
          ê    6          6       úê      5      5          ú 0    0 0 1û
          ê                                                   ë
          ë    0    0     0     1 ú ê0
                                  ûë      0      0        1úû
           é 0.166 - 0.075 0.983 1.742 ù
           ê 0.742   0.667 0.075 - 1.151ú
          =ê                            ú
           ê - 0.650 0.741 0.167 0.560 ú
           ê                            ú
           ë 0         0     0      1 û


                                                                                     sudipta.hit@gmail.com
Example
                                                                             BCET

n   Multiplying R(θ) by the point matrix of the original cube

                                 [P¢] =R(q)×[P]
       é 0.166      - 0.075 0.983 1.742 ù é0   0   1   1   0   0   1   1ù
       ê 0.742       0.667 0.075 - 1.151ú ê1   1   1   1   0   0   0   0ú
[P¢] = ê                                úê                              ú
       ê- 0.650      0.741 0.167 0.560 ú ê1    0   0   1   1   0   0   1ú
       ê                                úê                              ú
       ë 0             0      0     1 û ë1     1   1   1   1   1   1   1û
         é 2.650      1.667 1.834 2.816 2.725 1.742       1.909   2.891 ù
         ê- 0.558    - 0.484 0.258 0.184 - 1.225 - 1.151 - 0.409 - 0.483ú
      =ê                                                                ú
         ê 1.467      1.301 0.650 0.817 0.726    0.560 - 0.091 0.076 ú
         ê                                                              ú
         ë 1            1      1     1      1       1       1       1 û


                                                                        sudipta.hit@gmail.com
Other Transformations
                                                                            BCET

n   Reflection Relative to the xy Plane
                                            é x' ù é1    0    0 0ù é x ù
            y                     y         ê y 'ú ê 0   1    0 0ú ê y ú
                                            ê ú=ê                 úê ú
                                        z   ê z' ú ê0    0   - 1 0ú ê z ú
                                            ê ú ê                 úê ú
    z            x                      x   ë 1 û ë0     0    0 1û ë1 û

n   Z-axis Shear
        é x 'ù é1    0   a   0ù é x ù
        ê y 'ú ê 0   1   b   0ú ê y ú
        ê ú=ê                 úê ú
        ê z ' ú ê0   0   1   0ú ê z ú
        ê ú ê                 úê ú
        ë 1 û ë0     0   0   1ûë1 û



                                                                     sudipta.hit@gmail.com
Other Transformations
                                                                        BCET

n   Z-axis Shear
    The effect of this transformation matrix is to alter x and y-coordinate
    values by an amount that is proportional to the z value, while leaving the
    z coordinate unchanged.
q   Boundaries of planes that are perpendicular to the z axis are thus shifted
    by an amount proportional to z.
q   An example of the effect of this shearing matrix on a unit cube is
    shown in Fig., for shearing values a = b = 1. Shearing matrices for
    the x axis and y axis are defined similarly.


      é x 'ù é1    0   a   0ù é x ù
      ê y 'ú ê 0   1   b   0ú ê y ú
      ê ú=ê                 úê ú
      ê z ' ú ê0   0   1   0ú ê z ú
      ê ú ê                 úê ú
      ë 1 û ë0     0   0   1ûë1 û



                                                                   sudipta.hit@gmail.com
Coordinate Transformations
                                                 BCET

n   Multiple Coordinate System
    n Local (modeling) coordinate system
    n World coordinate scene




                  Local Coordinate System
                                            sudipta.hit@gmail.com
Coordinate Transformations
                                                BCET

n   Multiple Coordinate System
    n Local (modeling) coordinate system
    n World coordinate scene




                  Word Coordinate System
                                           sudipta.hit@gmail.com
Coordinate Transformations
                                                     BCET

n   Example – Simulation of Tractor movement
    n As tractor moves, tractor coordinate system and
      front-wheel coordinate system move in world
      coordinate system
    n Front wheels rotate in wheel coordinate system




                                                sudipta.hit@gmail.com
Coordinate Transformations
                                                         BCET

n Transformation of an Object Description from
  One Coordinate System to Another
n Transformation Matrix
    n Bring the two coordinates systems into alignment
    1. Translation
                  y’
                                               y
                    u'y         x’
      y                     u'x              u'y
               (x0,y0,z0)                            u'x
                                                        x
                 z’     u'z               z (0,0,0)
                                                 u'z
     (0,0,0) x
z
                    T(- x0 , - y0 , - z0 )
                                                    sudipta.hit@gmail.com
Coordinate Transformations
                                                                     BCET

 2. Rotation & Scaling

 y’ y                          y                           y
  u'y            x’
          u'x
             x                              x              (0,0,0)    x
z (0,0,0)                z     (0,0,0)
                                                       z
 z’ u'z

                      é u ¢1
                          x    u¢2x      u¢3x     0ù
                      êu ¢     u ¢y 2    u ¢y 3   0ú
                  R = ê y1                         ú
                      ê u ¢1
                          z    u ¢2
                                 z       u ¢3
                                           z      0ú
                      ê                            ú
                      ë 0          0       0      1û

                                                               sudipta.hit@gmail.com

More Related Content

What's hot

3D Graphics : Computer Graphics Fundamentals
3D Graphics : Computer Graphics Fundamentals3D Graphics : Computer Graphics Fundamentals
3D Graphics : Computer Graphics FundamentalsMuhammed Afsal Villan
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removalAnkit Garg
 
Viewing transformation
Viewing transformationViewing transformation
Viewing transformationUdayan Gupta
 
3D transformation in computer graphics
3D transformation in computer graphics3D transformation in computer graphics
3D transformation in computer graphicsSHIVANI SONI
 
Back face detection
Back face detectionBack face detection
Back face detectionPooja Dixit
 
Hidden lines & surfaces
Hidden lines & surfacesHidden lines & surfaces
Hidden lines & surfacesAnkur Kumar
 
Computer graphics curves and surfaces (1)
Computer graphics curves and surfaces (1)Computer graphics curves and surfaces (1)
Computer graphics curves and surfaces (1)RohitK71
 
Three dimensional transformations
Three dimensional transformationsThree dimensional transformations
Three dimensional transformationsNareek
 
2D Transformations(Computer Graphics)
2D Transformations(Computer Graphics)2D Transformations(Computer Graphics)
2D Transformations(Computer Graphics)AditiPatni3
 
2D Transformation in Computer Graphics
2D Transformation in Computer Graphics2D Transformation in Computer Graphics
2D Transformation in Computer GraphicsA. S. M. Shafi
 
Visible surface detection in computer graphic
Visible surface detection in computer graphicVisible surface detection in computer graphic
Visible surface detection in computer graphicanku2266
 
sutherland- Hodgeman Polygon clipping
sutherland- Hodgeman Polygon clippingsutherland- Hodgeman Polygon clipping
sutherland- Hodgeman Polygon clippingArvind Kumar
 
B-spline
B-spline B-spline
B-spline nmahi96
 

What's hot (20)

visible surface detection
visible surface detectionvisible surface detection
visible surface detection
 
3D Graphics : Computer Graphics Fundamentals
3D Graphics : Computer Graphics Fundamentals3D Graphics : Computer Graphics Fundamentals
3D Graphics : Computer Graphics Fundamentals
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removal
 
Viewing transformation
Viewing transformationViewing transformation
Viewing transformation
 
3D transformation in computer graphics
3D transformation in computer graphics3D transformation in computer graphics
3D transformation in computer graphics
 
Back face detection
Back face detectionBack face detection
Back face detection
 
Hidden lines & surfaces
Hidden lines & surfacesHidden lines & surfaces
Hidden lines & surfaces
 
Curves and surfaces
Curves and surfacesCurves and surfaces
Curves and surfaces
 
Line clipping
Line clippingLine clipping
Line clipping
 
Curve clipping
Curve clippingCurve clipping
Curve clipping
 
Computer graphics curves and surfaces (1)
Computer graphics curves and surfaces (1)Computer graphics curves and surfaces (1)
Computer graphics curves and surfaces (1)
 
Three dimensional transformations
Three dimensional transformationsThree dimensional transformations
Three dimensional transformations
 
2D Transformations(Computer Graphics)
2D Transformations(Computer Graphics)2D Transformations(Computer Graphics)
2D Transformations(Computer Graphics)
 
2-D Transformations.pdf
2-D Transformations.pdf2-D Transformations.pdf
2-D Transformations.pdf
 
Bresenham circle
Bresenham circleBresenham circle
Bresenham circle
 
2D Transformation in Computer Graphics
2D Transformation in Computer Graphics2D Transformation in Computer Graphics
2D Transformation in Computer Graphics
 
Visible surface detection in computer graphic
Visible surface detection in computer graphicVisible surface detection in computer graphic
Visible surface detection in computer graphic
 
sutherland- Hodgeman Polygon clipping
sutherland- Hodgeman Polygon clippingsutherland- Hodgeman Polygon clipping
sutherland- Hodgeman Polygon clipping
 
Clipping
ClippingClipping
Clipping
 
B-spline
B-spline B-spline
B-spline
 

More from BCET

Lect11 clipping in3d
Lect11 clipping in3dLect11 clipping in3d
Lect11 clipping in3dBCET
 
Lect8 viewing in3d&transformation
Lect8 viewing in3d&transformationLect8 viewing in3d&transformation
Lect8 viewing in3d&transformationBCET
 
Lect7 viewing in2d
Lect7 viewing in2dLect7 viewing in2d
Lect7 viewing in2dBCET
 
Lect6 transformation2d
Lect6 transformation2dLect6 transformation2d
Lect6 transformation2dBCET
 
Lect5 filling color_models
Lect5 filling color_modelsLect5 filling color_models
Lect5 filling color_modelsBCET
 
Lect4 ellipse
Lect4 ellipseLect4 ellipse
Lect4 ellipseBCET
 
Lect2 scan convertinglines
Lect2 scan convertinglinesLect2 scan convertinglines
Lect2 scan convertinglinesBCET
 
Lect3 bresenham circlesandpolygons
Lect3 bresenham circlesandpolygonsLect3 bresenham circlesandpolygons
Lect3 bresenham circlesandpolygonsBCET
 
Lect2 scan convertinglines
Lect2 scan convertinglinesLect2 scan convertinglines
Lect2 scan convertinglinesBCET
 
Light pens
Light pensLight pens
Light pensBCET
 
Lcd
LcdLcd
LcdBCET
 
Graphics inputdevices
Graphics inputdevicesGraphics inputdevices
Graphics inputdevicesBCET
 
Crt
CrtCrt
CrtBCET
 
Colour models
Colour modelsColour models
Colour modelsBCET
 
Cathode ray tube
Cathode ray tubeCathode ray tube
Cathode ray tubeBCET
 
Plasma display pannel
Plasma display pannelPlasma display pannel
Plasma display pannelBCET
 
php&mysql with Ethical Hacking
php&mysql with Ethical Hackingphp&mysql with Ethical Hacking
php&mysql with Ethical HackingBCET
 

More from BCET (17)

Lect11 clipping in3d
Lect11 clipping in3dLect11 clipping in3d
Lect11 clipping in3d
 
Lect8 viewing in3d&transformation
Lect8 viewing in3d&transformationLect8 viewing in3d&transformation
Lect8 viewing in3d&transformation
 
Lect7 viewing in2d
Lect7 viewing in2dLect7 viewing in2d
Lect7 viewing in2d
 
Lect6 transformation2d
Lect6 transformation2dLect6 transformation2d
Lect6 transformation2d
 
Lect5 filling color_models
Lect5 filling color_modelsLect5 filling color_models
Lect5 filling color_models
 
Lect4 ellipse
Lect4 ellipseLect4 ellipse
Lect4 ellipse
 
Lect2 scan convertinglines
Lect2 scan convertinglinesLect2 scan convertinglines
Lect2 scan convertinglines
 
Lect3 bresenham circlesandpolygons
Lect3 bresenham circlesandpolygonsLect3 bresenham circlesandpolygons
Lect3 bresenham circlesandpolygons
 
Lect2 scan convertinglines
Lect2 scan convertinglinesLect2 scan convertinglines
Lect2 scan convertinglines
 
Light pens
Light pensLight pens
Light pens
 
Lcd
LcdLcd
Lcd
 
Graphics inputdevices
Graphics inputdevicesGraphics inputdevices
Graphics inputdevices
 
Crt
CrtCrt
Crt
 
Colour models
Colour modelsColour models
Colour models
 
Cathode ray tube
Cathode ray tubeCathode ray tube
Cathode ray tube
 
Plasma display pannel
Plasma display pannelPlasma display pannel
Plasma display pannel
 
php&mysql with Ethical Hacking
php&mysql with Ethical Hackingphp&mysql with Ethical Hacking
php&mysql with Ethical Hacking
 

Lect9 transformation3d

  • 1. Graphics 3D Geometric Transformation Sudipta Mondal sudipta.hit@gmail.com
  • 2. Contents BCET n Translation n Scaling n Rotation n Rotations about an arbitrary axis in space n Other Transformations n Coordinate Transformations sudipta.hit@gmail.com
  • 3. Transformation in 3D BCET n Transformation Matrix éA D G Jù é ù êB E H Kú ê 3´ 3 3 ´ 1ú ê ú Þ ê ú êC F I Lú ê ú ê ú ê ú ë0 0 0 Sû ë 1´ 3 1 ´ 1û 3´3 : Scaling, Reflection, Shearing, Rotation 3´1 : Translation 1´1 : Uniform global Scaling 1´3 : Homogeneous representation sudipta.hit@gmail.com
  • 4. 3D Translation BCET n Translation of a Point x' = x + t x , y' = y + t y , z' = z + t z y é x 'ù é1 0 0 tx ùé xù ê y 'ú ê 0 1 0 ty úê yú ê ú=ê úê ú ê z ' ú ê0 0 1 tz úê z ú ê ú ê úê ú x ë 1 û ë0 0 0 1 ûë1 û z sudipta.hit@gmail.com
  • 5. 3D Scaling BCET n Uniform Scaling x' = x × s x , y' = y × s y , z' = z × sz y é x 'ù é s x 0 0 0ù é x ù ê y 'ú ê 0 sy 0 0ú ê y ú ê ú=ê úê ú ê z 'ú ê 0 0 sz 0ú ê z ú ê ú ê úê ú x ë1û ë 0 0 0 1û ë1 û z sudipta.hit@gmail.com
  • 6. Relative Scaling BCET n Scaling with a Selected Fixed Position y y y y z x z x z x z x Original position Translate Scaling Inverse Translate éx'ù é1 0 0 x f ùésx 0 0 0ùé1 0 0 - x f ùéxù ê y'ú ê0 1 0 y f úê 0 sy 0 0úê0 1 0 - y f úê yú T (x f , y f , z f ) × S(sx , sy , sz ) ×T(-x f ,-y f ,-z f ) = ê ú = ê úê úê úê ú ê z'ú ê0 0 1 z f úê 0 0 sz 0úê0 0 1 - z f úê z ú ê ú ê úê úê úê ú ë 1 û ë0 0 0 1 ûë 0 0 0 1ûë0 0 0 1 ûë1û sudipta.hit@gmail.com
  • 7. 3D Rotation BCET n Coordinate-Axes Rotations n X-axis rotation n Y-axis rotation n Z-axis rotation n General 3D Rotations n Rotation about an axis that is parallel to one of the coordinate axes n Rotation about an arbitrary axis sudipta.hit@gmail.com
  • 8. Coordinate-Axes Rotations BCET n Z-Axis Rotation n X-Axis Rotation n Y-Axis Rotation é x'ù écos q - sin q 0 0ù é x ù é x'ù é1 0 0 0ù é x ù é x'ù é cos q 0 sin q 0ù é x ù ê y'ú ê sin q cos q 0 0ú ê y ú ê y'ú ê0 cos q - sin q 0ú ê y ú ê y'ú ê 0 1 0 0ú ê y ú ê ú=ê úê ú ê ú=ê úê ú ê ú=ê úê ú ê z 'ú ê 0 0 1 0ú ê z ú ê z 'ú ê0 sin q cos q 0ú ê z ú ê z 'ú ê- sin q 0 cos q 0ú ê z ú ê ú ê úê ú ê ú ê úê ú ê ú ê úê ú ë1û ë 0 0 0 1û ë 1 û ë 1 û ë0 0 0 1û ë 1 û ë1û ë 0 0 0 1û ë 1 û y y y x x x z z z sudipta.hit@gmail.com
  • 9. Order of Rotations BCET n Order of Rotation Affects Final Position n X-axis è Z-axis n Z-axis è X-axis sudipta.hit@gmail.com
  • 10. General 3D Rotations BCET n Rotation about an Axis that is Parallel to One of the Coordinate Axes n Translate the object so that the rotation axis coincides with the parallel coordinate axis n Perform the specified rotation about that axis n Translate the object so that the rotation axis is moved back to its original position sudipta.hit@gmail.com
  • 11. General 3D Rotations BCET n Rotation about an Arbitrary Axis y Basic Idea T 1. Translate (x1, y1, z1) to the origin (x2,y2,z2) 2. Rotate (x’2, y’2, z’2) on to the z R axis (x1,y1,z1) 3. Rotate the object around the z-axis 4. Rotate the axis to the original x R-1 orientation z 5. Translate the rotation axis to the T-1 original position R (q ) = T -1R -1 (a )R -1 (b )R z (q )R y (b )R x (a )T x y sudipta.hit@gmail.com
  • 12. General 3D Rotations BCET n Step 1. Translation y (x2,y2,z2) é1 0 0 - x1 ù ê0 1 0 - y1 ú T=ê ú (x1,y1,z1) ê0 0 1 - z1 ú ê ú x ë0 0 0 1 û z sudipta.hit@gmail.com
  • 13. General 3D Rotations BCET n Step 2. Establish [ TR ]ax x axis y b b sin a = = b +c 2 2 d (0,b,c) c c (a,b,c) cos a = = b +c 2 2 d Projected Point a a é1 0 0 0ù é1 0 0 0ù ê0 cos a - sin a 0 ú ê0 c / d -b/d 0ú x R x (a ) = ê ú=ê ú ê0 sin a cos a 0 ú ê0 b / d c/d 0ú z ê ú ê ú ë0 0 0 1 û ë0 0 0 1û Rotated Point sudipta.hit@gmail.com
  • 14. Arbitrary Axis Rotation BCET n Step 3. Rotate about y axis by b y a d sin b = , cos b = l l l 2 = a 2 + b2 + c2 = a2 + d 2 (a,b,c) d = b2 + c2 Projected l Point écos b 0 - sin b 0ù éd / l 0 - a / l 0ù d ê 0 1 0 0ú ê 0 1 0 0ú b x R y (b ) = ê ú=ê ú ê sin b 0 cos b 0ú ê a / l 0 d / l 0ú (a,0,d) ê ú ê ú ë 0 0 0 1û ë 0 0 0 1û Rotated z Point sudipta.hit@gmail.com
  • 15. Arbitrary Axis Rotation BCET n Step 4. Rotate about z axis by the desired angle q y écosq - sin q 0 0ù ê sin q cosq 0 0ú R z (q ) = ê ú ê 0 0 1 0ú l x ê ú q ë 0 0 0 1û z sudipta.hit@gmail.com
  • 16. Arbitrary Axis Rotation BCET n Step 5. Apply the reverse transformation to place the axis back in its initial position y é1 0 0 - x1 ù é1 0 0 0ù ê0 1 0 - y1 ú ê0 cos a sin a 0ú T -1R -1 (a )R -1 ( )= ê y b úê ú l x ê0 0 1 - z1 ú ê0 - sin a cos a 0ú ê úê ú ë0 0 0 1 û ë0 0 0 1û é cos b 0 sin b 0ù l ê 0 1 0 0ú x ê ú ê- sin b 0 cos b 0ú ê ú ë 0 0 0 1û z R (q ) = T -1R -1 (a )R -1 (b )R z (q )R y (b )R x (a )T x y sudipta.hit@gmail.com
  • 17. Example BCET Find the new coordinates of a unit cube 90º-rotated about an axis defined by its endpoints A(2,1,0) and B(3,3,1). A Unit Cube sudipta.hit@gmail.com
  • 18. Example BCET n Step1. Translate point A to the origin y é1 0 0 - 2ù B’(1,2,1) ê0 1 0 - 1ú T=ê ú ê0 0 1 0ú A’(0,0,0) x ê ú ë0 0 0 1û z sudipta.hit@gmail.com
  • 19. Example BCET n Step 2. Rotate axis A’B’ about the x axis by and angle a, until it lies on the xz plane. 2 2 2 5 sin a = = = 2 2 + 12 5 5 1 5 cos a = = y 5 5 Projected point (0,2,1) B’(1,2,1) l = 12 + 2 2 + 12 = 6 a l é1 0 0 0ù x ê 5 2 5 ú z ê0 - 0ú B”(1,0,Ö5) R x (a ) = ê 5 5 ú ê0 2 5 5 0ú ê 5 5 ú ê0 ë 0 0 1ú û sudipta.hit@gmail.com
  • 20. Example BCET n Step 3. Rotate axis A’B’’ about the y axis by and angle b , until it coincides with the z axis. 1 6 sin b = = y 6 6 5 30 cos b = = 6 6 l é 30 6 ù b x ê 0 - 0ú (0,0,Ö6) ê 6 6 ú B”(1,0, Ö 5) R y (b ) = ê 0 1 0 0ú ê 6 30 z 0 0ú ê 6 6 ú ê ë 0 0 0 1ú û sudipta.hit@gmail.com
  • 21. Example BCET n Step 4. Rotate the cube 90° about the z axis é0 - 1 0 0 ù ê1 0 0 0ú R z (90°) = ê ú ê0 0 1 0 ú ê ú ë0 0 0 1 û n Finally, the concatenated rotation matrix about the arbitrary axis AB becomes, R (q ) = T -1R -1 (a )R -1 (b )R z (90°)R y (b )R x (a )T x y sudipta.hit@gmail.com
  • 22. Example BCET é1 0 0 0ù é 30 6 ù é1 0 0 2ù ê 5 2 5 úê 0 0ú é 0 - 1 0 0ù ê0 ú ê0 0ú ê 6 6 úê 1 0 1ú 5 5 0ú ê 1 0 0 0ú R (q ) = ê ê úê 0 1 0 ú ê0 0 1 0ú ê 2 5 5 6 30 ê0 0 1 0ú ê ú 0 - 0ú ê - 0 0ú ê ú ë0 0 0 1û ê 5 5 úê 6 6 ú 0 0 ë 0 1û ê0 ë 0 0 1ú ê 0 ûë 0 0 1ú û é 30 6 ù é1 0 0 0ù ê 0 - 0ú ê 5 2 5 ú é1 0 0 - 2ù 6 6 - 0 ú ê0 ê 0 1 0 ú ê0 0ú ê 5 5 1 0 - 1ú ê úê ú ê 6 30 2 5 5 ê0 0 1 0ú 0 0 ú ê0 0ú ê ú ê 6 6 úê 5 5 ú 0 0 0 1û ê ë ë 0 0 0 1 ú ê0 ûë 0 0 1úû é 0.166 - 0.075 0.983 1.742 ù ê 0.742 0.667 0.075 - 1.151ú =ê ú ê - 0.650 0.741 0.167 0.560 ú ê ú ë 0 0 0 1 û sudipta.hit@gmail.com
  • 23. Example BCET n Multiplying R(θ) by the point matrix of the original cube [P¢] =R(q)×[P] é 0.166 - 0.075 0.983 1.742 ù é0 0 1 1 0 0 1 1ù ê 0.742 0.667 0.075 - 1.151ú ê1 1 1 1 0 0 0 0ú [P¢] = ê úê ú ê- 0.650 0.741 0.167 0.560 ú ê1 0 0 1 1 0 0 1ú ê úê ú ë 0 0 0 1 û ë1 1 1 1 1 1 1 1û é 2.650 1.667 1.834 2.816 2.725 1.742 1.909 2.891 ù ê- 0.558 - 0.484 0.258 0.184 - 1.225 - 1.151 - 0.409 - 0.483ú =ê ú ê 1.467 1.301 0.650 0.817 0.726 0.560 - 0.091 0.076 ú ê ú ë 1 1 1 1 1 1 1 1 û sudipta.hit@gmail.com
  • 24. Other Transformations BCET n Reflection Relative to the xy Plane é x' ù é1 0 0 0ù é x ù y y ê y 'ú ê 0 1 0 0ú ê y ú ê ú=ê úê ú z ê z' ú ê0 0 - 1 0ú ê z ú ê ú ê úê ú z x x ë 1 û ë0 0 0 1û ë1 û n Z-axis Shear é x 'ù é1 0 a 0ù é x ù ê y 'ú ê 0 1 b 0ú ê y ú ê ú=ê úê ú ê z ' ú ê0 0 1 0ú ê z ú ê ú ê úê ú ë 1 û ë0 0 0 1ûë1 û sudipta.hit@gmail.com
  • 25. Other Transformations BCET n Z-axis Shear The effect of this transformation matrix is to alter x and y-coordinate values by an amount that is proportional to the z value, while leaving the z coordinate unchanged. q Boundaries of planes that are perpendicular to the z axis are thus shifted by an amount proportional to z. q An example of the effect of this shearing matrix on a unit cube is shown in Fig., for shearing values a = b = 1. Shearing matrices for the x axis and y axis are defined similarly. é x 'ù é1 0 a 0ù é x ù ê y 'ú ê 0 1 b 0ú ê y ú ê ú=ê úê ú ê z ' ú ê0 0 1 0ú ê z ú ê ú ê úê ú ë 1 û ë0 0 0 1ûë1 û sudipta.hit@gmail.com
  • 26. Coordinate Transformations BCET n Multiple Coordinate System n Local (modeling) coordinate system n World coordinate scene Local Coordinate System sudipta.hit@gmail.com
  • 27. Coordinate Transformations BCET n Multiple Coordinate System n Local (modeling) coordinate system n World coordinate scene Word Coordinate System sudipta.hit@gmail.com
  • 28. Coordinate Transformations BCET n Example – Simulation of Tractor movement n As tractor moves, tractor coordinate system and front-wheel coordinate system move in world coordinate system n Front wheels rotate in wheel coordinate system sudipta.hit@gmail.com
  • 29. Coordinate Transformations BCET n Transformation of an Object Description from One Coordinate System to Another n Transformation Matrix n Bring the two coordinates systems into alignment 1. Translation y’ y u'y x’ y u'x u'y (x0,y0,z0) u'x x z’ u'z z (0,0,0) u'z (0,0,0) x z T(- x0 , - y0 , - z0 ) sudipta.hit@gmail.com
  • 30. Coordinate Transformations BCET 2. Rotation & Scaling y’ y y y u'y x’ u'x x x (0,0,0) x z (0,0,0) z (0,0,0) z z’ u'z é u ¢1 x u¢2x u¢3x 0ù êu ¢ u ¢y 2 u ¢y 3 0ú R = ê y1 ú ê u ¢1 z u ¢2 z u ¢3 z 0ú ê ú ë 0 0 0 1û sudipta.hit@gmail.com