|
|
This is an MPEG of an articulated hand. I think I've seen a posting
somewhere about a utility for articulation but I'm not able to find it
again. I wonder if there is an easier/better way to articulate. Here is
the code:
#include "colors.inc"
global_settings {assumed_gamma 1.8}
#version 3.6;
#declare rot = 5+clock;
#declare Kolor = Flesh;
camera {
location <0, 1, -32>
angle 20
look_at <0, .6, 0>
}
light_source {0*x color red 1.0 green 1.0 blue 1.0
translate <100, 500, -1000>}
background { color red .3 green .4 blue .5 }
#declare Joint1 = union {
sphere {<0, 1, 0>, .5 pigment {color Kolor}}
cylinder {0*y, 1*y, .5 pigment {color Kolor}}
sphere {<0, 0, 0>, .5 pigment {color Kolor}}
}
#declare Joint2 = union {
sphere {<0, 1, 0>, .46 pigment {color Kolor}}
cylinder {0*y, 1*y, .46 pigment {color Kolor}}
sphere {<0, 0, 0>, .46 pigment {color Kolor}}
}
#declare Joint3 = union {
sphere {<0, 1, 0>, .45 pigment {color Kolor}}
cylinder {0*y, 1*y, .45 pigment {color Kolor}}
sphere {<0, 0, 0>, .45 pigment {color Kolor}}
scale <.8, 1, 1>
}
#declare J32 = union {
object {Joint3 rotate <0, 0, rot*1.5> translate <0, 1.25, 0>}
object {Joint2}
rotate <0, 0, rot*1.25>
}
#declare Finger1 = union {
object {J32 translate <0, 1.25, 0>}
object {Joint1}
rotate <0, 0, rot>}
#declare Finger2 =
object {Finger1 scale <1, 1.1, 1>}
#declare Finger3 =
object {Finger1 scale <1, 1, 1>}
#declare Finger4 =
object {Finger1 scale <1, .8, 1>}
#declare Palm =
superellipsoid {<0.5, .5> scale <.5, 2, 2>
translate <0, -1.5, 1.3> pigment {color Kolor}}
#declare Fingers = union{
object {Finger1 translate <0, -.25, 0>}
object {Finger2 translate <0, 0, .9>}
object {Finger3 translate <0, -.2, 1.8>}
object {Finger4 translate <0, -.4, 2.7>}
translate <.2, .25, 0>
}
#declare TJ1 = union {
sphere {<0, 1, 0>, .6 pigment {color Kolor}}
cylinder {0*y, 1*y, .6 pigment {color Kolor}}
sphere {<0, 0, 0>, .6 pigment {color Kolor}}
}
#declare TJ2 = union {
sphere {<0, 1, 0>, .6 pigment {color Kolor}}
cylinder {0*y, 1*y, .6 pigment {color Kolor}}
sphere {<0, 0, 0>, .6 pigment {color Kolor}}
}
#declare TJ3 = union {
sphere {<0, 1, 0>, .57 pigment {color Kolor}}
cylinder {0*y, 1*y, .57 pigment {color Kolor}}
sphere {<0, 0, 0>, .57 pigment {color Kolor}}
scale <1, 1, .8>
rotate <rot*.5, 0, 0>}
#declare TJ32 = union {
object {TJ3 translate <0, 1.25, 0>}
object {TJ2 translate <0, 0, 0>}
rotate <rot*1.25, 0, 0>
rotate <0, -60, 0>
}
#declare Thumb = union {
object {TJ32 translate <0, 1.25, 0>}
object {TJ1}
object {TJ1 scale <1, 1.3, 1.3> rotate <-30, 0, 0> translate <0, 0, .9>}
rotate <-70, 0, 0>
rotate <0, 30, 0>}
#declare Hand = union {
object {Fingers}
object {Thumb translate <0, -2.75, 0>}
object {Palm}
object {Palm rotate <0, 0, 5> translate <.1, 0, 0>}
}
object {Hand rotate <-rot, -45, rot>}
Post a reply to this message
Attachments:
Download 'articulated.mp4.mov' (197 KB)
|
|
|
|
I couldn't see it
--
camera{location-z*3}#macro G(b,e)b+(e-b)*(C/50)#end#macro L(b,e,k,l)#local C=0
;#while(C<50)sphere{G(b,e),.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1
;#end#end L(y-x,y,x,x+y)L(y,-x-y,x+y,y)L(-x-y,-y,y,y+z)L(-y,y,y+z,x+y)L(0,x+y,
<.5,1,.5>,x)L(0,x-y,<.5,1,.5>,x) // ZK http://www.povplace.be.tf
Post a reply to this message
|
|