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

    Wed Apr  5 17:54:32 2017