TITLE: The Hungry Frog
NAME: David Thompson
COUNTRY: Australia
EMAIL: drthompson@iname.com
WEBPAGE: None
TOPIC: Creatures
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
MPGFILE: drtfrog.mpg
ZIPFILE: drtfrog.zip
RENDERER USED: 
    POVray for Windows v3.1e.msvc

TOOLS USED: 
    Moray v3.1
            Terrain Maker v1.1
            Microsoft Photo Editor v3.0
            Asymetrix Digital Video Producer Version 3.5
            avi2mpg1 v1.7 (and GUI for same)

CREATION TIME: 
    Just under 30 hours to render, and a few minutes to encode.
               About a month and a half of work all up.

HARDWARE USED: 
    Pentium II 266MHz, 64MB RAM.

ANIMATION DESCRIPTION: 

        The animation shows a dragonfly and a frog. The frog model was based on
the Red
        Eyed Tree Frog, which lives in the rainforests of Queensland, usually at
least 5
        metres above the ground, and would rarely if ever be seen in this
setting.

VIEWING RECOMMENDATIONS: 

        Windows Media Player Version 6.01.05.0217, set to play animations once,
and to show
        full screen on a 1024 x 768 x 32 desktop on a 17 inch monitor, from five
feet away,
        is how I view it. avi2mpg1 outputs a file with the .m1v extension for
mpegs without
        sound, I changed this to .mpg to conform to competition rules. Also the
vbv buffer
        overflowed many times, but I don't expect this to cause any problems. 

DESCRIPTION OF HOW THIS ANIMATION WAS CREATED: 


        Two types of animation were used. The plants, dragonfly wings, and the
croaking 
        mouth all used trigonometric functions to determine how they were moved,
with
        some random values used so that not all leaves moved the same way.
Similarly
        the ripples on the water were created from a macro that generated
entries in an
        'average' normal map.

        The rest of the animation was achieved by creating key frames, then
using a couple
        of macros I wrote to interpolate the key frames using linear or bezier
spline
        interpolation. Bezier splines were used for translation (eg the path of
the 
        dragonfly and camera) and for rotation (the movement of the frog's
limbs, with 
        mostly zero tangent vectors at the key frames, so that limbs accelerated
and
        decelerated somewhat naturally). Another macro returned the directional
derivative
        at each point on the curve, so that yet another macro could be used to
point the
        dragonfly where it was going. I intended to use the acceleration to bank
the 
        dragonfly around corners, but it looked better when it remained
upright.

        The most difficult parts to animate were the frog jumps. First the whole
frog had
        to be accelerated to a certain speed and direction, moved through the
air by its own
        momentum, then decelerated as it landed, all done with bezier curves.
Second the
        feet had to remain at ground level while the frog accelerated, then lift
off. This
        was achieved by moving the feet using IK transforms in Moray to create
the moment
        when the feet left the ground, then interpolating the rotations with
bezier curves,
        with appropriate speeds so that the feet did not lift off or go below
ground. The
         landing was done similarly. Other animation sequences were constructed
in a similar
         fashion.

        The problem with using IK transforms is that the IK solver in Moray
sometimes
        found rotation components that changed by 360 degrees in one direction,
or 180 
        degrees in all 3 directions. This meant that although the frog limbs
would be
        in the correct position for the key frames, they might take the long way
around,
        rotating -330 degrees when a rotation of 30 degrees was required. The
movement of
        the frog's right arm when the frog walks is an example where corrective
measures
        were needed - see the source files.

        The plants were created by taking a couple of leaves, then using Moray's
duplicate
        function to slightly raise and rotate each copy of the leaf. So that the
plant
        did not resemble a spiral staircase, each copy was rotated between 100
and 250
        degrees around the z axis, making the height and angle of each leaf
appear to
        be random. By creating references, only about 8 leaves needed to be
animated
        individually, for all the plants. However the number of leaves made
rendering very
        slow, so in no part of the source code are all the plants present, only
the ones
        that are in the particular shot are used.

        The sand was created using Terrain Maker. Density was put all the way
up, a  
        landscape was generated and raised, erosion was used to create the
river, and
        the whole thing was smoothed. Originally a plane was used for the water,
then an
        overhead shot with full ambient lighting was used to generate a two
colour map
        showing which parts were under water. This map was smoothed in Photo
Editor, and was
         to be used as a bump map, but a separate heightfield for the water
seemed to give
        smoother results. The intension was to mimic the surface tension of
small amounts
        of water, to stop the sand looking like a large landscape.

        Digital Video Producer was used to take numbered targa images (it does
not support
        PNG) and arrange them into an uncompressed .avi file (of over 160MB).
avi2mpg1   
        generated the final mpeg file, and Photo Editor was used to generate the
JPEG poster
         file. This poster is a frame from the middle of the frog jumping
sequence, but has  
        been rendered using radiosity and much more antialiasing, so that it
took over an  
        hour to generate on its own.

        This is my first entry in either competition, and indeed the first piece
of 
        computer art I have ever fully completed. Everything was created newly
for this
        animation, and I learned a lot. Hopefully your comments will allow me to
learn
        even more.

