|
|
"zman" <zma### [at] thezbuffercom> wrote in message
news:web.47d816c5df0163a4f66930fa0@news.povray.org...
>
> http://home.comcast.net/~erniew/juggler.html
>
> figured someone would have reproduced such a classic given how many POV
> ray
> files have been created over the years.
http://0mniverse.com/anims/amiga-like_juggler.gif
This isn't exactly a replica, just put it together after reading this in the
early morning hours here.
That was an interesting story about this juggler, I hadn't seen it before...
or don't remember it from so many years ago. I used to stare at the stuff on
the Amiga displays in store windows, too. ;^)
Here's the rather simplistic (yet long) SDL you can try to work with if you
want. Also uses the oscillating clock from clockmod.inc by Chris Colefax,
done so I could move the arms. No doubt this could be improved upon so I
leave that up to you! (Wow! it's a longer file than I thought! sorry).
Especially badly done, perhaps, is the ultra simple (and separate) splines
for ball motions. First thing that came to mind I tried.
/* not exactly the Amiga Juggler */
camera {
location -9.33*z
look_at <0.33,-0.67,-0.33>
angle 58
rotate <22.5,-45,0>
}
light_source {
-99*z,
1
area_light <5,0,0>,<0,5,0>,9,9 jitter adaptive 1
rotate <45,-45,0>
}
sky_sphere {
pigment {
function {abs(y)}
color_map {
[0 rgb <0.4,0.6,0.9>]
[0.15 rgb <0.2,0.5,1>]
[1 rgb <0.1,0.3,0.8>]
}
}
}
// floor
box {
<-10,0,-10>,<10,-1,10>
texture {
pigment {
checker color rgb <1,1,0> color rgb <0,1,0>
}
finish {
ambient 0.05
diffuse 0.75
}
}
translate -5.9*y
}
// ball texture
#declare Mirrored=
material {
texture {
pigment {
color rgb 0.1
}
normal {
wrinkles 0
}
finish {
ambient 0
diffuse 0.1
specular 0.9 roughness 0.002
reflection {
0.9,0.999
}
}
}
}
// arm motion clocks
#declare clock_type="O";
#declare clock_start=0.25;
#declare clock_finish=0.75;
#include "clockmod.inc"
#declare OcR=-mclock;
#declare clock_type="O";
#declare clock_start=0;
#declare clock_finish=0.5;
#include "clockmod.inc"
#declare OcL=mclock;
#declare JugglePath1=
spline {
natural_spline
0, <-1,0,0>
0.5, <0,0.1,0>
1, <1,0,0>
}
sphere {
JugglePath1(clock),0.5
material {
Mirrored
}
}
#declare JugglePath2=
spline {
natural_spline
0, <1,0,0>
0.33, <0.75,1,0>
0.67, <0.4,1.7,0>
1, <0,2,0>
}
sphere {
JugglePath2(clock),0.5
material {
Mirrored
}
}
#declare JugglePath3=
spline {
natural_spline
0, <0,2,0>
0.33, <-0.5,1.8,0>
0.67, <-0.75,1,0>
1, <-1,0,0>
}
sphere {
JugglePath3(clock),0.5
material {
Mirrored
}
}
// JUGGLER
union {
union { // eyes
sphere {
<-0.25,0.4,-0.6>,0.2
}
sphere {
<0.25,0.4,-0.6>,0.2
}
pigment {
rgb <0.1,0.1,0.9>
}
}
union { // hair
sphere {
<-0.05,0.5,0>,0.67
}
sphere {
<0,0.5,0.1>,0.67
}
sphere {
<0.125,0.4,0.05>,0.67
}
pigment {
rgb <0.3,0.1,0.1>
}
}
union { // head
sphere {
<0,0.33,0>,0.75
}
cylinder {
<0,-0.25,0.1>,<0,-0.75,0.1>,0.4
}
pigment {
rgb <1,0.7,0.3>
}
}
union { // upper body
sphere {
0,1.8
scale <1,0.5,0.5>
translate <0,-1.25,0>
}
sphere {
0,1.7
scale <1,0.5,0.5>
translate <0,-1.75,0>
}
sphere {
0,1.6
scale <1,0.5,0.5>
translate <0,-2.25,0>
}
sphere {
0,1.5
scale <1,0.5,0.5>
translate <0,-2.75,0>
}
sphere {
0,1.4
scale <1,0.5,0.5>
translate <0,-3.25,0>
}
sphere {
0,1.3
scale <1,0.5,0.5>
translate <0,-3.75,0>
}
// upper left arm
sphere {
0,0.5
translate <1.5,-1.5,0>
}
sphere {
0,0.475
translate <1.55,-2,-0.25>
}
sphere {
0,0.45
translate <1.6,-2.5,-0.5>
}
union {
// lower left arm
sphere {
0,0.4
translate <1.65,-3,-1>
}
sphere {
0,0.375
translate <1.7,-2.875,-1.5>
}
sphere {
0,0.35
translate <1.65,-2.75,-1.75>
}
sphere {
0,0.325
translate <1.6,-2.625,-2>
}
sphere {
0,0.3
translate <1.55,-2.5,-2.25>
}
sphere { // left hand
0,0.35
scale <1,0.5,1.25>
translate <1.5,-2.375,-2.75>
}
pigment {
rgb <1,0.7,0.3>
}
translate <-1.65,3,1>
rotate <10,-5,0>*OcL
translate <1.65,-3,-1>
}
// upper right arm
sphere {
0,0.5
translate <-1.5,-1.5,0>
}
sphere {
0,0.475
translate <-1.55,-2,-0.25>
}
sphere {
0,0.45
translate <-1.6,-2.5,-0.5>
}
union {
// lower right arm
sphere {
0,0.4
translate <-1.65,-3,-1>
}
sphere {
0,0.375
translate <-1.7,-2.875,-1.5>
}
sphere {
0,0.35
translate <-1.65,-2.75,-1.75>
}
sphere {
0,0.325
translate <-1.6,-2.625,-2>
}
sphere {
0,0.3
translate <-1.55,-2.5,-2.25>
}
sphere { // right hand
0,0.35
scale <1,0.5,1.25>
translate <-1.5,-2.375,-2.75>
}
pigment {
rgb <1,0.7,0.3>
}
translate <1.65,3,1>
rotate <-5,10,0>*OcR
translate <-1.65,-3,-1>
}
pigment {
rgb <1,0,0>
}
}
union {
sphere {
0,1.4
scale <1,0.5,0.5>
translate <0,-4.25,0>
}
sphere {
0,1.5
scale <1,0.5,0.6>
translate <0,-4.75,0>
}
// right leg
sphere {
0,0.7
translate <-0.75,-5.5,0>
}
sphere {
0,0.65
translate <-0.85,-6.5,0>
}
sphere {
0,0.6
translate <-0.95,-7.5,0>
}
sphere {
0,0.55
translate <-1.05,-8.5,0>
}
sphere {
0,0.5
translate <-1.15,-9.5,0>
}
sphere { // right foot
0,0.5
scale <1,0.5,1.75>
rotate 15*y
translate <-1.33,-10,-0.5>
pigment {
rgb 0.01
}
}
// left leg
sphere {
0,0.7
translate <0.75,-5.5,0>
}
sphere {
0,0.65
translate <0.85,-6.5,0>
}
sphere {
0,0.6
translate <0.95,-7.5,0>
}
sphere {
0,0.55
translate <1.05,-8.5,0>
}
sphere {
0,0.5
translate <1.15,-9.5,0>
}
sphere { // left foot
0,0.5
scale <1,0.5,1.75>
rotate -15*y
translate <1.33,-10,-0.5>
pigment {
rgb 0.01
}
}
pigment {
rgb <0,0,1>
}
}
scale 0.67
translate <0,1,2>
}
/* END */
/*bob hughes*/
Post a reply to this message
|
|