| drotat |
|
Table of contents
Procedure
DROTAT ( Derivative of a rotation matrix )
SUBROUTINE DROTAT ( ANGLE, IAXIS, DMOUT )
Abstract
Calculate the derivative with respect to the angle of rotation
of a 3x3 coordinate system rotation matrix generated by a
rotation of a specified angle about a specified axis.
Required_Reading
ROTATION
Keywords
DERIVATIVE
MATRIX
ROTATION
Declarations
IMPLICIT NONE
DOUBLE PRECISION ANGLE
INTEGER IAXIS
DOUBLE PRECISION DMOUT ( 3,3 )
Brief_I/O
VARIABLE I/O DESCRIPTION
-------- --- --------------------------------------------------
ANGLE I Angle of rotation (radians).
IAXIS I Coordinate axis number (X=1, Y=2, Z=3).
DMOUT O Derivative of rotation matrix [ANGLE] w.r.t. angle
IAXIS
Detailed_Input
ANGLE is the angle given in radians, through which the rotation
is performed.
IAXIS is the coordinate axis number of the rotation. The X, Y,
and Z axes have indices 1, 2 and 3 respectively.
Together ANGLE and IAXIS define the coordinate system
rotation [ANGLE] .
IAXIS
Detailed_Output
DMOUT is the derivative of the rotation matrix with respect to
the angle of rotation. That is, DMOUT is the derivative
with respect to ANGLE of the matrix [ANGLE] .
IAXIS
(The rotation matrix being differentiated describes
the rotation of the COORDINATE system through ANGLE
radians about the axis whose index is IAXIS.)
Parameters
None.
Exceptions
1) If the axis index is not in the range 1 to 3, the error
SPICE(BADAXIS) is signaled.
Files
None.
Particulars
A coordinate system rotation by ANGLE radians rotation about
the first, i.e. x-axis, [ANGLE] is described by
1
| 1 0 0 |
| 0 cos(ANGLE) sin(ANGLE) |
| 0 -sin(ANGLE) cos(ANGLE) |
A coordinate system rotation by ANGLE radians rotation about the
second, i.e. y-axis, [ANGLE] is described by
2
| cos(ANGLE) 0 -sin(ANGLE) |
| 0 1 0 |
| sin(ANGLE) 0 cos(ANGLE) |
A coordinate system rotation by ANGLE radians rotation about
the third, i.e. z-axis, [ANGLE] is described by
3
| cos(ANGLE) sin(ANGLE) 0 |
| -sin(ANGLE) cos(ANGLE) 0 |
| 0 0 1 |
The derivatives of these matrices are:
about the x-axis
| 0 0 0 |
| 0 -sin(ANGLE) cos(ANGLE) |
| 0 -cos(ANGLE) -sin(ANGLE) |
about the y-axis
| -sin(ANGLE) 0 -cos(ANGLE) |
| 0 0 0 |
| cos(ANGLE) 0 -sin(ANGLE) |
about the z-axis
| -sin(ANGLE) cos(ANGLE) 0 |
| -cos(ANGLE) -sin(ANGLE) 0 |
| 0 0 0 |
Examples
If ROTATE is called from a FORTRAN program as follows:
CALL DROTAT (PI()/4, 3, DMOUT)
then DMOUT will be
|-SQRT(2)/2 SQRT(2)/2 0 |
|-SQRT(2)/2 -SQRT(2)/2 0 |
| 0 0 0 |
Restrictions
None.
Literature_References
None.
Author_and_Institution
J. Diaz del Rio (ODC Space)
W.L. Taber (JPL)
Version
SPICELIB Version 1.1.0, 12-AUG-2021 (JDR)
Added IMPLICIT NONE statement.
Edited the header to comply with NAIF standard.
SPICELIB Version 1.0.1, 10-MAR-1992 (WLT)
Comment section for permuted index source lines was added
following the header.
SPICELIB Version 1.0.0, 05-NOV-1990 (WLT)
|
Fri Dec 31 18:36:15 2021