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