Quaternion to rotation matrix

Cross product to matrix

vv = {x, y, z} ; pv = GenericVector[p] ; vv // Nice pv // Nice

( x )            y            z

( p  )            x            p            y            p            z

tst1 = Cross[vv, pv] ; tst1 // Nice

( y p  - z p  )              z      y            z p  - x p              x      z            x p  - y p              y      x

vmat = {{0, -z, y}, {z, 0, -x}, {-y, x, 0}} ; vmat // Nice

( 0    -z   y  )            z    0    -x            -y   x    0

tst2 = vmat . pv ; tst2 // Nice

( y p  - z p  )              z      y            z p  - x p              x      z            x p  - y p              y      x

tst2 == tst1

True

(v . p) v = (v . v') . p

vv = {x, y, z} ; pv = GenericVector[p] ; vv // Nice pv // Nice

( x )            y            z

( p  )            x            p            y            p            z

tst1 = (vv . pv) vv // ExpandAll ; tst1 // Nice

(     2                   )           p  x  + y p  x + z p  x            x     ...      x        z                2           p  z  + x p  z + y p  z            z         x        y

vmat = Outer[Times, vv, vv] ;  vmat // Nice

(  2              )           x     x y   x z                   2           x y   y     y z                         2           x z   y z   z

tst2 = vmat . pv ; tst2 // Nice

(     2                   )           p  x  + y p  x + z p  x            x     ...      x        z                2           p  z  + x p  z + y p  z            z         x        y

tst1 == tst2

True


Created by Mathematica  (September 7, 2003)