(This description will probably be easier to understand if you look
at the image first.) The image "sponge4.jpg" is a structure called
a Menger sponge. It is created by cutting square holes in the center
of a cube along all three axes. The width of the holes is 1/3 the
cube's length so that the resulting structure appears as if it
could be made of 20 smaller cubes each having a length of 1/3 the
length of the original cube. This is called a first iteration sponge.
Each of the smaller cubes has its center portions cut out just as the
original cube did, producing a 2nd iteration sponge. The sponge in
the image is a 4th iteration sponge.
The Menger sponge is interesting because an infinite number of
iterations will produce a structure that has no volume, yet has an
infinite surface area.
This is an image that I've wanted to make for a while but until now
I had neither the time nor the motivation to do it. I thought that
this would be appropriate for the topic of "science" because it falls
into the science of topology.
To create the image I used Excel to generate the end points for the
boxes used to cut out portions of the original cube. Each of the boxes
extends just beyond the length of the original base cube keeping the
total number of primitives lower than it would be if I tried to treat
each itieration as a group of successively smaller cubes. Still, there
are almost 2500 objects in the scene. I exported the Excel sheet to a
text file and modified it by hand to add a plane, camera, and a couple
lights. I used POV to trace the image on a Sparc 10, which took a little
over 100 hours. All switches were default except for anti-aliasing which
was 0.05. The image turned out a little darker than I had hoped it would,
but I'm not about to trace it again!
I tried to decrease the trace time by adding a bounding box around the
sponge, but I'd be interested in suggestions to better use bounding
boxes in a case such as this with a large number of objects in one
CSG object.
Matt (M.Loiselle@IEEE.org)