Contents of the TUMBLE.DOC file
A hypercube (or tesseract) is the four dimensional "solid" analagous to the
cube. Just as you can construct a cube by lifting a square out of its
plane in a direction perpendicular to the plane, so you can construct a
hypercube by lifting a cube out of its "hyperplane" (which is our normal,
three dimensional world) in a fourth direction perpendicular to the
The result is hard to visualize, as our minds have evolved to perceive and
understand a three dimensional world. But, just as a camera or an artist
can project three dimensional objects into a flat picture as a sort of
shadow, so one can project a four dimensional object into our three
dimensional world by simply ignoring the fourth dimension. (An
"orthographic" projection.) The resulting three dimensional object can
then be drawn using conventional perspective techniques, leaving one with a
mass of lines purportedly representing a very strange and unfamiliar three
dimensional object. The projection can be made much clearer by
simultaneously drawing two such perspective drawings side by side in the
manner of an old fashioned stereopticon. This is exactly what HYPERTUMBLE
does, except that the stereo pair is rotated in the first and fourth
dimension (not the first and third) so that your normal perception of depth
also includes some of the fourth dimension.
If you sit back from the monitor and relax your eyes (as if looking into
the distance) the two drawings will seem to diverge, and you will
momentarily see four separate images. Focus on the middle two, and they
will merge into a single, three dimensional object. This will feel very
strange at first, but (no matter what your mother says!) won't hurt your
eyes and will become quite easy with practice.
Initially, you will see a cube absolutely head on, so that it will appear
as a square. The program will select one of six planes and begin rotating
the hypercube. Periodically it will select a new plane and increase or
decrease the component of the hypercubes rotation in that plane. Rotations
involving the fourth dimension may produce radical distortions, while
merely spatial rotations will appear more familiar.
A somewhat simpler version of HYPERCUBE is described in great detail in A.
K. Dewdney's Computer Recreation solumn in the April 1986 issue of
Scientific American. This implementation is done in assembly language
using scaled integers as fixed decimal place numbers: TUMBLE16 uses two
byte integers for four fractional digits while TUMBLE32, somewhat more
conservatively, uses four byte integers and seven fractional digits.
Although either has more than enough accuracy for the screen's resolution,
cumulative rounding error will cause the drawings to shrink and skew and
eventually disappear; press R to reset the hypercube to its original
rotation and "canonical" orientation.
--- JDS, 4/17/86