TITLE: Castle Protects House
NAME: Nazrat Durand
COUNTRY: Canada
EMAIL: nazrat@athabascau.ca
TOPIC: Toys
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
MPGFILE: castlend.mpg
ZIPFILE: castlend.zip
RENDERER USED:
POV-RAY 3.02
TOOLS USED:
cmpeg 1.0, LEGO, MicroMegablocks, TANDEM blocks,
TYCO blocks.
A modified version of the the building brick library that
Filip Spacek modified for
POV-RAY from Paul Gyugyi
Rayshade library.
I have included the files used with cmpeg so that others can see
what I have done. My first attempt in a previous round suffered
for not knowing how to manipulate cmpeg. I still need to do a
lot of experimentation, but now I at least know which numbers can
have a major impact.
CREATION TIME:
The little house took a quarter hour to physically
build and over two hours to program. It has 146 bricks in it.
The castle, with a few more bricks, took a bit more time.
The castle was created for the previous competition. I felt that
the previous animation did not do justice to this object. Therefore
I am trying again. With over five times the number of frames.
Total pieces in castle =
19 + 2*928 + 6*1137 + 5*472= 11057
Unique placements = 19 + 928 + 1138 + 472 = 2536
It took me about six hours to count them today.
I hesitate to guess how much time was spent placing them.
HARDWARE USED:
A 66 MHz 486 20MB was used to design the castle.
Rendering was done on a 266 MHz Pentium II machine with 128 MB.
ANIMATION DESCRIPTION:
A lovely little house is destroyed by a younger sibling's errant
ball. Therefore the elder sibling builds a castle to protect the
new house from bouncing balls.
Oh, I added the last few frames so that this thing will loop
relatively seamlessly.
VIEWING RECOMMENDATIONS:
I used VMPEG on a wintel machine.
DESCRIPTION OF HOW THIS ANIMATION WAS CREATED:
Each brick is positioned by translating by units of widr and
talr. By adding and then commenting out various loops and clock
variables, I was able to selectively build or display different
parts of the castle.
One goody I would like to share with people, though. There
is no combination of rotations and translations that will
transform a left-hand object into a right-hand object. For
those interested, here is a bit of code that will do so:
#declare YZ_Mirror = transform {
matrix < -1, 0, 0,
0, 1, 0,
0, 0, 1,
0, 0, 0 >
}
#declare Right_Hand_Object = object { Left_Hand_Object
transform YZ_Mirror
}
BTW: #include ;
If your object is far from the YZ plane, you may
have to go hunting for its mirror twin.
It is amazing how much time can be saved on building the
right gate tower when the above transform is applied to
the left gate tower!
(Left tower = 2 weeks )
(right tower = a couple-three days of agonizing,
an hour of Reading The Friendly Manual,
a moment of inspiration,
an hour of trial and error )