drdlat_c

 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 )
```

#### Abstract

```
Compute the Jacobian of the transformation from latitudinal to
rectangular coordinates.
```

```
None.
```

```
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

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).
```

```
None.
```

```
Error free.
```

```
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 = dr_dt   ( t );
latv = dlon_dt ( t );
latv = 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 );
```

```
None.
```

```
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
```
`Wed Apr  5 17:54:32 2017`