Screen Saver

Rotating hypercube

Hyper Screen Saver

Freeware for Windows

The Hyper screen saver displays a rotating 4-dimensional object (hypercube or 4-simplex) pro­jected onto 3-space using a 4-D per­spec­tive trans­formation.

Notes

The screen saver funda­mentals were based on an exam­ple (“minimal screen saver”) pub­lished on­line by Lucian Wischik (www.wischik.com/scr/). The math of n-dimensional rota­tion, per­spective trans­for­ma­tion, and hid­den facet removal is my own work.

In 2009, I con­verted the original Hyper screen saver from Borland C++ to Micro­soft Visual C++ and cleaned up the code. In March 2010, I added the hyper­brick option.

File Description
Hyper.zip Zipped file containing the Hyper screen saver (original version) and a required Borland® DLL
Hyper-2010.zip Zipped file containing the Hyper screen saver (2010 MSC version)

Remarks

When a rotating cube in 3 is pro­jected onto a 2-dimensional display surface using a 3-D per­spec­tive transforma­tion, the facets that are farther away from the center of pro­jec­tion (CP) appear smaller than the facets that are closer. In a trans­par­ent wire-frame render­ing, the back facets (squares) seem to shrink and pass through the front facets and then grow as they again become front facets. When shading and hidden-surface removal are done, a facet dis­appears from view when­ever it faces away from the CP and re­appears when it rotates so that it faces the CP again.

Something similar happens when a rotating hypercube in 4 is pro­jected down to 3 using a 4-D per­spec­tive trans­for­ma­tion. In a trans­par­ent render­ing, the back facets (which are 3-dimensional cubes in this case) shrink and pass through the front facets before start­ing to grow again. With shading and hidden-facet removal, the facets appear and dis­appear (but the render­ing is com­plicated by the need to per­form another pro­jec­tion to map the 3-D image onto a 2-dimensional dis­play surface).

The animated GIF at the upper right corner of this page shows the rotating hypercube. Click­ing the image selects a dif­fer­ent ver­sion with a dif­fer­ent rota­tion plane (using Javascript).

Since I started experi­ment­ing with the hyper­brick shape (see below), I’ve decided I like it bet­ter than the sim­plex or the hypercube. I con­sidered a “monolith” à la “2001: A Space Odyssey” (1 × 4 × 9 × 16), but I think using the golden ratio makes a more æs­theti­cally pleas­ing image.

Rotating hyper-brick

To-Do List