Page 59 -
P. 59

38                                                                        2 Image formation


                                                           ^ n  u


                                                          v
                                                      v Œ      v ××
                                                            ș     u ŏ
                                                          v ŏ
                                                               v ×


                Figure 2.5 Rotation around an axis ˆn by an angle θ.



                                which is the component of v that is not affected by the rotation. Next, we compute the
                                perpendicular residual of v from ˆn,
                                                                             T
                                                        v ⊥ = v − v   =(I − ˆnˆn )v.                 (2.30)

                                                        ◦
                                We can rotate this vector by 90 using the cross product,
                                                           v × = ˆn × v =[ˆn] × v,                   (2.31)

                                where [ˆn] × is the matrix form of the cross product operator with the vector ˆn =(ˆn x , ˆn y , ˆn z ),
                                                                 0   −ˆn z  ˆ n y
                                                             ⎡                  ⎤
                                                       [ˆn] × =  ⎣  ˆ n z  0  −ˆn x  ⎦  .            (2.32)
                                                                −ˆn y  ˆ n x  0
                                                                  ◦
                                Note that rotating this vector by another 90 is equivalent to taking the cross product again,
                                                                         2
                                                       v ×× = ˆn × v × =[ˆn] v = −v ⊥ ,
                                                                         ×
                                and hence
                                                                                  2
                                                   v   = v − v ⊥ = v + v ×× =(I +[ˆn] )v.
                                                                                  ×
                                We can now compute the in-plane component of the rotated vector u as
                                                                                       2
                                              u ⊥ = cos θv ⊥ + sin θv × = (sin θ[ˆn] × − cos θ[ˆn] )v.
                                                                                       ×
                                Putting all these terms together, we obtain the final rotated vector as

                                                                                       2
                                               u = u ⊥ + v   =(I + sin θ[ˆn] × +(1 − cos θ)[ˆn] )v.  (2.33)
                                                                                       ×
                                We can therefore write the rotation matrix corresponding to a rotation by θ around an axis ˆn
                                as
                                                                                     2
                                                  R(ˆn,θ)= I + sin θ[ˆn] × +(1 − cos θ)[ˆn] ,        (2.34)
                                                                                     ×
                                which is known as Rodriguez’s formula (Ayache 1989).
                                   The product of the axis ˆn and angle θ, ω = θˆn =(ω x ,ω y ,ω z ), is a minimal represen-
                                                                                                   ◦
                                tation for a 3D rotation. Rotations through common angles such as multiples of 90 can be
                                represented exactly (and converted to exact matrices) if θ is stored in degrees. Unfortunately,
   54   55   56   57   58   59   60   61   62   63   64