euler_matrix_new


This IDL facility provides a means to generate a 3D rotation Euler matrix parametrized by three angles and three axes of rotation.

Location in HEALPix directory tree: src/idl/misc/euler_matrix_new.pro 


FORMAT

IDL> matrix = EULER_MATRIX_NEW(a1, a2, a3 [, X=, Y=, ZYX=, DEG=])


QUALIFIERS

matrix
a 3x3 array containing the Euler matrix
a1
input, float scalar, angle of the first rotation, expressed in radians, unless DEG (see below) is set
a2
angle of the second rotation, same units as a1
a3
angle of the third rotation, same units as a1


KEYWORDS

DEG=
if set, the angles are in degrees instead of radians
X=
if set, uses the classical mechanics convention (ZXZ):
rotation a1 around original Z axis,
rotation a2 around intermediate X axis,
rotation a3 around final Z axis
(see Goldstein for more details).
default:this convention is used

Y=
if set, uses the quantum mechanics convention (ZYZ):
rotation a1 around original Z axis,
rotation a2 around intermediate Y axis,
rotation a3 around final Z axis.

ZYX=
if set, uses the aeronautics convention (ZYX):
rotation a1 around original Z axis,
rotation a2 around intermediate Y axis,
rotation a3 around final X axis.


DESCRIPTION



box[t]euler_matrix_new  allows the generation of a rotation Euler matrix. The user can choose the three Euler angles, and the three axes of rotation.

If vec is an Ntex2html_wrap_inline$×$3 array containing N 3D vectors,
vecr = vec # euler_matrix_new(a1,a2,a3,/Y)
will be the rotated vectors


This routine supersedes euler_matrix, which had inconsistent angle definitions. The relation between the two routines is as follows :
euler_matrix_new(a,b,c,/X) = euler_matrix(tex2html_wrap_inline$-$a,tex2html_wrap_inline$-$b,tex2html_wrap_inline$-$c,/X)
= Transpose(euler_matrix(c, b, a,/X))
euler_matrix_new(a,b,c,/Y) = euler_matrix(tex2html_wrap_inline$-$a, b,tex2html_wrap_inline$-$c,/Y)
= Transpose(euler_matrix(c,tex2html_wrap_inline$-$b, a,/Y))
euler_matrix_new(a,b,c,/Z) = euler_matrix(tex2html_wrap_inline$-$a, b,tex2html_wrap_inline$-$c,/Z)


RELATED ROUTINES

This section lists the routines related to euler_matrix_new

idl
version 6.1 or more is necessary to run euler_matrix_new.
rotate_coord
apply a rotation to a set of position vectors and polarization Stokes parameters.

Version 3.11, 2013-04-24