/****** * Rayshade 4.0 description of my right hand. The Hand object * has its wrist at the origin and sticks out the z-axis; dimensions * are in centimeters. * Eli Brandt 7/10/92 *******/ /*** hand positioning ***/ define pitch 0 /* degrees above flat */ define yaw 0 /* to right from top */ /*** finger flexion ***/ /* thumb */ define jm0rot 10 /* middle-tip, degrees */ define jb0rot 30 /* base-middle */ define jh0rot 5 /* base swing */ define thangl 40 /* thumb separation */ define thdepr 50 /* thumb depression */ /* index finger */ define jm1rot 5 /* middle-tip, degrees */ define jb1rot 15 /* base-middle */ define jh1rot 5 /* hand-base */ /* middle finger */ define jm2rot 60 /* middle-tip, degrees */ define jb2rot 110 /* base-middle */ define jh2rot 60 /* hand-base */ /* ring finger */ define jm3rot 50 /* middle-tip, degrees */ define jb3rot 100 /* base-middle */ define jh3rot 90 /* hand-base */ /* little finger */ define jm4rot 80 /* middle-tip, degrees */ define jb4rot 90 /* base-middle */ define jh4rot 80 /* hand-base */ /*** finger splay ***/ define splay1 5 /* in degrees */ define splay2 0 define splay3 -4 define splay4 -7 /*** end hand positioning ***/ /*** finger knuckle offset (from middle) ***/ define xofs1 2.3 /* index */ define yofs1 .6 define xofs2 0 /* middle */ define yofs2 0 define xofs3 -1.9 /* ring */ define yofs3 .3 define xofs4 -3.6 /* little */ define yofs4 .5 define xofs0 2.3 /* thumb */ define yofs0 -0.7 define zofs0 -6.8 /*** index finger ***/ define lt1 1.8 /* length of tip, cm */ define lm1 2.3 /* of middle */ define lb1 4.0 /* of base */ define rjt1 .6 /* radius of tip */ define rjm1 .6 /* of middle-tip joint */ define rjb1 .75 /* of base-middle joint */ define rjh1 0.9 /* of hand-base joint */ name Fingertip1 list cone (rjm1) 0 0 0 (rjt1) 0 0 (lt1) sphere (rjt1) 0 0 (lt1) end name Fingermiddle1 list cone (rjb1) 0 0 0 (rjm1) 0 0 (lm1) sphere (rjm1) 0 0 (lm1) end name Fingerbase1 list cone (rjh1) 0 0 0 (rjb1) 0 0 (lb1) sphere (rjb1) 0 0 (lb1) end name Finger1 list list list object Fingertip1 rotate 1 0 0 (jm1rot) translate 0 0 (lm1) object Fingermiddle1 end rotate 1 0 0 (jb1rot) translate 0 0 (lb1) object Fingerbase1 end rotate 1 0 0 (jh1rot) end /*** middle finger ***/ define lt2 1.9 /* length of tip, cm */ define lm2 2.9 /* of middle */ define lb2 4.7 /* of base */ define rjt2 .65 /* radius of tip */ define rjm2 .6 /* of middle-tip joint */ define rjb2 .8 /* of base-middle joint */ define rjh2 1.0 /* of hand-base joint */ name Fingertip2 list cone (rjm2) 0 0 0 (rjt2) 0 0 (lt2) sphere (rjt2) 0 0 (lt2) end name Fingermiddle2 list cone (rjb2) 0 0 0 (rjm2) 0 0 (lm2) sphere (rjm2) 0 0 (lm2) end name Fingerbase2 list cone (rjh2) 0 0 0 (rjb2) 0 0 (lb2) sphere (rjb2) 0 0 (lb2) end name Finger2 list list list object Fingertip2 rotate 1 0 0 (jm2rot) translate 0 0 (lm2) object Fingermiddle2 end rotate 1 0 0 (jb2rot) translate 0 0 (lb2) object Fingerbase2 end rotate 1 0 0 (jh2rot) end /*** ring finger ***/ define lt3 1.9 /* length of tip, cm */ define lm3 2.5 /* of middle */ define lb3 4.2 /* of base */ define rjt3 .65 /* radius of tip */ define rjm3 .58 /* of middle-tip joint */ define rjb3 .75 /* of base-middle joint */ define rjh3 .85 /* of hand-base joint */ name Fingertip3 list cone (rjm3) 0 0 0 (rjt3) 0 0 (lt3) sphere (rjt3) 0 0 (lt3) end name Fingermiddle3 list cone (rjb3) 0 0 0 (rjm3) 0 0 (lm3) sphere (rjm3) 0 0 (lm3) end name Fingerbase3 list cone (rjh3) 0 0 0 (rjb3) 0 0 (lb3) sphere (rjb3) 0 0 (lb3) end name Finger3 list list list object Fingertip3 rotate 1 0 0 (jm3rot) translate 0 0 (lm3) object Fingermiddle3 end rotate 1 0 0 (jb3rot) translate 0 0 (lb3) object Fingerbase3 end rotate 1 0 0 (jh3rot) end /*** little finger ***/ define lt4 1.7 /* length of tip, cm */ define lm4 1.9 /* of middle */ define lb4 3.5 /* of base */ define rjt4 .55 /* radius of tip */ define rjm4 .55 /* of middle-tip joint */ define rjb4 .7 /* of base-middle joint */ define rjh4 .75 /* of hand-base joint */ name Fingertip4 list cone (rjm4) 0 0 0 (rjt4) 0 0 (lt4) sphere (rjt4) 0 0 (lt4) end name Fingermiddle4 list cone (rjb4) 0 0 0 (rjm4) 0 0 (lm4) sphere (rjm4) 0 0 (lm4) end name Fingerbase4 list cone (rjh4) 0 0 0 (rjb4) 0 0 (lb4) sphere (rjb4) 0 0 (lb4) end name Finger4 list list list object Fingertip4 rotate 1 0 0 (jm4rot) translate 0 0 (lm4) object Fingermiddle4 end rotate 1 0 0 (jb4rot) translate 0 0 (lb4) object Fingerbase4 end rotate 1 0 0 (jh4rot) end /*** all fingers ***/ name Fingers list object Finger1 rotate 0 1 0 (splay1) translate (xofs1) 0 (-yofs1) object Finger2 rotate 0 1 0 (splay2) translate (xofs2) 0 (-yofs2) object Finger3 rotate 0 1 0 (splay3) translate (xofs3) 0 (-yofs3) object Finger4 rotate 0 1 0 (splay4) translate (xofs4) 0 (-yofs4) end /*** "palm" ***/ define wristx1 -2.3 define wristz1 -6 define wristr1 2 define wristx2 1.0 define wristz2 -6 define wristr2 2 name Palm list blob 0.6 5 1.3 (xofs1) 0 (-yofs1) 5 1.3 (xofs2) 0 (-yofs2) 5 1.2 (xofs3) 0 (-yofs3) 5 1.1 (xofs4) 0 (-yofs4) 3 0.9 (.5*xofs1) 0 0 3 0.9 (.5*xofs3) 0 0 3 0.9 (.5*(xofs3+xofs4)) 0 (-yofs3) 3 1.0 -3.4 0 -1.2 3 1.1 -2.3 0 -1.0 3 1.2 -1.2 0 -1.1 3 1.3 0 0 -1.2 3 1.2 1.1 0 -1.3 3 1.1 2.3 0 -1.1 cone 1.05 -3.6 0 (-yofs4) (wristr1) (wristx1) 0 (wristz1) sphere (wristr1) (wristx1) 0 (wristz1) cone 1.2 2.3 0 (-yofs1) (wristr2) (wristx2) 0 (wristz2) sphere (wristr2) (wristx2) 0 (wristz2) cone (wristr1) (wristx1) 0 (wristz1) (wristr2) (wristx2) 0 (wristz2) polygon 2.3 1.2 (-yofs1) -3.6 1.1 (-yofs4) (wristx1) (wristr1) (wristz1) (wristx2) (wristr2) (wristz2) polygon (wristx2) (-wristr2) (wristz2) (wristx1) (-wristr1) (wristz1) -3.6 -1.1 (-yofs4) 2.3 -1.2 (-yofs1) sphere 1.8 (.5*(wristx2+xofs0)) (.5*yofs0) (.5*(wristz2+zofs0)) sphere 1.8 (.55*(wristx2+xofs0)) (.6*yofs0) (.5*(wristz2+zofs0)+1) sphere 1.7 (.6*(wristx2+xofs0)) (.7*yofs0) (.5*(wristz2+zofs0)+2) end /*** thumb ***/ define thtipl 2.5 define thtipr .85 define thmidl 2.9 define thmidr .9 define thbasl 4.1 define thbasr 1.2 define thhndr 1.5 name Thumbtip list difference union list cone (thmidr) 0 0 0 (thtipr) 0 0 (thtipl) disc (thmidr) 0 0 0 0 0 -1 disc (thtipr) 0 0 (thtipl) 0 0 1 end sphere (thtipr) 0 0 (thtipl) end sphere 4 0 (4-.4+thtipr) (thtipl) scale 5 1 1 end end name Thumbmiddle list cone (thbasr) 0 0 0 (thmidr) 0 0 (thmidl) sphere (thmidr) 0 0 (thmidl) end name Thumbbase list cone (thhndr) 0 0 0 (thbasr) 0 0 (thbasl) sphere (thbasr) 0 0 (thbasl) sphere (thhndr) 0 0 0 end name Thumbflesh list cone 1.4 (.5*xofs0) (.5*yofs0) (.5*zofs0) 1.0 3.9 0 2.5 sphere 1.4 (.5*xofs0) (.5*yofs0) (.5*zofs0) sphere 1.1 3.9 0 2.5 end name Thumb list list list list object Thumbtip rotate 1 0 0 (jm0rot) translate 0 0 (thmidl) object Thumbmiddle end rotate 1 0 0 (jb0rot) translate 0 0 (thbasl) object Thumbbase end rotate 1 0 0 (jh0rot) rotate 0 1 0 (thangl) rotate 0 0 1 (-thdepr) translate (xofs0) (yofs0) (zofs0) end end /*** wrist ***/ define wristra 2.9 define wristrb 1.8 define wristl 4 name Wrist list list cylinder (wristra) 0 0 (-wristl) 0 0 0 sphere (wristra) 0 0 (-wristl) sphere (wristra) 0 0 0 end scale 1 ((wristrb)/(wristra)) 1 end /*** hand ***/ name Hand list list list object Palm object Thumb object Fingers end translate 0 0 (-wristz1) rotate 1 0 0 (-pitch) rotate 0 1 0 (-yaw) translate (-.5*((wristx1)+(wristx2))) 0 0 object Wrist end translate 0 0 (wristl) end surface Flesh diffuse .7 .4 .4 ambient .1 .1 .1 surface Gray diffuse .5 .5 .5 ambient .1 .1 .1 applysurf Flesh object Hand translate 0 0 -8 plane Gray 0 -12 0 0 1 0 background 0.2 0.3 0.7 eyep 20 8 2 lookp 0 -2 -0.5 fov 60 /*eyep 5 20 2 lookp 0 0 -2 fov 60*/ up 0 1 0 /*light 3 area 4 12 4 1 0 0 4 0 0 1 4*/ light 1 directional 1 3 1