EMAIL: EFausett@mail.com
NAME: Eric Fausett, Alexander Pasko, and Valery Adzhiev
TOPIC: Robot
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.

TITLE: Homotopic Fun in 5D Space

COUNTRY: Made in Japan by an American and Two Russians

WEBPAGE: http://www.hyperfun.org

RENDERER USED: Povray 3.0 w/ Suzuki Isosurface Patch

TOOLS USED: HyperFun, PhotoShop 4.0, SGI MediaConvert, and Visual C++ 5.0.

CREATION TIME: 8 days (rendering) + 5 days (modeling) + 3 days (animation setup)

HARDWARE USED: Dual Processor Pentium II 400 Mhz, Dual Processor Pentium II 
350 Mhz, and a Single Processor Pentium 233 Mhz for rendering.  SGI O2 for mpeg
creation.

VIEWING RECOMMENDATIONS: Windows Media Player for Windows 95/NT worked for me.
The original animation is an uncompressed AVI at twice the size that comes with
a nice soundtrack.  For those interested contact me, or see information below.

**********************************************************************************
ANIMATION DESCRIPTION:
This is an animation of a very interesting shape shifting Robot.  The Robot 
shape-shifts (metamorphosis) between 4 different 3D shapes.  Really what you are
seeing is a 3D slices of a 5 dimensional Robot as it moves passes along our
3D world.

**********************************************************************************
ANIMATION DESCRIPTION (TECHNICAL for those so inclined): 
****IMPORTANT NOTE:
This type of metamorphosis is very difficult if not impossible for current 
polygonal models, general B-rep based models, or CSG based models.  Notice that
each of the key 3D shapes are of a different topology.  This is the benefit of 
using the function representation (F-rep).  

In the animation "Homotopic Fun in 5D space" we present a time-dependent version 
of bi-directional metamorphosis, which is a non-traditional operation in computer 
graphics and animation.  It results in a smooth transformation (metamorphosis) 
between four key 3D shapes modeled using function representation (F-rep) [1] (a 
generalization of the implicit surface model).  Each of the key 3D shapes is 
defined by a single real function f(x1, x2, x3) = 0, where f = 0 defines the 
objects surface (isosurface of the function).  Algebraically, the model of the 
bi-directional metamorphosis is the bilinear interpolation between four 
real-valued functions by coordinates x4 and x5. Geometrically, it is a 5D object 
defined by the real function as f(x1, x2, x3, x4, x5) = 0. On the other hand, the 
metamorphosis can be considered a homotopy in the functional space, which is 
reflected in the animation's title. 

All 3D shapes were modeled using set-theoretic (CSG) operation with R-functions.

The transformation applied to the key shapes can be described by the following 
expression:

Meta5D = (Cat*(1.-x[4])+Robot*x[4])*(1.-x[5]) 
         + (NiHon*(1.-x[4])+Rob_word*x[4])*x[5];

where Meta5D stands for the defining function of the bi-directional metamorphosis;
Cat, Robot, NiHon, and Rob_Word each represent the individual defining functions 
of the key shapes, x[4] and x[5] are coordinates of 5D space and parameters of 
the interpolation.

Therefore, the entire animation is described by a single function of five 
variables.  Then, coordinates x1, x2, x3 are considered as "real life" Cartesian 
coordinates;  x4 and x5 are dynamic ("time") coordinates. Each frame of the 
animation corresponds to a point in a 5D space and to a unique shape. To get the 
current values of x4 and x5, the trajectory in the plane (x4 , x5 ) is 
analytically defined. Then, by moving along the trajectory we project the 5D 
shape onto the 3D space to produce a single frame. 

**********************************************************************************
DESCRIPTION OF HOW THIS ANIMATION WAS CREATED:

Modeling:
- "Cat" The complete model was created using the HyperFun modeling language.  
HyperFun is  a language for describing F-rep objects (and IsoSurfaces) which 
includes many built in operations and primitives including CSG operations using 
R-functions.  The complete "Cat" model in HyperFun can be found at: 
http://www.u-aizu.ac.jp/labs/sw-sm/FrepWWW/HF_dor.html

- "NiHon" Also created using the HyperFun modeling language.  It is a 3D puzzle 
representing the word "Japan". First, the two projected 3D Chinese characters 
"Ni" and "Hon" are constructed independently as unions of blocks. Then, the 
solids are oriented along Z and X axes respectively and combined as 
NiHon = Ni & Hon, where & represents intersection operation. The idea of this 
puzzle construction is that the resulting 3D solid looks like a single initial 
2D character "Ni" or "Hon" when projected along Z and X axes respectively onto 
a plane.

- "Robot" and "Rob_Word" were also modeled using set-theoretic operations in 
HyperFun.

Due to the current speed of the HyperFun interpreter, these models were translated
by hand into C code.  The C code was compiled into a dll for use with Suzuki's 
Isosurface Patch.  The variables x[4] and x[5] which change the shape were made
accessible through Suzuki's Isosurface interface.

Next a path in the x[4] x[5] plane was created in the pov file and the movement
of the shape on the checkerboard was set up to correspond to the the changing 
shape.  The checkerboard and sky were created and textured so as to be aesthetically
pleasing.

The animation frames were then divided up between 3 machines (5 processors) which
rendered the animation in parallel in about a week.  The resulting images were
compiled into an AVI and converted to mpeg on a Silicon Graphics O2 machine.
(Didn't have such an application for Windows).

I cheated on the fades and the lettering.  These were all done in post-processing
by hand using Adobe Photo-shop.  All effects used are very straight forward and
could have almost just as easily been done directly in POVRay.  I didn't have the
time, and took the fastest route however.  The only post-processing done to the
images was the fades and lettering however.  The animation portion is all 100% 
POVRay.

The original AVI file contains a nice "Homotopic" sound track, and gives the 
animation a very nice atmosphere.  Due to size constrictions the sound track was
left out for the competition.  Also the image quality is quite bad due to the high
compression ratio needed to keep the entire animation.  For those interested I 
will provide a full copy of the AVI or higher quality MPEG with sound.  The actual
animation is also 2X as big and has been copied to full screen video tape.  I 
hope to get these versions of the animation up on our web site soon.
 
For more information on HyperFun and the HyperFun Project, see www.hyperfun.org.

Last but not least, here are the credit lines that are unreadable in the mpeg:

**********************************************************************************
**********                             CREDITS                          **********
**********************************************************************************
Alexander Pasko
Design
3D and 5D Modeling
Music Selection
Saying "That’s Right"

Valery Adzhiev
Design
3D Modeling
Critical Head Shaking

Eric Fausett
Rendering
Animation Production
Audio/Video Editing
Exhausting All Resources
**********************************************************************************
Three Dimensional Shapes contributed by:
Kensuke Masuda
Yukio Hashimoto
Kou Setoguchi
Masayuki Tetsuka
Tetsurou Tobe

Music:
Aquarium Mitya's Waltz
Composers: S. Shurakov and BG
SoLyd Records, Russia
Copyright © 1993
(Used with permission)

Equiptment and Facilities Provided by:
University of Aizu
Shape Modeling Lab
**********************************************************************************
Computers Used:
Widows NT Workstations (Pentium II)

Software:
Povray 3.0 (Isosurface Patch by R. Suzuki)
HyperFun for Windows (implemented by A. Osipov)

Metamorphosis Stunts Performed by:
Bi-Directional Metamorphosis
(Cat*(1-x[4])+Robot*x[4])*(1-x[5])+(NiHon*(1-x[4])+Rob_word*x[4])*x[5]

Homotopic Fun
in 5D space
Copyright © 1999 Alexander Pasko
**********************************************************************************

No robots or animals were hurt in the rendering of this animation.