## Widget Wednesdays #2

This week I am visiting an old favorite. Ever since I was a child, I was fascinated by four dimensional space.

From yearning to tesser after reading A Wrinkle in Time, to watching the Little Girl Lost episode in The Twilight Zone, I wondered what it would be like to travel in four dimensions.

I first started to seriously play around with creating 4D things when I was an undergrad. When it became easy to do virtual reality in the last five years or so, I started moving those experiments into VR.

A question I’ve long pondered is whether, if you gave little kids a 4D toy, they would learn to think intuitively in four dimensions. It’s really a question about whether the way our human brain works. Is our ability to learn to intuitively reason about space “hard wired” for 3D, or is our brain capable of adapting that intuitive learning process to other spaces?

Wouldn’t it be amazing if future generations had universal 4D reasoning skills? That could lead to all sorts of fascinating and surprising cultural developments.

I’ve made many little 4D toys to play with through the years. This is one of the simplest, and I include the source code (as a link on the bottom) so you can see how it’s made.

http://kenperlin.com/cube4d/ is just a 4D cube (also called a hypercube, or a tesseract). Instead of the usual three dimensions XYZ, it has four dimensions XYZW.

To let people play with it, I implemented a 4D virtual trackball.

The way the trackball works is that if you drag your mouse left and right, you rotate the shape, exchanging the X and Z axes. If you drag your mouse up and down, you exchange the Y and Z axes. So far that’s the kind of rotational behavior we expect from a trackball.

But also, if you hold down the SHIFT key and drag left and right, you exchange the X and W axes. If you hold down the SHIFT key and drag up and down, you exchange the Y and W axes.

One interesting question is whether people can learn to quickly and intuitively rotate the shape into particular 4D configurations. It would be fun to set up an on-line test to find that out.