>  Docs Center  >  Libraries  >  Markwardt  >  QTEXP
Libraries

QTEXP

QTEXP

Name


  QTEXP

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


  Compute "exponentiation" of a non-unit quaternion

Major Topics


  Geometry

Calling Sequence


  Q = QTEXP(QLOG)

Description



  The function QTEXP computes the "exponentiation" of a quaternion.
  The exponential is only defined for a non-unit quaternion with a
  *zero* rotation angle. Specifically, the expression
      QTEXP([VAXIS * PHI/2, 0])
  becomes
 
      [VAXIS*SIN(PHI/2), COS(PHI/2)]
  where VAXIS is the unit vector rotation axis and PHI is the
  rotation angle. Note that since VAXIS is a unit vector, the
  product VAXIS*PHI can have an arbitrary direction and magnitude.
  Typically the input to QTEXP is found by taking the logarithm of a
  unit quaternion using QTLOG, and the identity QTEXP(QTLOG(Q)) is
  the same as Q.
 
  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



  QLOG - a non-unit quaternion of the form [VX, VY, VZ, 0]; or,
          N quaternions of the same form, as a 4xN array.

Returns



  The exponentiated unit quaternion(s). For a single input
  quaternion, returns a 4-vector; for N input quaternions, returns a
  4xN array.

Keyword Parameters



  NONE

Example



  IDL> print, qtlog(qtcompose([0d,1,0], !dpi/4))
        0.0000000 0.39269908 0.0000000 0.0000000
  Prints the logarithm of the quaternion composed of a rotation of
  !dpi/4 radians around the axis [0,1,0]

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 corrected, 27 Jan 2002, CM
  Usage message, error checking, 15 Mar 2002, CM



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