TITLE: Flight of the Boomerang NAME: Bill Leckey COUNTRY: Australia EMAIL: oldwolf@tpgi.com.au WEBPAGE: http://www1.tpgi.com.au/users/oldwolf TOPIC: Physics & Math COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. JPGFILE: owbmrang.jpg ZIPFILE: owbmrang.zip RENDERER USED: Povray 3.01 Linux/DOS TOOLS USED: HF Lab, Paint Shop Pro, pdt_tree.inc, Dave G's Bezier Curve System. RENDER TIME: HARDWARE USED: 386 DX 40, 486 DX 33 IMAGE DESCRIPTION: It is mid-morning, in the middle of a hot, dry Australian summer. The heat of the sun is starting to be felt as it continues its job of turning the already yellow and brown drought-striken grass to dust. There is not even a hint of green to be seen anywhere. As I walk I kick up the dust, imitating the wind creating a willy-willy in the distance. The wind is just light enough to try out the new boomerang I've purchased. I step into the centre of the dry, dusty sportsfield, check the wind, rear back, and let fly. The boomerang flies out, away from my outstretched hand, moving in a straight line for just a moment. Then, as if by magic, physics turns its glance towards my toy, and the boomerang slowly begins to curve. I watch fascinated, as it continues its flight, swinging back towards me, until it slows, hovering above my head, where I can reach up and pluck it out of the air. Boomerangs have always been my favourite toys, and have always fascinated me. They seem such a simple toy, but during their flight the following pricinples come into play: Bernoulli's law, Newton's laws of mition, gyroscopic stability, gyroscopic precession and several other laws of aerodynamics. A boomerang's wings generate lift. The two arms of a boomerang are aerofoils, and use Bernoulli's principle (air travelling at a higher speed creates less pressure than air travelling at lower speed) to create lift. The mass (weight) of a boomerang sustains its flight according to Newton's law of inertia (a body in motion tends to stay in motion). The configuration of a boomerang's wings generates a stable spinning motion. The length of the wings, and the angle at which they are joined, enable a boomerang to spin in a stable plane as a result of spin imparted on the launch. This is "gyroscopic stability". The combination of lift and spin causes the turn. The aerofoil shape of the boomerang's arms causes more lift on the forward facing arm (the upper), than on the backward facing arm. This force on the gyroscopically stable, spinning boomerang results in a reaction 90 degrees later, causing a change in the direction of flight. This is called "gyroscopic precession". DESCRIPTION OF HOW THIS IMAGE WAS CREATED: I decided that whatever my scene actually looked like, the boomerang would be the main focus. I therefore spent most of the time on the boomerang. I went through several false starts, until I achieved quite a reasonable result using a CSG object. It was designed in three main sections: the curve in the middle, the base of the arm, and the aerofoil end of the arm. The aerofoil is basically a half-cylinder, behind which is a flat portion (a prism), then a cone, to smooth out the aerofoil. To make the path, I used part of Dave G's Animation System: Dave G's Bezier Curve System (Sorry, I can't track down the url for them). I produced a curve that mimicked the flight of the boomerang: it starts off at about shoulder height, flies forward and up, then begins its curve until it begins to slope down to hover above your head. I then simply used a number of points along the curve to place the boomerang. One thing I (stupidly) hadn't counted on was: all I was doing was _placing_ the boomerang, not rotating it as it flew. So, I took two points on the curve, calculated the angle between them, and used this to rotate the boomerang. A little quick and dirty, but it works. I tried to give a "snapshot view" effect. So the boomerangs placed around the path all have a transmit value to make them slightly transparent. Then, for the final hovering-over-the-head bit, I placed several very transparent boomerangs, then one not-at-all transparent one, as if that was it's final position. I used to throw boomerangs around a sportsfield/BBQ area located on the edge of my home village, and I've tried to recreate that here. The BBQ shed in the background is simply several poles, with galvanised corrigated iron sheets attached. Beside it is a galvanised corrigated iron watertank on a concrete block. The galvanised corrigated iron is produced by simply using a gradient normal, with a slope map approximating a sine wave (I think I got this from the POV-Ray docs). If you look very closely at the watertank, you'll see a tap on the right-hand side. Of course, that only ended up as 1 or 2 pixels in the final image :) In the shed are three simple brick BBQs, and three metal/wood picnic tables. Again, just simple CSG objects. Just outside the shed are two 44-gallon drums, recycled as bins. These are made up of three segments placed on top of each other. Each segment is a cylinder with a torus subtracted from the outside to give it a slight inward curve. The whole bin was then shrunk a little, and subtracted from the larger bin to hollow the thing out. To the left and right of the shed are bins. These bins were popular around our area, consisting of two poles, with a bin swinging between them. The bin itself is a series of truncated cones. The handle on the lid is a rather deformed torus. The Koppers log (treated pine) fences are simply three cylinders, with a wood pigment map (which you can't see at all). Behind all of this is an old hardwood fence. The posts and crossmembers are just stretched boxes. They are given the old, falling apart feel by applying a bozo pigment map with a lot of totally transparent areas and then stretching it to give long, thin empty areas. I wrote a small bit of POV code to calculate random angles for the posts and cross-members to be placed at to give the old, hand-hewn, falling apart feel to the whole fenceline. The grass was the interesting bit. I noticed, whilst taking off on a plane, that dry grass tends to congregate in little patches, with a small gap between each. This is almost perfectly modelled by the "crackle" modifier. Inside each of these patches, are further patches, again, crackle came into play. The clear patches are simply a transparent portion in the pigment map, and the whole texture is mapped onto cubes. These are raised slightly above a brown (dirt) plane, to give a more 3D feel than simply mapping the whole deal onto a plane would give. The hill in the background just has a texture mapped straight onto it. The hill itself was created by HF lab. I wanted a hill with two peaks, sloping down to the ground. The method I used is painful, and I'd love to hear from anyone who knows how to do this more quickly. Basically the algorithm is: 1. Make a random landscape (gforge), set it's limits between -1 and 1. 2. Make the highest point where you want the peak. 3. Repeat steps 1 (with a different seed) and 2 4. add the two landscapes together. 5. Repeat steps 3 and 4 lots of times. Slowly a hill will develop. 6. Use clip and floor, to remove all of the surrounding (smaller) hills. 7. For the second peak, repeat steps 1-6, but put the peak in a different place. 8. Add the two hills together. 9. Save as TGA. A quick word on the grass textures here. I've used several "segments" to produce the grass areas, but I wanted the textures to meet at the "join". This was achieved by placing the grass areas _then_ applying the texture. There are a number of trees in the background, but only a couple of definitions. I didn't want to run out of memory, and trees tend to have a lot of objects (and I have a lot of objects to start with). I used Paul T. Dawson's pdt_tree.inc utility. I got it from http://www.voicenet.com/~ptddawson. I only needed to make a few changes to Paul's example tree to produce exactly what I wanted (hey, you have to be lucky _sometimes_). If you're interested in producing trees, another utility to try is Sonya Roberts's Tree Utility Version 2.0 (maybe 3.0 by now) from http://www.geocities.com/SoHo/Lofts/1022 The shape of the trees came from this observation by a visiting mate from Japan: "In the northern hemisphere, most trees are spheres, or a triangle, with the point on top. In Australia, they are mostly upside-down triangles" To that, I'd add that our gum trees (eucalyptus), tend to be like upside-down triangles on a stick. The triangle tends to rest on a much longer trunk. In the background, you'll also see a windmill. This is a pre- Southern-Cross type, so it has a crank arrangement on the back of the fan to move the pump shaft, rather than a gearbox. This is a large CSG object. The support, and struts are all cylinders. This allowed me to make the base easily, since with cylinders you specify the endpoints, rather than making the cylinder, then doing to calculations yourself to move and rotate it into position. The fan was produced by using two planes to cut out a blade from a cylinder, rotating it a little to tilt the blade. The blade was then rotated several times around the hub. There are very few lights in this scene. I started by putting a "sun" light point, a long way away behind the viewer. I made this yellow to give everything a warmer tinge, and give the feeling of hot and dry. I then placed a white light in the same position to really brighten things up. Then, I required only one more light, a small light inside the shed, mimicing the sun reflecting off the stones/sand just in front of it.