Forward


Using Scytale's Z-Frame

  Crayon-World Home Page
"When man wanted to make a machine that would walk he created the wheel, which does not resemble a leg."
                    Guillaume Appollinaire 1880-1918
                    French Poet


OK - this is something of an experiment for me too.

"Scytale" created a complicated POVRay design for the creation of "Mecha" / "Humanoid" things.

The basic code is called Zframe.pov and creates the rather boxy little fellow you can see in the above picture. This chap is just the framework  for so much more!

In his own style he created a superb Mecha design (called S-Frame) and so I wanted to try my own "smoother" organic style on it too.

At the same time as creating this - I will document the process as I understand it.

File and Object Structure

OK - Scytale is several magnitudes of clever beyond what I can do in POVRay - so I "studied"

Z-frame is a single POV file with an aditional Include file for the "pose" - which was called "runningman.inc" - hence it looked like that chap above

The main structure of the Body Design is as follows

The Body Structure

I've commented out the runningman.inc #include statement to get the default body posture.

I've also searched for pigment and texture statements to comment those out as well.  Apart from the face!

It looks a bit dull but it's the basis for discovery!
[Click on the image for the POV file at this stage]


I can now investigate the structure just by adding pigment statements at judicious points...






Body








UpperBody






Head

SillyFace



Torso




Arm




UpperArm



ElbowJointPart



LowerArm

Hand

Thumb

Finger

LowerBody


Leg


UpperLeg



LowerLeg

Foot

FootPart


The Code structure is this structure - only backwards. Code design is always "bottom up" you can see a summary of the structure here

Code Structure

Now how about all those

Variables

Part of the power of this model is in the wide use of variables.
The variables in this design are either Integers, Angles,
Coordinates or Dimensions.

Integers

There are two main Integers here
Detail
Detail is a code variable used to define at what level to render the design at. It is served by conditional statements through out the code. Setting Detail to 0 will render the body with just the Smoothboxes in the requisite pose and speeds up the process when all you are doing is choosing the pose.
Higher values produce higher detail. Arbitrarily I will use Detail=5 as max detail
Side
Side is a more of a type variable as it only has values of plus or minus one. It's used to differentiate Left/Right

Angles

All of the Angles are declared at the beginning of the file or supercede these from an .INC file (like runningman.inc).

Coodinates

There are only a few uses of co-ordinates in this design - and they're in the Hydrolic and Smoothbox #macros. I'm pretty sure I'm not going to use either of those objects in my final design

Dimensions

The Dimensions are structured hierarchically in the design - some are defined at the top #macro call others are defined lower down in the sub macros - I have coloured coded this chart to show what level the variable is assigned its value. (I have also included the integer variable Side in this list)

Level 1
Level 2
Level 3
Level 4
Level 5
Level 6
Body

leglength,
legradius,
torsoheight,
torsowidth,
torsodepth,
armlength,
armwidth,
headwidth






UpperBody

torsoheight,
torsowidth,
torsodepth,
armlength,
armwidth,
headwidth

local
neckwidth
neckheight
distancetoarm





Head

headwidth,
neckwidth,
neckheight
SillyFace

headwidth


Torso

torsoheight,
torsowidth,
torsodepth



Arm

armlength,
armwidth,
side

local
betweenarms



UpperArm

armlength,
armwidth,
betweenarms,
side


ElbowJointPart

betweenarms,
partwidth


LowerArm
 
armlength,
armwidth,
betweenarms,
side

local
handlength
fingerwidth
Hand
 
handlength,
fingerwidth,
side

local
connectorpinheight
Thumb

fingerlength,
fingerwidth,
fingercurvature

local
fingerpartlength
betweenfingers
Finger

fingerlength,
fingerwidth,
fingercurvature

local
fingerpartlength
betweenfingers
LowerBody

leglength,
legwidth

local
hipheight
hipwidth

hipdepth
legposition
Leg

leglength,
legwidth,
side

local
betweenlegs
jointheight
jointdepth
UpperLeg

leglength,
legwidth,
side


LowerLeg

leglength,
legwidth,
side
betweenlegs,
jointheight,
jointdepth

Foot

footlength,
footwidth,
footheight,
side
FootPart

footlength,
footwidth,
footheight,
side

Enough!
That's all overview stuff. It's time to make something.

I started at the TOP (physically that is) with The Head. It's one if the simpler objects.

Let's have a look at it....

The Head





Crayon-World Home Page