You are currently looking at a:
Welcome to my tesseract viewer! In the center you'll find the viewer, on the right you'll find the controls, and on this tab are the instructions and explanation behind the tesseract viewer.
Some quick start tips:
For a detailed explanation, press the above tabs for a walkthrough of how to interpret the fourth spatial dimension!
What exactly is the hypercube? Here's a simple way to think about it.
In 0 dimensions, what we have are points. If we connect two points, separated in the x-direction we get a [1D line].
Connect the two tips of a line with another line that's separated in the y-direction, and we get a [2D square].
Connect every corner of one square to another separated in the z-direction, and we get a [3D cube].
Finally, we get to the wonky case. Take a cube and another cube, separated in the ethereal w-direction, and connect each corner to their corresponding corners, and we get a [4D hypercube/tesseract]!
If you don't get that last step, that's normal; lets try to understand what this "4th dimension" is!
What is the fourth dimension? A common answer might be "it's time!" That's not wrong; when we say "four dimensional", it can refer to anything that requires four numbers to describe an object's size or location. What this viewer does however, is to visualize a fourth spatial dimension that extends our 3d space, in an analogous way that our three dimensional space extends two dimensions.
So, we treat coordinates as having a length, depth, height, and "depth in the fourth dimension", which I'll just call "w distance" for short. So things that are in "our 3d space" have a w distance of 0, things further away in the ethereal fourth dimension will have a larger w value, and things closer in the fourth dimension will have a smaller w value. (for this visualization, the unit hypercube has a central w depth of 5, so the nearest vertices have w of 4, and the furthest have w of 6)
But we can't really see this w dimension, since it's in some ethereal space outside of our three dimensions, so how do we visualize it? We do it by projecting the four dimensional hypercube into three dimensions, and project this "3d shadow" on our screens!
To understand how we project the 4d cube into three dimensions, we can draw an analogy from how we visualize 3d objects on our 2d screen. [Click here to view the 3d cube object].
Observe how the near points appear "larger" than the further points. In other words, even though it is a unit cube where the x and y values are equivalent, (let the x-axis be along the length of your screen and the y-axis along the height) the projected x and y values of the further vertices are shrunken. In fact, they are divided by the distance from the camera, and hence the projected x and y values of coordinates with greater z values (where higher z means deeper into the screen) are smaller than those with smaller z values, even though they have the same actual x and y values.
In essence, things that are twice as far away appear half as big. That's the essence of projection from 3d space to 2d; divide x and y values by the z distance, and we have projection onto our screens!
That is exactly how we represent the ethereal fourth dimension. To display our points in 3d space, we divide all x, y and z coordinates by their w distance from the camera. Things that are further away in the w direction just appear shrunken! So that inner cube in the [hypercube] may look smaller, but it's the same size, just further away in the w direction!
The next concept to understand in the fourth dimension is rotation. In [2d], we can only truly rotate about a single point (press A/D). In [3d], we can rotate about an axis. If you press Left/Right, you rotate the cube about its y-axis. What this rotation means is that the x values and z values vary from -1 to 1, but y values are constant. Similarly, rotation about the z-axis (A/D) means that z-values are constant as x and y vary, while rotation about the x-axis (up/down) means that x values are constant, while y and z values vary.
One small observation to take note of is that when rotating about an axis, e.g. the x-axis, the x values still appear to vary. They only appear so because their z values are changing, which changes their scaling (as explained in [projection]).
Now, in the fourth dimension, we move up one more level. 2d objects rotate about points, 3d objects rotate about axes, while 4d objects rotate about planes. That's weird, but all this means is that 2 values will be fixed (along the plane), while 2 values change! [Reset the view of the 4d cube], and try out a rotation about a plane. Visualize the fact that even though it looks like certain values are changing, it could simply be because of the w value's projection effect! (recall that the inner cube is the same size as the outer cube)
Hopefully, after reading all that, you have a better understanding of the canonical view of the hypercube/tesseract! There are some final things that are worth taking note of.
For those interested in the technology, this visualizer was made using raw WebGL. You may view the [source code here].
|Toggle 3d Anaglyph||Spacebar|
|View Other Shapes||Shift/Ctrl|
|Rotate About X-Axis||Up/Down Arrow Keys|
|Rotate About Y-Axis||Left/Right Arrow Keys|
|Rotate about Z-Axis||a/d|
|Rotate About XY-Plane||w/s|
|Rotate About XZ-Plane||i/j|
|Rotate About YZ-Plane||j/l|