next up previous contents index
Next: Symbols Up: X-PLOR Language Previous: Three-dimensional Vectors

33 Matrices

    The matrix construct allows one to specify a 33 real matrix. There are several modes available to specify rotation matrices. An arbitrary 33 matrix can be specified by using the MATRix construct. Note: all rotations are counterclockwise.

<matrix>:==
AXIS <vector> <real>
specifies input through the axis vector and the rotation angle .
EULEr <vector>
  specifies input through the Eulerian angles ,,. is the rotation around the z axis, around the new x axis, and around the new z axis.
LATTman <vector>
  specifies input through Lattman's angles (, , ).
MATRix <vector> <vector> <vector>
specifies direct input of the matrix by three 3d- vectors.
QUATernions
  <real> <real> <real> <real> specifies quaternions , , , , which are defined as

 

with the constraint

SPHErical <vector>
specifies input through spherical polar angles , , . and specify the rotation axis. is the inclination versus the y-axis; is the azimuthal angle, i.e., the angle between the x-axis and the projection of the axis into the x,z plane; and is the rotation around the rotation axis.

In the following example, a rotation matrix is specified by a rotation axis (2,3,4) and a rotation angle (40) around the axis (counterclockwise rotation):

AXIS=( 2, 3, 4 )  40.

In the next example, a matrix is specified by direct input:

MATRix=( 1. 3. 5. )
       ( 4. 2. 1. )
       ( 2. 1. 8. )

The last example shows how to specify a rotation matrix by using the Eulerian angles ,,:

EULEr=( 30. 40. 120. )



Web Manager
Sat Mar 11 09:37:37 PST 1995