Index Page
cspice_twovec
A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 

Abstract
I/O
Examples
Particulars
Required Reading
Version
Index_Entries

Abstract


   CSPICE_calculates the transformation matrix to the
   right-handed reference frame having an input vector as a
   specified axis and a second input vector lying in a
   define coordinate plane.

I/O


   Given:

      axdef    the principal axes of a coordinate frame.

               [3,1] = size(axdef); double = class(axdef)

      indexa   the index signifying which of the three coordinate
               axes contains 'axdef' (1, 2 or 3).

               [1,1]   = size(indexa); int32 = class(indexa)

                  If 'indexa' is 1 then axdef defines the X axis of the
                  coordinate frame.

                  If 'indexa' is 2 then axdef defines the Y axis of the
                  coordinate frame.

                  If 'indexa' is 3 then axdef defines the Z axis of the
                  coordinate frame.

      plndef   a vector in the same plane as 'axdef'. 'axdef' and 
               'plndef' must be linearly independent.

               [3,1] = size(plndef); double = class(plndef)

      indexp   the index signifying the second principle axis,
               orthogonal to 'axdef' (1, 2 or 3).

               [1,1]   = size(indexp); int32 = class(indexp)

                  If 'indexp' is 1, the second axis of the principal
                  plane is the X-axis.

                  If 'indexp' is 2, the second axis of the principal
                  plane is the Y-axis.

                  If 'indexp' is 3, the second axis of the principal plane
                  is the Z-axis.

   the call:

      mout = cspice_twovec( axdef, indexa, plndef, indexp)

   returns:

      mout   a double precision 3x3 array defining a rotation matrix from
             the frame of the original vectors to the new frame

Examples


   Any numerical results shown for this example may differ between
   platforms as the results depend on the SPICE kernels used as input
   and the machine specific arithmetic implementation.

   Example:

      %
      % A trivial example. Define the reference vectors...
      %
      %  The i unit vector
      %
      axdef  = [ 1.; 0; 0.];
      indexa = 1 ;

      %
      %  The -j unit vector. For this example, any vector
      %  in the x-y plane linearly independent of 'axdef'
      %  will suffice.
      %
      plndef = [ 0.; -1.; 0.];
      indexp = 2;

      %
      % Calculate the transformation matrix. The new frame
      % has 'axdef' as axis 'indexa', with 'plndef' in the same
      % plane, the direction axis 'indexp' in that plane
      % and orthogonal to 'axdef'. A third direction vector
      % completes the right handed frame.
      %
      mout = cspice_twovec( axdef, indexa, plndef, indexp )

   MATLAB outputs:

      mout =

           1     0     0
           0    -1     0
           0     0    -1

Particulars


     Given two linearly independent vectors there is a unique
     right-handed coordinate frame having:

        axdef lying along the indexa axis.

        plndef lying in the axdef-indexp coordinate plane.

     This routine determines the transformation matrix that transforms
     from coordinates used to represent the input vectors to the
     the system determined by axdef and plndef.  Thus a vector
     (x,y,z) in the input coordinate system will have coordinates

                     t
        mout* (x,y,z)

     in the frame determined by axdef and plndef.

Required Reading


   For important details concerning this module's function, please refer to
   the CSPICE routine twovec_c.

   MICE.REQ

Version


   -Mice Version 1.0.1, 12-MAR-2015, EDW (JPL)

      Edited I/O section to conform to NAIF standard for Mice documentation.

   -Mice Version 1.0.0, 10-JAN-2006, EDW (JPL)

Index_Entries


   define an orthonormal frame from two vectors


Wed Apr  5 18:00:36 2017