TITLE: Inspiration
NAME: Ken Cecka
COUNTRY: USA
EMAIL: ceckak@televar.com
WEBPAGE: http://www.televar.com/~ceckak/povray
TOPIC: Great Engineering Achievements
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
JPGFILE: kc_wheel.jpg
ZIPFILE: kc_wheel.zip
RENDERER USED: 
    POV-Ray for Windows

TOOLS USED: 
    sPatch
         Blob Sculptor for Windows 1.0
         Texture Magic
         Crossroads V1.0 - Beta 4
         Various text editors
         Borland Builder and GCC (custom coding)
         Paintshop Pro

RENDER TIME: 
    6 Hours, 41 Minutes, 2 seconds

HARDWARE USED: 
    Intel Pentium 166, 64MB ram, Win NT 4 Workstation


IMAGE DESCRIPTION: 


I didn't want to re-invent the wheel with this image, so I decided to start at
its origin.  98057 years ago, Thag Simmons, Great-Great Grandfather to Fred
Flintstone, walked up into the hills seeking out an elusive idea which had
haunted his thoughts for weeks.  He had graduated from secondary school and had
gone on to get a graduate degree in hunting and gathering, but it hadn't
satisfied his curiousities.  A pioneer in the field of engineering, he had many
great achievements, including the rock hammer, the stone door, the Mamoth
Thumper (patent pending), the granite snake squisher, and various other ignious
tools, but this, this was to be the work of his life time.  Alas, before he
could complete his masterwork, his career was cut short in an unfortunate
encounter with a Stegosaurus who feared progress.  Mr. Simmons' name has gone
down in history though and he is still referenced to this day
(http://www.cmnh.org/fun/dinosaur-archive/1995Apr/0245.html).



DESCRIPTION OF HOW THIS IMAGE WAS CREATED: 


I've never entered anything in the IRTC before, and I was sitting arround after
classes one day not wanting to get started on homework, and I decided to check
out the current topic.  Great Engineering Achievements actually seemed kind of
boring to me since I've lately been fascinated with organic modeling with
sPatch, but then the caveman idea popped into my head, so I decided to go for
it.

Inspirations
If you look at the head animation on my web site, you'll see that my first
attempt at modeling a human was rather unpleasant.  I decided to work through
Anto Matkovic's tutorial (http://www.geocities.com/SoHo/Studios/7415/).  Before
I could get started, I needed some pictures to work off of, so I started poking
arround the web looking for pictures of Neanderthols.  I found materials in
several places (see the list at the end), but primarily used a picture from a
Newsweek article published last July
(http://www.neanderthal-database.com/neandert.htm).


Modeling the head
To get some reference points, I stretched out the image in Paintshop Pro and
printed it on a piece of engineering paper.  Then I turned the grid on in
sPatch and sketched out three orthogonal profiles.  From there, I followed the
first few steps in the tutorial and continued tweaking and adding to the mesh
until I was satisfied.  I put the most work into the head since it would be one
of the primary focuses in the scene, but there is an entire body underneath the
robe.  It's just not as detailed.  Two points of difficulty I encountered in
modeling the head were the eyes and ears.  Because of the way I built my mesh,
the eye sockets ended up sealing over with no hole to place the eyes in.  I
could have solved this by adding another row of points on each side of the
head, but never did because it turned out that his eyes aren't visible anyway. 
The ears were frustrating in the final step when I had to attatch them to the
head.  I started several different times on the ears before I finally found a
method that worked.  Originally, I just made an ear and tried to attatch it,
but inevitably, I had too many, or not enough points.  My solution was to copy
the points from the region where I wanted to attatch the ear, and build
directly from those.

Modeling the wheel
The wheel turned out remarkably well for the small ammount of time I spent on
it.  I made it with Blob Sculptor and it is essentially a mass of spheres for
the rock and a circle of spheres for the wheel which are fairly regular in size
and position.  I added a couple of smaller blobs to fill in some of the large
gaps, but not many.  All of the blobs making up the wheel itself were in a
single plane.  I expected this would look rediculous, but I decided to give it
a shot and see what it looked like.  As expected, the wheel looked very
obviously blobby, not what I wanted.  I decided to add a large scaled crackle
normal to it though, and wow!  The combination of the real bulges of the blobs
and the normal gave the perfect effect.

A little planning
Up to this point I just had a vague idea of a caveman carving a wheel out of
stone.  I hadn't really figured out what the scene was going to look like
though.  Now that I had the caveman and the wheel built, I needed to figure out
how they were going to fit together.  I wanted to keep his face visible since
that was where I had put the most work, but I wanted to make it an interesting
pose.  The layout of the current scene is pretty much what I came up with.

Wishing for bones
My next challenge was getting the caveman into the position I wanted him in.  I
modeled him in an erect positions with both arms bent at the elbows and hands
pointing out ahead of him.  sPatch is wonderful for building a model, but
rearranging things can be a hastle.  I'm usually a bit of a perfectionist and
try to make everything correct even if it's out of site of the camera, but this
time, I just started twisting arms and body parts till they were in the correct
positions and left the distortions for later.    I was pretty sure I wanted him
to be wearing a robe of some sort, so I knew most of the problem areas would be
covered up.

The tools
I threw together the rock and the antler rather quickly.  I modeled them both as
really regular round shapes, and then used the random noise function in sPatch
to skew them a bit.  Then I added them to the main caveman mesh.

Mesh export organization
One of the difficulties in working with sPatch is that it exports all of it's
layers into one pov file.  By this point, I had the caveman, his fingernails,
the antler, the rock, his robe, and his hair all in one file.  Each of these
objects needed different textures, so they had to be exported independently by
systematically deleting the other objects from the scene and then exporting the
remaining one.

My first plunge into the world of heighth fields
I probably spent an entire day trying to get the height field right. 
Originally, I was going to put the scene at the top of a hill, but it just
didn't look right.  When I decided I wanted some mountains in the background, I
tried downloading some DEMs from the web, but I wasn't quite satisfied with
them either.  Finally, I rememered HFLab and decided to give that a shot.  I
actually ended up using one of the DEMs as a base image and modified it with
HFLab.  I used Paintshop Pro to flatten out the foreground part of the image so
it wouldn't interfere.

Fur just can't be faked
Up until now, I had been using a cheesy texture on a flat robe.  I had done my
dangdest to make it look furry, but you can only do so much with elongated bump
normals, and being this close up, it was a lost cause.  I decided to have a go
at writing a program to add fur to an object.  I don't know enough about bezier
patches to parse them directly, so I exported my robe as a DXF and used
Crossroads to convert it to a pov triangle mesh.  I slapped together a quick
little program which would go through the triangles in an input file and spit
out a bunch of perpendicular triangles for each one.  Several problems appeared
right away.  I was calculating normals based on the order the three corners of
the triangle were listed in the file, but it turned out that these normals were
fairly random in direction, alternating all over the place.  The only realistic
solution I could see was to write a program which could read in the entire
mesh, fix the normals, and dump it all back out again.  Once this was complete,
I rewrote the fur program using the classes I developed for the normalize
program, and it seemed to be working better.  I threw in some randomizers for
length, width, and angle, and the result was pretty believable.

The following are most of the URLs where I got ideas and inspirations from:

http://www.neanderthal-database.com/neandert.htm
http://www.neanderthal.de/e_thal/muse/bilder.htm
http://www.compulink.co.uk/~archaeology/
http://oregon.uoregon.edu/~osma/FIELD/fschool.html
http://www.kerna.ie/archaeology/
http://www.ee.liverpool.k12.ny.us/EE/staff/Team_3/MOQUIN/desert/desertclimate.htm
l
http://www.salc.wsu.edu/Classes/ipip/u-canyon/canyon.html
http://www.website1.com/odyssey/week1/desert.html
http://www.utah.com/destin/coloradop/cp.htm

