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. Whenktrl
is equal to zero the Euler rotation matrix is copied into the argumenttrans
; otherwise, the Euler rotation matrix is combined with the rotation matrix already stored in argumenttrans
. When the value of argumentktrl
is negative, the Euler rotation is applied before the rotation stored in argumenttrans
. When the value is positive, the Euler rotation is applied after the stored rotation. The argumentktrl
allows thus to easily combine the functionalities of subroutinesut550()
,ut551()
andut552()
.
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