>  Docs Center  >  Libraries  >  Markwardt  >  QTMAT
Libraries

QTMAT

QTMAT

Name


  QTMAT

Author


  Craig B. Markwardt, NASA/GSFC Code 662, Greenbelt, MD 20770
  craigm@lheamail.gsfc.nasa.gov
  UPDATED VERSIONs can be found on my WEB PAGE:
      http://cow.physics.wisc.edu/~craigm/idl/idl.html

Purpose


  Find direction cosine matrix from quaternion(s)

Major Topics


  Geometry

Calling Sequence


  MATRIX = QTMAT(Q)

Description



  The function QTMAT computes one or more direction cosine matrices
  (i.e., rotation matrices) from unit quaternions.
  The usage of the resulting matrix on a 3-vector X is either
  MATRIX # X, or MATRIX ## X, depdending on the meaning of the
  rotation (i.e., body-fixed or coordinate-fixed, see QTVROT).
  QTFIND and QTMAT are functional inverses: use QTFIND to convert a
  known direction cosine matrix to a new quaternion; use QTMAT to
  convert a known quaternion to matrix representation.
  Conventions for storing quaternions vary in the literature and from
  library to library. This library uses the convention that the
  first three components of each quaternion are the 3-vector axis of
  rotation, and the 4th component is the rotation angle. Expressed
  in formulae, a single quaternion is given by:
    Q(0:2) = [VX, VY, VZ]*SIN(PHI/2)
    Q(3) = COS(PHI/2)
  where PHI is the rotation angle, and VAXIS = [VX, VY, VZ] is the
  rotation eigen axis expressed as a unit vector. This library
  accepts quaternions of both signs, but by preference returns
  quaternions with a positive 4th component.

Inputs



  Q - array of one or more unit quaternions. For a single
      quaternion, Q should be a 4-vector. For N quaternions, Q
      should be a 4xN array.

Keywords



  INVERT - if set, compute the matrix of QTINV(Q) instead Q

Returns



  The direction cosine matrices. For a single input quaternion,
  retuns a 3x3 array. For N input quaternions, returns a 3x3xN
  array.

Keyword Parameters



  NONE

Example



  print, qtmat(qtcompose([0d,1,0], !dpi/4))
        0.70710678 0.0000000 0.70710678
        0.0000000 1.0000000 0.0000000
      -0.70710678 0.0000000 0.70710678
  Form a quaternion composed of a rotation of !dpi/4 radians around
  the axis [0,1,0], and then print the corresponding rotation
  matrix.

See Also


  QTANG, QTAXIS, QTCOMPOSE, QTERP, QTEXP, QTFIND, QTINV, QTLOG,
  QTMAT, QTMULT, QTPOW, QTVROT

Modification History


  Written, July 2001, CM
  Documented, Dec 2001, CM
  Documentation clarifications, 28 Jan 2002, CM
  Allow multiple quaternions, 28 Jan 2002, CM
  Usage message, error checking, 15 Mar 2002, CM
  Add INVERT keyword, 05 Oct 2007, CM



© 2024 NV5 Geospatial Solutions, Inc. |  Legal
   Contact Us