Put on your 3D glasses (red on the left).
(Free glasses here.)

Click the **Detach** button and make the graphics window bigger.

3D rotation is by left-button mouse-dragging.

4D rotation is by right-button mouse-dragging (or hold down the shift key, then drag).

Play with the controls!

Troubleshooting here.
If this OpenGL version doesn't work, you might try the non-OpenGL version.

Original 1996 Hypercube here. Disambiguation here.

My Java Notes here.

More Java applets here.

August 17, 2009:

Better explanations will follow on a later date.

For now, just a few remarks...

The applet is capable of displaying various 4D polytopes in addition to the hypercube.
All the regular convex 4D polytopes are supported, as well as several compounds.
I'll probably add some non-convex polytopes when I get around to it.

The **A x B** choice displays a Rectangular Product (see below).

The edges of the 4D polytope are represented as a sort of wireframe in 4D,
only instead of thin wires, I have 4D struts. The struts are 4D hypercylinders.
When their shadows are cast onto a 3-space (from a 4D point light source),
they appear as 3D cylinders.

Actually, if the 4D point light source is not too distant, the 3D cylinders' thickness should vary along their length (they should be truncated cones), since the parts of the hypercylinders that are nearer to the 4D point light source should make larger shadows than those that are farther away from it.

The applet compensates for this 4D perspective effect, displaying constant-thickness cylinders.
However you can un-check the **Compensate** checkbox to see the struts in their natural form with 4D perspective.

There is also a **4d Struts** checkbox that utilizes a different kind of 4D struts (not hypercylinders).
I'll add an explanation of that later (after I refresh my memory about how it works).

The **Pick AxB** button displays the Rectangular Product Picker window.

The **A x B** polytope (in 4 dimensions) is formed as the rectangular product
of two lower-dimensional polytopes (see Coxeter01, p124).
There are two families of them, the **2 x 2s** and the **3 x 1s**.
The **2 x 2** polytopes are rectangular products of two polygons (polygons are 2-dimensional polytopes).
The **3 x 1** polytopes are rectangular products of a 3-dimensional polytope and an edge (a 1-dimensional polytope).

The Picker window has 3 parts:

- The top part allows you to type or paste a formula. An example of a formula is

{4}x{4}, which represents the rectangular product of 2 squares. - The middle part allows you to pick the 3D polytope used to form a
**3 x 1**product. Those all have keyword names, e.g.**C5TET**(Compound of 5 Tetrahedra). - The bottom part allows you to define the two polygons used to form a
**2 x 2**product. By using multiple lines you can make a compound of several**2 x 2**rectangular products.

- {3} is a triangle
- {4} is a square
- {5} is a pentagon
- {5/2} is a pentagram

- Rudy Rucker (Mathematician/Writer -- Hyperspace, Sci Fi, Math)
- Wikipedia - Hypercube
- Mathworld - Hypercube
- The Fourth Dimension by Eric Saltsman

<Dogfeathers Home Page> <Mark's Home Page> <Mark's Java Stuff>

Email: Mark Newbold

This page URL: http://dogfeathers.com/java/hypercube2.html