In [1] Coxeter considers the 24-cell with the 24 vertices

(2,  0,  0,  0),  (0, 2,  0,  0),  (0,  0, 2,  0),  (0,  0,  0, 2)  and  (1,  1,  1,  1) ,

and applies the 4D rotation which sends (u, x, y, z), or in quaternion representation: u + xi + yj + zk,  into the quaternion k * (u + xi + yj + zk) * (1 − i − j − k) / 2.

This rotation has period 12, and a specific vertex forms together with its eleven transforms a skew regular dodecagon consisting of 12 consecutive edges of the 24-cell, a Petrie dodecagon. The 24 vertices together describe two Petrie dodecagons in this way. When the 24-cell is projected along one of the plane-axes of this rotation onto the other plane-axis, one of the Petrie dodecagons appears as a regular dodecagon, and the other one as a regular dodecagram.

So far from Coxeter's article.

This rotational displacement was turned into a uniform rotational motion by setting the angular velocity components to

A:  (ωux ,  ωuy ,  ωuz ,  ωyz ,  ωzx ,  ωxy)  =

60 ( −√(1/3),  −√(1/3),  3/2 − √(1/3);  √(1/3),  √(1/3),  3/2 + √(1/3) ) =

( −34.641016,  −34.641016,  55.358984;  34.641016,  34.641016,  124.641016 ) degrees per time unit.

These components are referred to the body-fixed coordinate system.
This rotational motion has a period of 12 time units; each lap of one time unit will rotate the 24-cell to its next congruent orientation.

This rotational motion is decomposed into the simple rotational motions B and C given by

B:  (ωux ,  ωuy ,  ωuz ,  ωyz ,  ωzx ,  ωxy)  =

75 ( −√(1/3),  −√(1/3),  1 − √(1/3);  √(1/3),  √(1/3),  1 + √(1/3) ) =

( −43.301270,  −43.301270,  31.698730;  43.301270,  43.301270,  118.301270 ) degrees per time unit;

angular speed 150 degrees per time unit, a complete revolution in 2.40 time units;

C:  (ωux ,  ωuy ,  ωuz ,  ωyz ,  ωzx ,  ωxy)  =

15 ( √(1/3),  √(1/3),  1 + √(1/3);  −√(1/3),  −√(1/3),  1 − √(1/3) ) =

( 8.660254,  8.660254,  23.660254;  −8.660254,  −8.660254,  6.339746 ) degrees per time unit;

angular speed 30 degrees per time unit, a complete revolution in 12 time units.

The initial orientation of the 24-cell is such that the space-fixed XY plane is the axis-plane of B, the fast simple rotation, and the space-fixed UZ plane is the axis-plane of C, the slow simple rotation.



The file AB4.ZIP contains the AB4SVDV program and its associated BGI, AS4 and HLP files.
Unpack AB4.ZIP into an arbitrary directory D. This is the whole installation. From this point one can proceed in two ways:

(A) The MS-DOS way: open an MS-DOS box if you run an MS-Windows system, make directory D current and run the batch command...
AA1  for the 24-cell with a pair of Petrie dodecagons,
AA2  for the 24-cell with a dodecagon and a dodecagram (star dodecagon),
AA3  for the 24-cell with the pair of Petrie dodecagons of AA1 and the associated dodecagrams....

or run the command
AB4SVDV [filename with suffix included] 9 2  to run the AB4SVDV program on AS4 files in general.

(B) The MS-Windows way: open Explorer, open directory D and double-click on AA1 (AA1.BAT), AA2 (AA2.BAT) or AA3 (AA3.BAT).

The opening screen shows some general program settings, a copyright notice (*) and a component list with version numbers.
The last entry reads "AB4SVDV  v2.07-2006". This is the program itself. (PIC-01.GIF below).

Remark: When running an MS-DOS program under MS-Windows one can switch between Windowed and Full-screen modes by the keystroke command Alt-ENTER.

PIC-01.GIF: Opening screen

Fig. 1
Opening  screen: Component list with version numbers
(The version numbers in this figure are partly outdated)

Press ENTER twice.

PIC-02.GIF: Debug? Yes or No?

Fig. 2
Choosing DEBUG yields text output, among which a report of deleted data structure elements when program execution is ended.


PIC-03.GIF: Help; Exit; Program run parameters

Fig. 3
HELP and EXIT; Program run parameters

PIC-03.GIF: this screen shows how to get out and how to get help, the command line parameters and the actual parameter settings. Parameter #4 is empty; the program will find the required BGI (Borland Graphics Interface) driver in the current directory.

Press ENTER once.

PIC-04.GIF: Input file as seen by parser

Fig. 4
Input file as seen by the parser

PIC-04.GIF: this screen shows the input file as seen by the parser. Clauses specifying camera positions, vertex coordinates and other items to specify the 4D scenery and its projections onto the 2D computer screen are in white; comments are in blue. In this example the input AS4 file is small enough to fit onto a single screen.

Press ENTER for a last time.

PIC-05.GIF: Initial picture

Fig. 5
Initial picture: two identical perpsective views of 4D scenery
defined by input file

The computer switches to graphics mode. One gets two identical perspective views of the 4D scenery defined in the input file. These pictures look rather weird. This is typical for perspective projections of 4D wireframe figures. (PIC-05.GIF above)

The file COX-2.AS4 (invoked by AA2.BAT) specifies a scenery consisting of the 24 vertices of a 24-cell, a Petrie dodecagon in yellow and a Petrie dodecagram in red.

The file COX-1.AS4 (invoked by AA1.BAT) shows the dodecagon of COX-2.AS4 and its complementary Petrie dodecagon in green.

The file COX-3.AS4 (invoked by AA3.BAT) shows the dodecagons of COX-1.AS4 together with their inscribed dodecagrams.

AB4SVDV is a general program for visualizing 4D wireframe figures. The program is controlled by keystroke commands rather than by windows-style menus.
Whereas AB4SVDV is a general program, it is provided with predefined settings aimed at the study of the 24-cell and its dodecagonal aspects. These presets are put into action by pressing the "a" key followed by "1" ... "7". A second collection of presets is given by "b" followed by "1" ... "9".

Press the two keys "a 1" to obtain the two dodecagonal aspects of the 24-cell, and "a 2" to set the angular velocity bivector so as to produce Coxeter's double rotation (PIC-06.GIF below).

PIC-06.GIF: Dodecagonal aspects of the 24-cell

Fig. 6
Dodecagonal aspects of the 24-cell

Press the spacebar to enter the Running state. The figure starts rotating in steps of 0.10 time units. The left-hand panel shows the slow simple component rotation; the right-hand panel shows the fast simple component rotation.

The 24-cell was aligned in such a way that the slow simple rotation takes place in the XY plane (left-hand window) and the fast one in the UZ plane (right-hand window).


a 1

Sets orientation such that the planes of the slow and fast simple component rotations are the XY plane and the UZ plane, respectively. Sets time to zero and time step to 0.10.

a 2

Sets angular velocity to  (ωux ,  ωuy ,  ωuz ,  ωyz ,  ωzx ,  ωxy)  =
60 ( −√(1/3),  −√(1/3),  3 − √(1/3);  √(1/3),  √(1/3),  3/2 + √(1/3) ) degrees per time unit

a 3

L-isoclinic component (speed 90 deg/[t], period 4 [t])

a 4

R-isoclinic component (speed 60 deg/[t], period 6 [t])

a 5

Fast simple component (speed 150 deg/[t], period 2.4 [t])

a 6

Slow simple component (speed 30 deg/[t], period 12 [t])

a 7

Sets standard orientation without affecting the angular velocity setting. Square aspects of the 24-cell.


b 1

Resets orientation; sets angular velocity to
ωux = ωyz = √(1/2); ωuy = ωzx = √(1/2); ωuz = ωxy = 0 degrees per time unit
(left-isoclinic rotation with period 360)

b 2

Resets orientation; sets angular velocity to
ωux = ωyz = √(1/3); ωuy = ωzx = √(1/3); ωuz = ωxy = √(1/3) degrees per time unit
(left-isoclinic rotation with period 360)

b 3

Sets orientation for dodecagonal aspect

b 3 b 4

Sets orientation for hexagonal aspect

b 5

Modified Coxeter's Double Rotation (double rotation with a period 360)
Presets a6 and a7 refer to the decomposition into isoclinic components.
Presets a8 and a9 refer to the decomposition into simple rotations.

b 6

L-isoclinic component (period 180)

b 7

R-isoclinic component (period 120)

b 8

Fast simple component (period 72)

b 9

Slow simple component (period 360)

The spacebar switches between Running and Stopped.
In Stopped state one performs single steps forwards by the "/" keystroke and backwards by the "\" keystroke.
Vertex numbers are made visible by the keystroke command Ctrl-V. By repeatedly pressing Ctrl-V the vertex numbers are shown in turn in size 1, size 2, size 3, and made to disappear.
With Alt-D a data panel is turned on showing among other things the program's time and time step, and the Parallel/Perspective states of the 4D-to-3D and 3D-to-2D projections (PIC-07.GIF below).

PIC-07.GIF: Data panel superimposed on picture

Fig. 7
Time 0.00: initial situation
Data panel superimposed on picture
The two sets of Euler angles refer to Euler angle representations of the
left and right quaternions of the 4D orientation.
The exact value of RTheta is atan (√(1/2)) + 90 degrees.

In Stopped state one can single-step through the motion, and see that only 0.20 time units are needed to make a 30 degrees rotation of the right-hand figure, whereas the left-hand figure takes 1.00 time units for a 30 degrees rotation. (PIC-08.GIF and PIC-09.GIF below)


Fig. 8
At time 0.20
The star dodecagons in the right-hand window have advanced
30 degrees.




Fig. 9
At time 1.00
The dodecagons in the left-hand window have advanced 30 degrees.
The star dodecagons in the right-hand window have advanced
5 x 30 degrees.

With parallel projections one sees nothing of the fast rotation in the left-hand window and of the slow rotation in the right-hand window.

By repeatedly pressing Alt-P one cycles through the four projection modes 4D-Perspective/3D-Parallel, 4D-Perspective/3D-Perspective, 4D-Parallel/3D-Perspective and back to 4D-Parallel/3D-Parallel.

If one or both of the projections are perspective then the fast rotation component will manifest itself in the left-hand picture, and the slow component will show up in the right-hand picture (PIC-10.GIF below).


Fig. 10
Projection mode: 3D parallel and 4D perspective

If one retains the afterimages of the motion  (Alt-W to switch ON/OFF afterimage retention and Del key (*) to refresh, thus getting rid of unwanted afterimages)  then the left-hand picture will clearly show the five-fold symmetry caused by the 5:1 ratio of the rotation speeds (PIC-11.GIF below).

(*) Under some systems the Del key in the numeric block (with Num Lock OFF) does not work. The Delete key in the six-keys-pad above the four arrow keys does work.


Slow rotation in the XY plane; fast rotation in the UZ plane
Left-hand window: picture of slow rotation perturbed by fast rotation
Right-hand window: picture of fast rotation perturbed by slow rotation

With perspective projections the right-hand picture will continue to rotate fast, but in the meantime it will change slowly its shape.
With each five fast rotations the change pattern returns.
Remark: The solid colors in Fig.11 will appear by decreasing the time step from 0.10 to 0.09 units by pressing F1 once, or by.increasing to 0.11 units by pressing F2 once.

Press "e" in Stopped state to end program execution (PIC-12.GIF below).


Fig. 12
After end of program run

If the program is still in Running state then press the spacebar to get in the Stopped state.

Switch between Graphics and Text modes by pressing ENTER. In Text mode the blue status bar at the bottom shows among other things the Stopped / Running state. In Graphics mode no status bar is presented to keep the picture clean.


AB4SVDV and the associated AS4 and HLP files are in the public domain.
The BGI files are in part property of Borland (Copyright 1987, 1992) and in part of Jordan Hargraphix (Copyright 1991, 1994).
The Borland BGIs may be used free of royalties. The Hargraphix BGIs are shareware.



H.S.M. Coxeter:Two aspects of the regular 24-cell in four dimensions.
Paper nr 3 in F. Arthur Sherk - Peter McMullen - Anthony C. Thompson - Asia Ivic Weiss: Kaleidoscopes - Selected Writings of H.S.M. Coxeter.
John Wiley, 1995, ISBN 0-471-01003-0