This is the XScreenSaver's "Hypercube" screensaver generalized to
plot arbitrary 4D polytopes.

To build:  You will need to get the XScreenSaver package from jwz.org
and build it, 4space requires some files from it.  Edit the Makefile
and set SCREENHACKDIR to where XScreenSaver resides.  You may also
need to add something like -I/usr/X11R6/include to CPPFLAGS depending
on your configuration.  Run "make".

To run:  Provide one of the .4s files to it as input.  Eg, space4 < cube.4s
for the traditional hypercube.  run4s is a very simple wrapper so you
can invoke it as run4s {.4s file} {args}.  It takes the usual X program
argument assortment; use -root to make it run on the root window, as
expected of screensavers.  It also accepts -delay for the timestep delay in 
microsec, -xw, -xy, etc. for the rotation rate about the axes, and
-observer-z for the distance along the z-axis for the "eye".

File format:
The 4s file format contains two parts, one for the verticies and one
for the edges.  The vertex part comes first, and contains the number
of verticies followed by quadruplets of floats to give the coordinates
of each vertex.
The edge part contains the number of edges, followed by triplets specifying
the two vertices each edge connects and its color when drawn.



Glitches:
If you see artefacts when running 4space, first check to see that your
X server isn't broken.  Run the small "xtest" program included, you should
see a unbroken yellow line.  If you see a gap in the line, then your
X server is broken and that is the cause of the artefacts.  Ask your
vendor for a repaired X server.


Enjoy,
  Jacob
