Page 60 -
P. 60

2.1 Geometric primitives and transformations                                            39


                                                                            ◦
               this representation is not unique, since we can always add a multiple of 360 (2π radians) to
               θ and get the same rotation matrix. As well, (ˆn,θ) and (−ˆn, −θ) represent the same rotation.
                  However, for small rotations (e.g., corrections to rotations), this is an excellent choice.
               In particular, for small (infinitesimal or instantaneous) rotations and θ expressed in radians,
               Rodriguez’s formula simplifies to

                                                          ⎡                  ⎤
                                                              1   −ω z   ω y
                          R(ω) ≈ I + sin θ[ˆn] × ≈ I +[θˆn] × =  ⎣  ω z  1  −ω x  ⎦  ,  (2.35)
                                                            −ω y   ω x   1

               which gives a nice linearized relationship between the rotation parameters ω and R. We can
               also write R(ω)v ≈ v + ω × v, which is handy when we want to compute the derivative of
               Rv with respect to ω,

                                                      0    z   −y
                                                   ⎡              ⎤
                                    ∂Rv
                                         = −[v] × =  ⎣  −z  0  x  ⎦  .              (2.36)
                                    ∂ω T
                                                      y   −x    0
                  Another way to derive a rotation through a finite angle is called the exponential twist
               (Murray, Li, and Sastry 1994). A rotation by an angle θ is equivalent to k rotations through
               θ/k. In the limit as k →∞, we obtain

                                                    1      k
                                  R(ˆn,θ) = lim (I +  [θˆn] × ) = exp [ω] × .       (2.37)
                                           k→∞      k
                                                                                       k
               If we expand the matrix exponential as a Taylor series (using the identity [ˆn] k+2  = −[ˆn] ,
                                                                             ×         ×
               k> 0, and again assuming θ is in radians),
                                                  θ 2  2   θ 3  3
                                    = I + θ[ˆn] × +  [ˆn] +  [ˆn] + ···
                          exp [ω] ×                    ×        ×
                                                   2       3!
                                               θ 3            θ 2  θ 3       2
                                    = I +(θ −     + ···)[ˆn] × +(  −  + ···)[ˆn]
                                               3!              2   4!        ×
                                                                2
                                    = I + sin θ[ˆn] × +(1 − cos θ)[ˆn] ,            (2.38)
                                                                ×
               which yields the familiar Rodriguez’s formula.

               Unit quaternions

               The unit quaternion representation is closely related to the angle/axis representation. A unit
               quaternion is a unit length 4-vector whose components can be written as q =(q x ,q y ,q z ,q w )
               or q =(x, y, z, w) for short. Unit quaternions live on the unit sphere  q  =1 and antipodal
               (opposite sign) quaternions, q and −q, represent the same rotation (Figure 2.6). Other than
               this ambiguity (dual covering), the unit quaternion representation of a rotation is unique.
               Furthermore, the representation is continuous, i.e., as rotation matrices vary continuously,
               one can find a continuous quaternion representation, although the path on the quaternion
               sphere may wrap all the way around before returning to the “origin” q =(0, 0, 0, 1).For
                                                                         o
               these and other reasons given below, quaternions are a very popular representation for pose
               and for pose interpolation in computer graphics (Shoemake 1985).
   55   56   57   58   59   60   61   62   63   64   65