Preliminary results from using Peek

Well, you've seen them already.

I constructed a hypercube and took a series of 3-d cross-sections to create a Postscript file that, when printed out, became a little animation flip-book that one can flip through to see the cross-sections change. I took some of these images and hand retouched them to add depth-cuing, and it is these images that you saw on the first page of this report, in the Introduction section.

Since that initial flip book, I have since made a much nicer version with shading and perspective, which you can get here. It prints to 20 pages, two frames per page. Here are the simple assembly instructions.

Those that have seen Tom Banchoff's movie, "The Hypercube, projections and cross-sections", should already be familiar with this series of cross-sections. They are what happens when you work along the main diagonal of the hypercube, from one vertex to its diagonally opposite one, making 3-d cuts that are perpendicular to the main diagonal.

The fact that my cross-sections agree perfectly with Banchoff's is encouraging. Partly because it means that the mathematical groundwork I did to create the algorithms was justified, and also because this is just the beginning of Peek. The code for the actual function to make this cross-section series was delightfully simple. It went something like:

for (i=1; i<=N, i++) {
   xform(object, matrix);   /* this translates the object a bit */
   slice = cross_object(object);
   draw(slice);
}
So as soon as I have more interesting objects than hypercubes, I'll be able to do cross-section series of them. Also, there are other very interesting ways of moving a hypercube. For instance, there is a way of rotating a hypercube centered at the origin so that its cross-sections change smoothly between a cube and an octahedron. What will this look like? I'll tell you as soon as I know.

And this isn't even interactive yet...


(back to Contents)