TITLE: The Time Machine NAME: Aaron Gage COUNTRY: USA EMAIL: agage@csee.usf.edu WEBPAGE: http://www.csee.usf.edu/~agage TOPIC: Gadgets & Odd Devices COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. MPGFILE: amgclock.mpg ZIPFILE: amgclock.zip RENDERER USED: POV-ray 3.0 for Linux TOOLS USED: Photoshop, XV, mpeg_encode, Lightwave 5.6 for credits and poster CREATION TIME: Over 950 hours CPU time; AA thresh of 0.01, with radiosity HARDWARE USED: i486DX2/66, Pentium Overdrive 83, each with 32MB RAM, Linux OS ANIMATION DESCRIPTION: Here we see a clock, crafted out of polished metal and mounted in a wooden frame. Every hour, a device powered by the clock begins a familiar journey...but unfortunately, there is a little snag. DESCRIPTION OF HOW THIS IMAGE WAS CREATED: First off, let me mention that the whole "Brain in a Box" idea was a combination of many things, ranging from Deep Thought from the "Hitchhiker's Guide the the Galaxy" (which got as far as deducing the existence of income tax before they managed to switch it off) to my own experience with computers and AI, such that they usually have to totally reinitialize when they lose power. Any analogies that anyone makes to humans or to human society are entirely coincidental :) The entire animation was modelled on paper or directly with POV-ray. This means that all of the gears, once I figured out an accurate clock mechanism, had to be placed and lined up by hand. vrotate() helped me position the gears relative to each other, but I did have to rotate each gear until the teeth lined up. This may have been the most time-consuming aspect. The pendulum and escapement, which regulate the motion of the entire clock, move as a function of the animation clock. Once I figured out how to get them to work through two seconds of real time, I just set up a modulus function so that they would repeat. The length of the pendulum, the working of the escapement, the gear configuration, and the motion of the gears are all correct from a physics perspective, though the system might have too much friction to work in the real world. My ultimate goal was to create a complex mechanical device, using some surface features to make it look like carefully crafted yet imperfect handiwork. The fact that the clock itself moves correctly seems to suggest that the gears are solid (and not just formulas in an overworked 486), which pretty much makes it all worthwhile for me. I left myself one month to render this animation (for a total of over 650 computer hours) but that really wasn't enough, given my two 486-class machines and the surfaces I used in the animation. The bounded_by {} keyword saved me a lot of time, though for the frames that show the Brain doing its thing, I found an interesting feature in POV-ray. I am familiar with the continued trace flag, and have used it before, but with animations, it turns out that POV-ray will happily continue on every frame, even with the internal animation loop. So for a number of frames where the top is unchanging and the bottom is not, I rendered the top once, interrupted POV-ray, copied the top half over the entire range that it would be valid, then let POV-ray fill in the bottom of each one, so that every frame is still unique. This tactic halved the time it took to do the frames I applied it to. The total render time was still about a thousand hours, or 44K BogoMip hours. As for the tools I used, the texture on the Brain in a Box object was done in Photoshop (by just randomly dragging color across the window, then adding a number of filters). The wallpaper outside the clock was taken from my Toys animation, but it, too, was originally done in Photoshop. XV was used for the bump map on the bottom of the pendulum; I used POV-ray to create a heightfield for the bump map, but in order to make it wrap around nicely and repeat seamlessly, I decided to crop it in XV. I also used XV to convert the movie poster to JPEG. mpeg_encode, once again, was used to make the final render, using a frame sequence of IBBPBBI. I used Lightwave very sparingly; it was used for the movie poster (since twisting the words around and coloring the edges differently is very easy in LW), and I used it to add a copyright notice at the end of the animation. All of the frames, even those which Lightwave added to, were first done in POV-ray, so Lightwave was only used for post-production, and even then only for copyright purposes. I regret not being able to use POV-ray 3.1 for this animation, because no Linux version existed while I was doing my modelling. I also realize that there are a few technical errors, mostly since I did not have the CPU time to go back and redo many frames. In fact, for about twenty seconds of the animation, I was unable to see how the frames looked when animated until I was totally finished. The included ZIP file should contain everything I used to create the animation. Since this was done in one take, gear.pov describes all 1498 frames. I found that POV-ray 3.02 for Windows has trouble editing files longer than 1170 lines, so I made gear2.pov and gear2.inc by cutting gear.pov into two pieces. Enjoy! VIEWING RECOMMENDATIONS: MPEG-1 stream, 320x240, 30 fps, 24 bpp.