4-D Polytope Viewer

Michael Gibbs

What is a polytope? A polytope is a generalization of the idea of a polygon or polyhedra to any number of spatial dimensions. It consists of a number of straight edges and polygonal faces. In particular, I am interested in visualizing four dimensional polytopes and lattices for my work on quantized spacetime.

This applet does not run on some older Java Virtual Machines. In particular, if you have an iMac with system 8.5 that is using Apple's Macintosh Runtime for Java (MRJ) version 2.0, you should upgrade to the latest version of MRJ, which can be downloaded by going to URL http://asu.info.apple.com/. The applet runs fine on Macintosh Runtime for Java (MRJ) version 2.1.4. I have had no problem with the applet on any PCs.

The following applet will let you rotate fifteen different polytopes.

Draw4D Applet

There are six scroll bars which rotate the image about the six principal planes. The ones on the right and bottom are the rotations in normal 3-dimensional space.

The fifteen polytopes the applet will rotate are:


The polytope may be viewed in any of 5 modes:

There are two stereo modes:

In cross-eyed mode, your left eye looks at the right image and your right eye looks at the left image to get the 3-D effect. In wall-eyed mode, your left eye looks at the left image and your right eye looks at the right image.

The colors shade through the spectrum according to the location in the fourth dimension. The colors go through red, orange, yellow, green, cyan, blue, magenta, and gray, with red being the most negative values and gray being the most positive values.

The red/blue mode gives a good stereoscopic effect through red and blue 3-D glasses. The other stereoscopic modes require you to cross (or uncross) your eyes to get an image. If the red lens is over your left eye and the blue lens over your right eye, use the wall-eyed setting. If they are blue left, red right, use the cross-eyed setting.

Polytope Properties

PolytopeVerticesEdgesFacesVolumes Self-DualCentral
Hypercube 16 32 24 8 NOYES
Simplex 5 10 10 5YES NO
Cross 8 24 32 16 NOYES
24-Cell 24 96 96 24YESYES
120-Cell 6001200 720120 NOYES
600-Cell 120 7201200600 NOYES
Truncated Simplex 10 30 30 10YES NO
Truncated Hypercube 32 96 88 24 NOYES
3x3 Cube 9 18 15 6 NO NO
3x3 Cross 6 15 18 9 NO NO
6x6 Cube 36 72 48 12 NOYES
6x6 Cross 12 48 72 36 NOYES
Icosa-Cylinder 24 72 70 22 NOYES
Icosa-Cone 13 42 50 21 NO NO
Hypercubic Grid 81 216 216 96 NOYES


The first six of these are the regular polytopes in four dimensions. A regular polytope has every edge the same length, every face the same shape, and every volume the same shape.

The dual of a polytope is gotten by replacing each vertex by a volume, edge by a face, face by an edge, and volume by a vertex. The hypercube and cross polytopes are duals of one another, as are the 120-Cell and 600-Cell. A polytope is self-dual if its dual is a polytope of the same type.

The column labelled Central indicates whether the polytope has central symmetry, that is, if it is unchanged by reflection through its center.

As you can see from the table, the 24-Cell is very special, being the only centrally symmetric self-dual polytope. The only other polytopes with this property are the polygons in two dimensions with even numbers of edges. The 24-Cell is also an orientable polytope, which means that it is possible to assign a direction to each of its edges such that every two dimensional face is bounded by a cycle. All polygons have this property, and in three dimensions, the octahedron has this property. None of the other polytopes shown here are orientable.

The 24-Cell is unique in having no analogue in any other dimension.

Note that the Hypercubic Grid is not technically a polytope, but is useful in visualizing hypercubic lattices. The truncated simplex is a polytope, but not a regular polytope, since it has 5 tetrahedral volumes and 5 octahedral volumes. The truncated hypercube has 16 tetrahedral faces and 8 truncated cube faces.

The 3x3 Cube, 3x3 Cross, 6x6 Cube, and 6x6 Cross are specific instances of the general MxN Cube and MxN Cross. The hypercube is the 4x4 Cube, and the cross polytope is the 4x4 Cross. The MxN Cube and the MxN Cross are dual polytopes. In both cases, start with a M sided polygon in the X1-X2 plane and a N sided polygon in the X3-X4 plane.

The MxN Cube is the product of these two polygons having MN vertices. Each point is a vertex of both an M sided polygon and an N sided polygon. There are 2MN edges, 2 for each point, running to the next vertex on the M sided polygon and to the next vertex on the N sided polygon. There are MN+M+N faces. M of them are N sided polygons, N of them are M sided polygons, and MN of them are rectangles. The MxN Cube can be viewed as a ring of M N-prisms wrapped through a ring of N M-prisms, giving a total of M+N volumes. Projecting the X4 dimension down to the X1 dimension makes the MxN Cube look like a (prismatic) torus.

The MxN Cross is the sum of the two polygons, having M+N points, the M sided polygon with its X3 and X4 coordinates equal to zero and the N sided polygon with its X1 and X2 coordinates equal to zero. Every point on one polygon is connected to all points in the other polygon, giving MN+M+N edges, not necessarily all the same length. There are 2MN triangular faces formed by going from a point on one polygon, to two adjacent points on the other polygon. There are MN tetrahedral volumes, containing two adjacent points from each polygon.


PolytopeVerticesEdgesFacesVolumes
MxN Cube MN 2MN MN+M+NM+N
MxN CrossM+NMN+M+N 2MN MN

Tiling

Of these polytopes, the following will tile flat four dimensional space:


C++ Program

I have created a DOS program which will display a number of three and four dimensional polytopes and rotate them using keys on the keyboard. The polytopes can be rotated about any of the six rotation axes in four dimensional space. The C++ program can rotate the polytopes faster and more smoothly than the applet, and has an additional feature which lets you take a three dimensional slice out of a four dimensional polytope. The slicing plane can be moved through the polytope in a smoothly animated fashion. There are several choices as to the projection used to display the polytope (same as the applet):

  1. Black and white monoscopic - single image white lines on black background projected into the plane of the screen.
  2. Black and white stereoscopic - two side by side white on black images which when viewed with crossed eyes or a viewer which effectively separates your eyes produces a three dimensional projection of the polytope.
  3. Color monoscopic - single image which uses colors shading from red to violet through the spectrum to represent position in the fourth dimension.
  4. Color stereoscopic - side by side images which use color to represent the fourth dimension as above.  This mode presents all four dimensions to the viewer.
  5. Red/Blue stereoscopic - overlayed red and blue images at slightly different aspect angles let you use red/blue 3-D glasses to get a three dimensional effect.  This is especially nice for viewing the three dimensional polyhedra.
There is also a mode which allows you to take three dimensional slices of a four dimensional polytope (or two dimensional slices of a three dimensional polyhedron).  The + and - keys let you slide the plane of the slice back and forth through the polytope so you can use time as the fourth dimension if you wish.  All viewing modes and rotatability are available to view a slice of a polytope.  Included with the viewer are 10 polyhedra and 8 polytopes:

Polyhedra: tetrahedron, octahedron, cube, dodecahedron, icosahedron, rhombic dodecahedron, rhombic 30-hedron, soccer ball, stellated dodecahedron, stellated icosahedron.

Polytopes: simplex, cross, hypercube, 24-cell, 120-cell, 600-cell, truncated simplex, 2x2x2x2 hypercubic grid

You can add more polytopes if you wish by altering a text file that specifies the polytope menu.  You must create your own polytope file, of course.  The format of the file is straightforward and explained in detail in the README file.

You can download a PKZIPed DOS version of DRAW4D by clicking here. Use PKUNZIP to uncompress it and read the README.TXT file for instructions on how to use it.

The Macintosh version of Draw4D can be gotten by clicking here .

Stereoscopic view of 24-cell with color used for the fourth dimension:

Stereoscopic view of 120-cell with color used for the fourth dimension:

Stereoscopic view of 600-cell with color used for the fourth dimension:

This page is a mirror - original location

Cosmos page | Hyperspace | Other Dimensions in Quantum Physics



images not loading? | broken links? | suggestions? | criticism?

contact me

page history
page uploaded 26 June 2000

content by Michael Gibbs