Erector Set Crane.txt by Mark Vernon mvernon@metronet.com This 640 X 480 32-bit rendering of a Crane made from erector set parts was created using POV 2.2 on a Mac II ci with an Applied Engineering Transwarp 40 MHz 68040 Accelerator and 20 Mb Ram. All calculations and coding were done by hand. In trying to come up with an image for the January competition, a friend suggested doing something with an erector set. This sounded great but I wasn't sure if I could render the girder, pulleys, brackets, support members, screws, nuts, ..etc. necessary to build an object, but I could feel 'the challenge'. I picked up the gauntlet and tried to create a girder. Having accomplished that, I was off and shortly after that, the idea of a crane hit me. Since this is, for all practical purposes, my first full-fledged rendering from start to finish, I must say that I learned a lot about memory and time efficient coding while doing this. I initially used a hand made bi-cubic patch for the rib on each side of the girder, but found out quickly how memory hungry bi-cubic patches are. I realized that I could difference a slightly smaller cylinder from a bigger cylinder (creating a hollow pipe) and then clip 1/2 of it to produce the same rib that the bi-cubic patch had. It reduced my memory by over 1/3 and significantly sped up the trace time. Unfortunately it still grew to where 20 MB of ram was not enough. I rewrote the girder code so that instead of creating a box with a hole differenced out and then instantiating that many times with an offset, I created 1 long box and differenced out all of the holes as one, then added the side ribs as long ones rather than short ones on each instantiated piece. This reduced my memory requirement by almost 6 MB. Another trick that was recommended by a friend is when you need to difference out a round hole, use a cylinder rather than a sphere because a cylinder's radius is defined as the squareroot of the sum of the squares of 2 dimensions and a sphere is of 3 dimensions. This saves on additional math and rendering time. I think that during the coarse of this project, I have now read 'Ray Tracing Creations' (by Drew Wells and Chris Young) as well as the POV docs all the way through several times. I have included the scene files. Any recommendations or constructive criticisms for memory (it takes about 14Mb to render) and coding efficiency would be welcome. Enjoy! Mark Vernon PS. Thanks to Andy Cooper for the erector set idea, John Pingel for the math lesson and the POV team for making a great raytracer.