TITLE: Wyrmflight
NAME: Bryan Beatty
COUNTRY: USA
EMAIL: bryan.beatty@autodesk.com
WEBPAGE: http://www.oas.omron.com/bryan/anims.html
TOPIC: Flight
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
JPGFILE: wyrmflt.jpg
RENDERER USED: Povray 3.0 for DOS
TOOLS USED: none!
RENDER TIME: 12 minutes
HARDWARE USED: Pentium Pro 200 MHz

IMAGE DESCRIPTION: 

A flock of winged wyrms, cavorting about in the skies of a moon of
a large ringed gas giant.  The wyrms are in various poses.

I initially planned to have some terrain visible below-- mountains
rising out of mists, that sort of thing-- but decided that I liked it
better with the wyrms flying solo, so to speak.


DESCRIPTION OF HOW THIS IMAGE WAS CREATED: 

I intially started on this image as an exercise to see how much detail
I could code in straight POV without resorting to a C program to pose
large numbers of objects, and these wyrms are what resulted.

For example, the wyrm bodies are all wiggly.  Each body is a union of
dozens or hundres of spheres and cones, created in an iterative loop
in the POV description language.  I get the wiggle effect by using random
numbers to decide when to switch curvature from one direction to another.
The "wiggler" object is parameterized in an include file, so I can have
a bunch of wigglers and set parameters different for each one-- how "wiggly"
it is, sharpest bend radius, randomness, overall bend, etc.

The wyrm wings are where I spent most of my time.  Each wing consists of
a number of spars (each spar made up of a union of cones and cylinders)
with webbing in between them (the webbing is a triangle mesh).  Believe
it or not, the wings are coded entirely in straight POV (using several
iteration loops) without using any external tools.  Each wing is heavily
parameterized, with three initial design parameters (number and length of
spars; number of segments per spar) and five degrees of freedom.  One of
those degrees of freedom is "flap"-- i.e., are the wings raised or
lowered?-- and involves changing only the orientation of the wing.
The other four degrees of freedom, though, change the actual geometry
of the wing and took quite a bit of fiddling to get right.

The four nontrivial degrees of freedom are:

1.  "Reach," a forward-and-back motion of the wing.  This is not a trivial
rotation about the Z axis, since the bases of the individual spars are
fixed, and the individual spars rotate as the wing reach changes, which
requires adjusting the webbing to match.

2.  "Bend."  Imagine your the fingers on your hand as spars on the wing.
Curl all your fingers by some fixed amound, and you have bend.

3.  "Camber."  Using the aforementioned hand analogy, imagine "pinching"
your hand so that the index finger and pinkie are curled more than the
middle and ring fingers.  (Camber + bend equals a "cupping" shape.)

4.  "Spread."  Picture spreading all your fingers apart by some amount,
and you have spread.

By combining these different parameters, I could achieve different effects.
Thus, the wyrm in a power-dive at lower left has an extreme backwards reach
and a small spread; the wyrm in the foreground "braking" has its wings
extended and "cupped" by specifying a high spread, camber, and bend.
The other wyrms that you see aren't just flapping wings up and down--
the wing geometry changes, in the form of subtle modifications to the
camber, bend, and reach, although that may not be obvious from looking at
them.

I designed both the "Wiggler" and "Wing" objects in such a way that I can
specify the "graininess" of each on an object-by-object basis, so that
critters up close to the camera can be given a very large number of segments
to make them appear smoother, whereas critters off in the distance can
be given fewer segments to save on memory and rendering time.

The textures are fairly simple.  The scaly look to the wyrms' skin comes
from using the crackle texture as a slope map.

