John Heidemann / Software / Screen Savers

As a fun graphics hack in 1992 I put together a screen saver that does n-dimensional hypercubes. Originally for xscreensaver (and called multidico), I recently renamed it hyperer, enhanced it and ported it xlockmore.

Getting hyperer

Hyperer, the current version for xlockmore (source code patches against Redhat’s xlockmore-4.05: hyperer-980508-xlockmore-4.05.patch, 22KB)

Multidico, the version for xscreensaver [very old–no color] (source code: multidico-980508.tar.gz, 11KB)

What Does Hyperer Do?

For an excellent on-line description of 4-dimensional hypercubes, see Charlie Dickman’s Tesseract documentation. I won’t try to describe higher-dimensional cubes other than to say ``generalize’’.

By default, hyperer displays things with a nice rainbow pallet. For example, here’s a 5-dimensional cube:

[5-d rainbow hypercube]

It can be difficult to visualize higher dimension hypercubes. Color-groups mode (option: +color-groups) colors 3-d (regular) cubes inside the hypercubes, perhaps making it easier to see what’s going on. For example, here’s a 5-dimensional cube with color-groups:

[5-d color-groups hypercube]

Of course, the really snazzy hyperer displays involve more dimensions. Here’s two shots of a 7-dimension hypercube, one looking more cube-like than the other.

[7-d cube-like hypercube] [7-d less-cube-like hypercube]

Sadly, hyperer currently has some amount of flicker when drawing. You’re welcome to look at the code and suggest alternatives, the usual solution (xoring) doesn’t work for reasons described there. For pseudo color displays the right thing to do is to draw into half the bitplanes and play colormap games to get page flipping, but that’s too much work for me and I have a true-color display.

Copyright © 1998-2003 by John Heidemann