| Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.stsci.edu/~sontag/spicedocs/cspice/tipbod_c.html Дата изменения: Sat Dec 17 06:09:59 2005 Дата индексирования: Mon Apr 11 00:11:43 2016 Кодировка: Поисковые слова: asteroid | 
Return a 3x3 matrix that transforms positions in inertial coordinates to positions in body-equator-and-prime-meridian coordinates.
PCK NAIF_IDS ROTATIONS TIME
   VARIABLE  I/O  DESCRIPTION 
   --------  ---  -------------------------------------------------- 
   ref        I   ID of inertial reference frame to transform from. 
   body       I   ID code of body. 
   et         I   Epoch of transformation. 
   tipm       O   Transformation (position), inertial to prime 
                  meridian. 
   ref         is the NAIF name for an inertial reference frame. 
               Acceptable names include: 
                 Name       Description 
                 --------   -------------------------------- 
                 "J2000"    Earth mean equator, dynamical 
                            equinox of J2000 
                 "B1950"    Earth mean equator, dynamical 
                            equinox of B1950 
                 "FK4"      Fundamental Catalog (4) 
                 "DE-118"   JPL Developmental Ephemeris (118) 
                 "DE-96"    JPL Developmental Ephemeris ( 96) 
                 "DE-102"   JPL Developmental Ephemeris (102) 
                 "DE-108"   JPL Developmental Ephemeris (108) 
                 "DE-111"   JPL Developmental Ephemeris (111) 
                 "DE-114"   JPL Developmental Ephemeris (114) 
                 "DE-122"   JPL Developmental Ephemeris (122) 
                 "DE-125"   JPL Developmental Ephemeris (125) 
                 "DE-130"   JPL Developmental Ephemeris (130) 
                 "GALACTIC" Galactic System II 
                 "DE-200"   JPL Developmental Ephemeris (200) 
                 "DE-202"   JPL Developmental Ephemeris (202) 
               (See the routine CHGIRF for a full list of names.) 
               The output tipm will give the transformation 
               from this frame to the bodyfixed frame specified by 
               body at the epoch specified by et. 
   body        is the integer ID code of the body for which the 
               position transformation matrix is requested. Bodies 
               are numbered according to the standard NAIF 
               numbering scheme.  The numbering scheme is 
               explained in the NAIF_IDS required reading file. 
   et          is the epoch at which the position transformation 
               matrix is requested. (This is typically the 
               epoch of observation minus the one-way light time 
               from the observer to the body at the epoch of 
               observation.) 
   tipm        is a 3x3 coordinate transformation matrix.  It is 
               used to transform positions from inertial coordinates to 
               body fixed (also called equator and prime meridian)
               coordinates. 
               Given a position P in the inertial reference frame 
               specified by ref, the corresponding bodyfixed 
               position is given by the matrix vector product
                  tipm * s 
               The X axis of the PM system is directed to the 
               intersection of the equator and prime meridian. 
               The Z axis points along  the spin axis and points 
               towards the same side of the invariable plane of 
               the solar system as does earth's north pole. 
None.
   tipbod_c takes PCK information as input, either in the form of a 
   binary or text PCK file.  If the data required to compute tipm are
   available in a binary PCK, these data will take precedence over data
   from a text PCK.  If there are multiple binary PCKs containing data
   from which tipm can be computed, the last loaded PCK takes 
   precedence.  If binary PCK data are available for the requested body 
   and time, the Euler angles giving the body's orientation are 
   evaluated, and the transformation matrix tipm is calculated from
   them.  Using the Euler angles PHI, DELTA and W we compute 
      TIPM = [W] [DELTA] [PHI] 
                3       1     3 
   If no appropriate binary PCK files have been loaded, text PCK data
   are used.  Here information is found as RA, DEC and W (with the 
   possible addition of nutation and libration terms for satellites).  
   Again, the Euler angles are found, and the transformation matrix is 
   calculated from them.  The transformation from inertial to 
   bodyfixed coordinates is represented as: 
      TIPM = [W] [HALFPI-DEC] [RA+HALFPI] 
                3            1           3 
   These Euler angles RA, DEC and W are related to PHI, DELTA and W
   by the equations
      RA  = PHI  - pi/2 
      DEC = pi/2 - DELTA 
      W   = W 
   In the text file, RA, DEC, and W are defined as follows: 
                                   2      ____ 
                              RA2*t       \ 
      RA  = RA0  + RA1*t/T  + ------   +  /     a  sin theta 
                                 2        ----   i          i 
                                T           i 
                                    2     ____ 
                              DEC2*t      \ 
      DEC = DEC0 + DEC1*t/T + -------  +  /    d  cos theta 
                                  2       ----  i          i 
                                 T          i 
                                  2      ____ 
                              W2*t       \ 
      W   = W0   + W1*t/d   + -----   +  /     w  sin theta 
                                 2       ----   i          i 
                                d          i 
   where: 
      d = seconds/day 
      T = seconds/Julian century 
      a , d , and w  arrays apply to satellites only. 
       i   i       i 
      theta  = THETA0(i) + THETA1(i)*t/T are specific to each 
           i 
      planet. 
   These angles---typically nodal rates---vary in number and 
   definition from one planetary system to the next. 
Note that the items necessary to compute the Euler angles must have been loaded into the kernel pool (by one or more previous calls to ldpool_c). The Euler angles are typically stored in the P_constants kernel file that comes with CSPICE. 1) In the following code fragment, tipbod_c is used to transform a position in J2000 inertial coordinates to a position in bodyfixed coordinates. The 3-vector postn represents the inertial position of an object with respect to the center of the body at time et. #include "SpiceUsr.h" . . . /. First load the kernel pool. ./ furnsh_c ( "PLANETARY_CONSTANTS.KER" ); /. Next get the transformation. ./ tipbod_c ( "J2000", body, et, tipm ); /. Convert position to bodyfixed coordinates. ./ mxv_c ( tipm, postn, bfxpos );
The kernel pool must be loaded with the appropriate coefficients (from the P_constants kernel or binary PCK file) prior to calling this routine.
   1) If the kernel pool does not contain all of the data required 
      for computing the transformation matrix, tipm, the error 
      SPICE(INSUFFICIENTANGLES) is signalled. 
   2) If the reference frame ref is not recognized, a routine 
      called by tipbod_c will diagnose the condition and signal an
      error.
   3) If the code body is not recognized, the error is diagnosed by a 
      routine called by tipbod_c. 
   4) If the input string pointer is null, the error 
      SPICE(NULLPOINTER) will be signaled.
   5) If the input string has length zero, the error 
      SPICE(EMPTYSTRING) will be signaled.
    None. 
N.J. Bachman (JPL) W.L. Taber (JPL) K.S. Zukor (JPL)
None.
   -CSPICE Version 1.0.1, 13-APR-2000 (NJB) 
      Made some minor updates and corrections in the code example.
   -CSPICE Version 1.0.0, 08-FEB-1998 (NJB)
      Based on SPICELIB Version 1.0.3, 10-MAR-1994 (KSZ).
transformation from inertial position to bodyfixed