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