I've been interested in visualizing 4 dimensional space for a while. I know there are "hacks" that allow humans to visualize 4 dimensional data naturally. For instance, you can use time as one axis and view the changes in a 3 dimensional object over a period of time, which effectively gives you 4 dimensions of freedom. That's not what I'm after. I've wanted to see what the world would be like through the eyes of a being who lives in 4 spatial dimensions and 1 time dimension instead of the usual 3+1.
So, I had an idea to try and improve my 4D visualization skills incrementally. A good start seems to be exploring a 4D cube. It's basically the 4D version of a square or a regular cube. As part of it, I wrote a very small and pretty junky program to try out hypercube exploration. It seemed like somebody might be interested in it, so I thought I would post it.
Summary:
You start at the "lower left" corner of a 4 dimensional grid, 3 squares on an edge. You have 4 axes of motion instead of the usual three. If you ignore one of the axes, you can explore a standard 3x3x3 cube. Adding the final axis in can be a bit mind-bending.
Your view is a series of colored squares. The center square is your current position. The squares to the left and right are the cells next to your current position moving in the x-axis. Similarly, squares up and down relate to the y-axis; squares diagonally up and to the right / down and to the left relate to the z-axis; and squares diagonally down and the to the right / up and to the left relate to the w-axis.
You move from grid cell to grid cell as you see fit to explore the cube. You move your current cell using the numpad. 4 and 6 move left and right in the x-axis; 8 and 2 move up and down in the y-axis; 1 and 9 move down and up in the z-axis; and (the crazy one) 7 and 3 move "up" and "down" in the w-axis. The escape key closes the program. You can also color cells using most of the letter keys (A = blue, S = green, D = teal, F = red, etc.) so you can leave patterns and more or less remember where you've been.
Cutting the grid down to 2x2x2x2 makes it a bit more understandable, but I was able to trick myself into thinking of the grid as a 3D object so I had to move up to 3x3x3x3. One cool thing I've tried is coloring a 3x3x3 cube (made up of x, y, and z axes) so that all the outer edges are, say, blue, and the inner cell is, say red. In 3D, there should be no way to get to the red cell without crossing the blue cells. However, in 4D, the middle cell is connected to (depending on which 3x3x3 grid you picked) 1 or 2 other squares using the 4th dimension. So, you *can* enter the otherwise closed-off cube. This is analogous to flying over walls to get into the middle of, say, a castle--i.e. exploiting a non-blocked axis.
The time you enjoy wasting is not wasted time. Bertrand Russell
Looks neat, but I don't see it lol. I always imagine 4D by thinking a step back, imagining something that lives in a 2D world (like a stick person drawn on paper). He can only visualize what he sees in 2D. A 3D sphere passing through his world would look like a circle that grows and then shrinks again. The same is true for a dimension higher. Some 4D object passing through our 3D world will look like a sphere in our world. Of course I can't imagine what the 4D object might be or what it might look like
This stuff is confusing... I think someone is creating a 4D game (Miegakure or something) which looks quite awesome (and headache inducing).
Yup, Miegakure (more specifically, the xkcd comic referencing it) is what got me to make a program . Visualizing 4D "natively" has been a project of mine for a few years that I take a whack at from time to time. Walking along a hypercube is the simplest thing I can think of right now to do that.
I agree, the interface is confusing. You have to add a lot of imagination or it's just a bunch of white squares on a black background. I think it's easiest to first ignore the diagonal squares and just move around in the x-y plane. After that, ignore just one diagonal axis to imagine exploring a 3D x-y-z grid. Finally, add in the final axis to explore the full 4D w-x-y-z grid.
The time you enjoy wasting is not wasted time. Bertrand Russell