POV-Ray : Newsgroups : povray.binaries.animations : Articulation : Articulation Server Time
18 Jul 2024 16:18:43 EDT (-0400)
  Articulation  
From: Richard Smith
Date: 1 Jun 2004 23:40:01
Message: <web.40bd4a3ca95bf1849d314b740@news.povray.org>
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)

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.