European Space Agency

European Space Agency

Royal Belgian Institute for Aeronomy

Royal Belgian Institute for Aeronomy

../_images/whiteSpace.png

ut551 - Initialize an Euler rotation matrix

subroutine  ut551(alpha, beta, gamma, ktrl, trans)
Parameters:
  • alpha [real8,in] :: First Euler angle expressed in degrees

  • beta [real8,in] :: Second Euler angle expressed in degrees

  • gamma [real8,in] :: Third Euler angle expressed in degrees

  • ktrl [integer4,in] :: Control parameter

  • trans (3,3) [real8,in/out] :: Matrix transformation

Description

The subroutine ut551() initializes or modifies the coordinate transformation with the help of Euler angles. The rotation matrix is defined by three consecutive rotations:

  • a rotation around the z-axis by the angle alpha;

  • a rotation around the y-axis by the angle beta;

  • a rotation around the z-axis by the angle gamma.

Note

Note that the rotations are done every time around an axis formulated from the previous rotation.

The argument ktrl controls the way how the rotation matrix trans is produced. When ktrl is equal to zero the Euler rotation matrix is copied into the argument trans; otherwise, the Euler rotation matrix is combined with the rotation matrix already stored in argument trans. When the value of argument ktrl is negative, the Euler rotation is applied before the rotation stored in argument trans. When the value is positive, the Euler rotation is applied after the stored rotation. The argument ktrl allows thus to easily combine the functionalities of subroutines ut550(), ut551() and ut552().

History

  • The subroutine ut551() does not exist in version 1.07 and earlier.

Diagnostics

None

Common Blocks

Dependencies

Called by

None

Calls

None

See also

Reported Bugs

None

Examples

None


UNILIB/tags/v3.02