as submitted for presentation as a Research Paper at the ACM/SIGGRAPH '96 Conference held August 4-9, 1996 in New Orleans, Louisiana
Moving a point a unit length in any direction yields a line segment, which is bounded by two points. Moving that line segment a unit length in a perpendicular direction yields a square, which is bounded by four line segments and four points. Moving that square in a perpendicular direction yields a cube, bounded by six squares, twelve line segments and eight points. The formula for these numbers can be generalized. Move a primitive of dimension N in a perpendicular direction to its components and you will get:
In the case where M=N+1, you get one, since the number you started with was zero. In the case where M=0, points, you get twice the number of points you started with, since there are no primitives of dimension less than zero. In all other cases the values can be found recursively.
So continuing with the cube, you move it in a perpendicular direction and you get one hypercube, eight cubes, twenty-four squares, thirty-two line segments, and sixteen points. This information is summarized in the following table:
primitive | points | lines segments | squares | cubes | hypercubes |
---|---|---|---|---|---|
point | 1 | 0 | 0 | 0 | 0 |
line segment | 2 | 1 | 0 | 0 | 0 |
square | 4 | 4 | 1 | 0 | 0 |
cube | 8 | 12 | 6 | 1 | 0 |
hypercube | 16 | 32 | 24 | 8 | 1 |
Most values are given by two times the number above plus the number to the upper left. Thus the entries in this table can be determined by simple arithmetic. Figuring out what it means is tougher.
Now what if hyperbeings came to us to tell us about the hypercube? If they told us it was bounded by eight cubes, twenty-four squares, thirty-two line segments and sixteen points, we would say there is no such figure, and besides, a cube can't bound anything, since is fills (3D) space. If they said you generated a hypercube by moving a cube in a perpendicular direction, they would tell you there is no such direction. They could show us an unfolded hypercube (Figure 4), and tell us that these eight cubes can be folded up into a cube, with each cube rotating about a square it borders on. We would say that there is no way to rotate about a square. They could show us projections of a hypercube, both without perspective (Figure 5) and with it (Figure 6a). These last two might confuse us, and lead us to ask why the one cube is sometimes inside the other and sometimes isn't. They would tell us that the one cube is never inside the other, because this is only a projection. They would probably also have to remind us that all the oddly shaped hexahedrons in the pictures were in fact true cubes, with right angles and square faces. We would probably be confused by this.
To name the parts of the tesseract, let us assume it is oriented on a compass rose on the ground, and we are south of it, looking north. The (trapezoid) cube closest will be the South Cube, and the one farthest away the North Cube. The other four trapezoids then become the East, West, Top and Bottom Cubes. The outer cube, which is closest in w, let's call the Hither Cube, and call the smaller inner cube, which is farthest in w, the Yon Cube. Let us assume that all coordinate values range from zero to one as well. To number the points in the figure, construct a binary number for each point where the w value is the eight's place, the x value the four's place, the y value the two's place, and the z value the one's place. Two opposite diagonals are 0000 = 0 and 1111 = 15.
Consider the West Cube, which is on our left. This cube represents a 3-D slice of the 4-D hypercube where x=0. Since x is held constant, in this trapezoid the x direction is appropriated for showing w instead. Likewise the East Cube also uses the x direction for w, since it is a slice where x=1. Th e Top and Bottom Cubes show slices for y=1 and y=0 respectively, and use the y axis to show w. And of course the Front and Back Cubes show slices at z=0 and z=1 respectively and use the z axis to show w.
Armed with the above informati on, it becomes possible to map 4-D data onto the 3-D tesseract. remembering ou r 32x32x32x32 array in memory, here is what we do with it. Consider the front bottom leftmost point of the Left Cube. Its 4-D coordinates are {0, 0, 0, 0}, and so its number is 0000 = 0. Its data value is simply the value at [0][0][0 ][0] in the array, while its 3-D coordinates are {0.0, 0.0, 0.0}. Now conside r the front bottom rightmost point of the Left Cube. Its 4-D coordinates are { 0, 0, 0, 1}, and so its number is 0001 = 1. Its data value is the value at [0 ][0][0][31] in the array, while its 3-D coordinates are {0.25, 0.25, 0.25}. A ny points on a line between these two can have both their coordinate and data v alues determined directly by interpolation between 0000 and 0001. All other p oints can be calculated by further interpolation.
Once the 4-D data is mapped i nto the 3-D tesseract shape, isosurfaces can be calculated inside each trapezoi d and cube if desired. These will represent surfaces of constant value in a cu be where one 4-D coordinate is at its minimum or maximum. Up to four such surf aces can be combined before -- in general -- surfaces will begin to obscure eac h other.
sqrt(x^2 + y^2 + z^2 - t^2) = 0
This structure has particular phy sical significance because, relative to an observer at the origin, all 4-D spac e-time points on the hypercone are "light-like" (able to transfer information to or from the observer only if moving at velocity c), while all 4-D points inside the positive and negative ends of the hypercone are "time-like" (able to transfer information to or from the observer at velocities less than c) and all 4-D points outside the hypercone are "space-like" (unable to communicate with the observer).
By filling the 4-D array with the values given by the above equation and then generating the four cubes where each variable (x, y, z and w) is in turn held at zero -- in other words the Yon, Left, Back and Bottom Cubes -- I was able to produce the visualization shown in Figures 7a-k. Only the value of the isosurface constant is changing in the pictures. The 3-D spherical symmetry of the shape is readily aparrent as a spacial duplication of pattern, looking almost like flowering shapes.
The second example is a 4-D quadratic surface, given by AX^2 + BX + C = 0. By assigning values of w, x, y and z to A, B, C and X, and ranging from -1 to 1, I generated 4-D than was then mapped to the 3-D tesseract in the same way. The results, isosurfaced with constants ranging from -2 to 2 in the pictures (Figures 8a-k), show 3-D slices of 4-D surfaces. Such surfaces can often generated in decision analysis, as surfaces of constant utility, but usually are not because of the difficulty of displaying them. Not that where the surface seems to crease, there is in fact a 4-D fold, analogous to the crease in an unfolded cube.
1. Robert A. Heinlein "And He Built a Crooked House" published in Astounding Science Fiction Magazine 1940 2. George Gamov One Two Three... Infinity Bantam Books 1947 3. Thomas F. Banchoff Beyond the Third Dimension -- Geometry, Computer Graphics and Higher Dimensions Scientific American Library 1990