drdlat_c

Index Page drdlat_c
A B C D E F G H I J K L M N O P Q R S T U V W X
Procedure Abstract Required_Reading Keywords Brief_I/O Detailed_Input | Detailed_Output Parameters Exceptions Files Particulars Examples | Restrictions Literature_References Author_and_Institution Version Index_Entries
#### Procedure
       void drdlat_c ( SpiceDouble   r,
                       SpiceDouble   lon,
                       SpiceDouble   lat,
                       SpiceDouble   jacobi[3][3] )
#### Abstract
       Compute the Jacobian of the transformation from latitudinal to
       rectangular coordinates.
#### Required_Reading
       None.
#### Keywords
       COORDINATES
       DERIVATIVES
       MATRIX
#### Brief_I/O
       Variable  I/O  Description
       --------  ---  --------------------------------------------------
       radius     I   Distance of a point from the origin.
       lon        I   Angle of the point from the XZ plane in radians.
       lat        I   Angle of the point from the XY plane in radians.
       jacobi     O   Matrix of partial derivatives.
#### Detailed_Input
        radius     Distance of a point from the origin.

        lon        Angle of the point from the XZ plane in radians.
                   The angle increases in the counterclockwise sense
                   about the +Z axis.

        lat        Angle of the point from the XY plane in radians.
                   The angle increases in the direction of the +Z axis.
#### Detailed_Output
       jacobi     is the matrix of partial derivatives of the conversion
                  between latitudinal and rectangular coordinates. It has
                  the form

                      .-                                -.
                      |  dx/dr     dx/dlon     dx/dlat   |
                      |                                  |
                      |  dy/dr     dy/dlon     dy/dlat   |
                      |                                  |
                      |  dz/dr     dz/dlon     dz/dlat   |
                      `-                                -'

                 evaluated at the input values of r, lon and lat.
                 Here x, y, and z are given by the familiar formulae

                     x = r * cos(lon) * cos(lat)
                     y = r * sin(lon) * cos(lat)
                     z = r *            sin(lat).
#### Parameters
       None.
#### Exceptions
       Error free.
#### Files
       None.
#### Particulars
       It is often convenient to describe the motion of an object
       in latitudinal coordinates. It is also convenient to manipulate
       vectors associated with the object in rectangular coordinates.

       The transformation of a latitudinal state into an equivalent
       rectangular state makes use of the Jacobian of the
       transformation between the two systems.

       Given a state in latitudinal coordinates,

            ( r, lon, lat, dr, dlon, dlat )

       the velocity in rectangular coordinates is given by the matrix
       equation
                      t          |                               t
          (dx, dy, dz)   = jacobi|             * (dr, dlon, dlat)
                                 |(r,lon,lat)

       This routine computes the matrix

                |
          jacobi|
                |(r,lon,lat)
#### Examples
       Suppose you have a model that gives radius, longitude, and
       latitude as functions of time (r(t), lon(t), lat(t)), and
       that the derivatives (dr/dt, dlon/dt, dlat/dt) are computable.
       To find the velocity of the object in rectangular coordinates,
       multiply the Jacobian of the transformation from latitudinal
       to rectangular (evaluated at r(t), lon(t), lat(t)) by the
       vector of derivatives of the latitudinal coordinates.

       This is illustrated by the following code fragment.

          #include "SpiceUsr.h"
                .
                .
                .

          /.
          Load the derivatives of r, lon and lat into the
          latitudinal velocity vector latv.
          ./
          latv[0] = dr_dt   ( t );
          latv[1] = dlon_dt ( t );
          latv[2] = dlat_dt ( t );

          /.
          Determine the Jacobian of the transformation from
          latitudinal to rectangular coordinates, using the latitudinal
          coordinates at time t.
          ./
          drdlat_c ( r(t), lon(t), lat(t), jacobi );

          /.
          Multiply the Jacobian by the latitudinal velocity to
          obtain the rectangular velocity recv.
          ./
          mxv_c ( jacobi, latv, recv );
#### Restrictions
       None.
#### Literature_References
       None.
#### Author_and_Institution
       W.L. Taber     (JPL)
       N.J. Bachman   (JPL)
#### Version
       -CSPICE Version 1.0.0, 20-JUL-2001 (WLT) (NJB)
#### Index_Entries
       Jacobian of rectangular w.r.t. latitudinal coordinates
#### Link to routine drdlat_c source file drdlat_c.c

    Thu Apr 16 08:57:46 2009