[HOME] MAM2000 (Essays/SciAm) [Prev][Top][Up][Skip][Next]

Rotating the Corners of the Cube

HYPERCUBE is divided into three major sections following the initialization of vert: the selection of the desired rotation of the hypercube, the calculation of the coordinates of the rotated hypercube and the display of the result on the monitor. If the rotating object were three-dimensional, one could select the rotation by specifying the orientation of the axis of rotation and the angle of the rotation about the axis. For a rotating four-dimensional object, however, picking an axis of rotation does not determine a rotating plane: remember that there are two nonequivalent directions perpendicular to a given plane, On the other hand even in four-dimensional hyperspace it remains true, as it does in ordinary space, that a rotation can affect just two dimensions at a time. If a three-dimensional object is rotated, two of its dimensions swing into each other while the third dimension remains fixed. Similarly, when a four-dimensional object is rotated, two dimensions change direction in the space while the other two remain fixed.

There are many ways a four-dimensional object can be rotated to a new position. It turns out, however, that any position can be reached by applying a sequence of rotations limited to motions within the planes defined by the coordinate axes of the surrounding four-dimensional space. There are four coordinate axes in a four-dimensional space, numbered, say, from I to 4, and there are six ways any two of them can be combined. Hence there are six planes within a four-dimensional space determined by the coordinate axes: plane 1-2, the plane determined by axes I and 2, plane 1-3, plane 1-4, plane 2-3, plane 2-4 and plane 3-4.

For each of the six planes there is a corresponding kind of rotation, which can be specified by a 4-by-4 square matrix of 16 numbers. The six rotation matrixes are named rot12, rot13, rot14, rot23, rot24 and rot34. The user of the program must type in the name of the kind of matrix selected and the angle of rotation the matrix will generate. For example, typing "rot23" followed by "60" would cause a rotation of 60 degrees within the plane defined by the second and the third axes. [an error occurred while processing this directive]