home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ray Tracing Box
/
RAY_CD.mdf
/
raytrace
/
_pov_dat
/
rex5
/
hand.inc
< prev
next >
Wrap
Text File
|
1993-01-16
|
21KB
|
800 lines
//--- Robotic Hand ..................Miller 1/15/92
//+++++++++++++++++++++++++++++++++++
#declare Dot =
quadric {
< 1.0 1.0 1.0>
< 0.0 0.0 0.0>
< 0.0 0.0 0.0>
-1.0
}
#declare Connector_1 =
object {
quadric {
< 0.0 1.0 1.0>
< 0.0 0.0 0.0>
< 0.0 0.0 0.0>
-1.0
}
clipped_by {
plane { < 1.0 0.0 0.0> 1.0 }
plane { <-1.0 0.0 0.0> 0.0 }
}
}
#declare Connector_2 =
quadric {
< 1.0 -1.0 1.0>
< 0.0 0.0 0.0>
< 0.0 0.0 0.0>
0.0
rotate < 0.0 0.0 90.0>
}
#declare Connector_3 =
intersection {
quadric {
< 0.0 1.0 1.0>
< 0.0 0.0 0.0>
< 0.0 0.0 0.0>
-1.0
}
plane { < 1.0 0.0 0.0> 1.0 }
plane { <-1.0 0.0 0.0> 0.0 }
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++
//-- Top Digit
#declare D1 =
object {
union {
quadric {
Dot
scale < 8.600000 8.600000 8.600000>
}
intersection {
quadric { Connector_2 }
plane { < 1.000000 0.000000 0.000000> 8.576622 }
plane { < 1.000000 0.000000 0.000000> 7.180428 inverse }
translate <-8.576622 0.000000 0.000000>
scale < 13.534536 1.000000 1.000000>
translate <-0.633684 0.000000 0.000000>
rotate < 0.000000 180.000000 0.000000>
rotate < 0.000000 0.000000 90.000000>
}
quadric {
Dot
scale < 7.200000 7.200000 7.200000>
translate < 0.000000 19.000000 0.000000>
}
}
texture { HandTexture }
bounded_by {
quadric { Dot
scale < 23.352148 23.352148 23.352148>
translate < 0.000000 8.800000 0.000000>
}
}
}
//--- Middle Digit
#declare D2 =
object {
union {
quadric {
Dot
scale < 9.800000 9.800000 9.800000>
}
intersection {
quadric { Connector_2 }
plane { < 1.000000 0.000000 0.000000> 9.787105 }
plane { < 1.000000 0.000000 0.000000> 8.588684 inverse }
translate <-9.787105 0.000000 0.000000>
scale < 19.474342 1.000000 1.000000>
translate <-0.502564 0.000000 0.000000>
rotate < 0.000000 180.000000 0.000000>
rotate < 0.000000 0.000000 90.000000>
}
quadric {
Dot
scale < 8.600000 8.600000 8.600000>
translate < 0.000000 23.400000 0.000000>
}
}
texture { HandTexture }
bounded_by {
quadric {
Dot
scale < 27.585447 27.585447 27.585447>
translate < 0.000000 11.100000 0.000000>
}
}
}
//--- Lower Digit
#declare D3 =
object {
union {
quadric {
Dot
scale < 11.400000 11.400000 11.400000>
}
intersection {
quadric { Connector_2 }
plane { < 1.000000 0.000000 0.000000> 11.383989 }
plane { < 1.000000 0.000000 0.000000> 9.786237 inverse }
translate <-11.383989 0.000000 0.000000>
scale < 18.848491 1.000000 1.000000>
translate <-0.603974 0.000000 0.000000>
rotate < 0.000000 180.000000 0.000000>
rotate < 0.000000 0.000000 90.000000>
}
quadric {
Dot
scale < 9.800000 9.800000 9.800000>
translate < 0.000000 30.200000 0.000000>
}
}
texture { HandTexture }
bounded_by {
quadric {
Dot
scale < 33.372086 33.372086 33.372086>
translate < 0.000000 14.300000 0.000000>
}
}
}
//--- Base Thumb
#declare T1 =
object {
union {
quadric {
Dot
scale < 22.200000 22.200000 22.200000>
}
intersection {
quadric { Connector_2 }
plane { < 1.000000 0.000000 0.000000> 21.677773 }
plane { < 1.000000 0.000000 0.000000> 14.940087 inverse }
translate <-21.677773 0.000000 0.000000>
scale < 4.528585 1.000000 1.000000>
translate <-4.786875 0.000000 0.000000>
rotate < 0.000000 180.000000 0.000000>
rotate < 0.000000 0.000000 90.000000>
}
quadric {
Dot
scale < 15.300000 15.300000 15.300000>
translate < 0.000000 32.000000 0.000000>
}
}
texture { HandTexture }
bounded_by {
quadric {
Dot
scale < 51.515274 51.515274 51.515274>
translate < 0.000000 12.550000 0.000000>
}
}
scale <.8 1 .8>
}
//--- Mid Thumb
#declare T2 =
object {
union {
quadric {
Dot
scale < 15.300000 15.300000 15.300000>
}
intersection {
quadric { Connector_2 }
plane { < 1.000000 0.000000 0.000000> 14.676853 }
plane { < 1.000000 0.000000 0.000000> 9.880496 inverse }
translate <-14.676853 0.000000 0.000000>
scale < 3.395821 1.000000 1.000000>
translate <-4.322034 0.000000 0.000000>
rotate < 0.000000 180.000000 0.000000>
rotate < 0.000000 0.000000 90.000000>
}
quadric {
Dot
scale < 10.300000 10.300000 10.300000>
translate < 0.000000 17.700000 0.000000>
}
}
texture { HandTexture }
bounded_by {
quadric {
Dot
scale < 33.669749 33.669749 33.669749>
translate < 0.000000 6.350000 0.000000>
}
}
scale <.8 1 .8>
}
//--- Thumb Tip
#declare T3 =
object {
union {
quadric {
Dot
scale < 10.300000 10.300000 10.300000>
}
intersection {
quadric { Connector_2 }
plane { < 1.000000 0.000000 0.000000> 10.188270 }
plane { < 1.000000 0.000000 0.000000> 7.616474 inverse }
translate <-10.188270 0.000000 0.000000>
scale < 6.733845 1.000000 1.000000>
translate <-1.512994 0.000000 0.000000>
rotate < 0.000000 180.000000 0.000000>
rotate < 0.000000 0.000000 90.000000>
}
quadric {
Dot
scale < 7.700000 7.700000 7.700000>
translate < 0.000000 17.700000 0.000000>
}
}
texture { HandTexture }
bounded_by {
quadric {
Dot
scale < 25.343067 25.343067 25.343067>
translate < 0.000000 7.550000 0.000000>
}
}
scale <.8 1 .8>
}
#declare Palm =
object {
difference {
union {
quadric {
Dot
scale < 31.000000 31.000000 31.000000>
translate < 20.400000 28.800000 0.000000>
}
intersection {
Connector_3
scale < 40.200000 31.000000 31.000000>
rotate < 0.000000 -180.000000 0.000000>
translate < 20.400000 28.800000 6.000000> //z change was 0
}
quadric {
Dot
scale < 31.000000 31.000000 31.000000>
translate <-19.800000 28.800000 0.000000>
}
intersection {
Connector_3
scale < 32.846918 31.000000 31.000000>
rotate < 0.000000 0.000000 80.537678>
translate <-19.800000 28.800000 0.000000>
}
quadric {
Dot
scale < 31.000000 31.000000 31.000000>
translate <-14.400000 61.200000 0.000000>
}
intersection {
Connector_3
scale < 32.975749 31.000000 31.000000>
rotate < 0.000000 0.000000 5.918060>
translate <-14.400000 61.200000 5.000000>
}
quadric {
Dot
scale < 31.000000 31.000000 31.000000>
translate < 18.400000 64.600000 0.000000>
}
}
quadric { Cylinder_X scale <1 52 32> translate <0 45.8 -4.6> inverse }
}
texture { HandTexture }
bounded_by {
quadric {
Dot
scale < 84.945501 84.945501 84.945501>
translate < 0.300000 46.700000 0.000000>
}
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//--- Complete Right Hand
#declare RightHand =
composite {
//--- First Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-30 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-30 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <.8 .8 .8> //-- Sizes Finger
rotate <-15 0 0> //-- Rotates Whole Finger inward
rotate <0 0 14> //-- Rotates Whole Finger "Fan"
translate <-35 85.8 0> //-- Moves Finger over
}
//--- Second Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-20 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-20 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <.9 .9 .9> //-- Sizes Finger
rotate <-10 0 0> //-- Rotates Whole Finger inward
rotate <0 0 7> //-- Rotates Whole Finger "Fan"
translate <-13.3 90.7 0> //-- Moves Finger over
}
//--- Third Bird Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-10 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-10 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <1 1 1> //-- Sizes Finger
rotate <-5 0 0> //-- Rotates Whole Finger inward
rotate <0 0 0> //-- Rotates Whole Finger "Fan"
translate <11.4 91.1 0> //-- Moves Finger over
}
//--- Fourth Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-40 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-20 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <.9 .9 .9> //-- Sizes Finger
rotate <-15 0 0> //-- Rotates Whole Finger inward
rotate <0 0 -7> //-- Rotates Whole Finger "Fan"
translate <34.7 87.8 0> //-- Moves Finger over
}
//--- Thumb
composite {
object { T1 }
composite {
object { T2 }
object { T3
rotate <0 0 40> //--- Rotates Thumb Tip inward
translate <0 17.7 0>
}
rotate <0 0 10> //--- Rotate Mid Thumb inward
translate <0 32 0>
}
scale <1 1 .9>
rotate <0 0 -40> //--- Rotate Whole Thumb
rotate <0 30 0>
translate <40 20.1 0>
}
object { Palm scale <1 1 .6> }
object {
union {
quadric { Sphere scale <10 10 5> translate <-33 76 9> }
quadric { Sphere scale <10 10 5> translate <-13.3 83 9> }
quadric { Sphere scale <10 10 5> translate <11.4 84 9> }
quadric { Sphere scale <10 10 5> translate <34.7 80 9> }
}
texture { HandTexture }
}
bounded_by {
quadric { Sphere scale <103 103 103> translate <0 80 0> }
}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//--- Complete Left Hand
#declare LeftHand =
composite {
//--- First Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-30 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-30 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <.8 .8 .8> //-- Sizes Finger
rotate <-15 0 0> //-- Rotates Whole Finger inward
rotate <0 0 -14> //-- Rotates Whole Finger "Fan"
translate <35 85.8 0> //-- Moves Finger over
}
//--- Second Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-20 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-20 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <.9 .9 .9> //-- Sizes Finger
rotate <-10 0 0> //-- Rotates Whole Finger inward
rotate <0 0 -7> //-- Rotates Whole Finger "Fan"
translate <13.3 90.7 0> //-- Moves Finger over
}
//--- Third Bird Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-10 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-10 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <1 1 1> //-- Sizes Finger
rotate <-5 0 0> //-- Rotates Whole Finger inward
rotate <0 0 0> //-- Rotates Whole Finger "Fan"
translate <-11.4 91.1 0> //-- Moves Finger over
}
//--- Fourth Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-40 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-20 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <.9 .9 .9> //-- Sizes Finger
rotate <-15 0 0> //-- Rotates Whole Finger inward
rotate <0 0 7> //-- Rotates Whole Finger "Fan"
translate <-34.7 87.8 0> //-- Moves Finger over
}
//--- Thumb
composite {
object { T1 }
composite {
object { T2 }
object { T3
rotate <0 0 40> //--- Rotates Thumb Tip inward
translate <0 17.7 0>
}
rotate <0 0 10> //--- Rotate Mid Thumb inward
translate <0 32 0>
}
rotate <0 150 0>
scale <1 1 .9>
rotate <0 0 40> //--- Rotate Whole Thumb
translate <-40 20.1 0>
}
object { Palm scale <1 1 .6> }
object {
union {
quadric { Sphere scale <10 10 5> translate <33 76 9> }
quadric { Sphere scale <10 10 5> translate <13.3 83 9> }
quadric { Sphere scale <10 10 5> translate <-11.4 84 9> }
quadric { Sphere scale <10 10 5> translate <-34.7 80 9> }
}
texture { HandTexture }
}
bounded_by {
quadric { Sphere scale <103 103 103> translate <0 80 0> }
}
}
//--- Hey Joe, where you going with that gun in your hand?
#declare GunHand =
composite {
composite {
//--- First Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-70 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-70 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <.8 .8 .8> //-- Sizes Finger
rotate <-25 0 0> //-- Rotates Whole Finger inward
rotate <0 0 -14> //-- Rotates Whole Finger "Fan"
translate <35 85.8 0> //-- Moves Finger over
}
//--- Second Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-70 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-70 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <.9 .9 .9> //-- Sizes Finger
rotate <-25 0 0> //-- Rotates Whole Finger inward
rotate <0 0 -7> //-- Rotates Whole Finger "Fan"
translate <13.3 90.7 0> //-- Moves Finger over
}
//--- Third Bird Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-70 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-70 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <1 1 1> //-- Sizes Finger
rotate <-25 0 0> //-- Rotates Whole Finger inward
rotate <0 0 0> //-- Rotates Whole Finger "Fan"
translate <-11.4 91.1 0> //-- Moves Finger over
}
//--- Fourth Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-40 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-20 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <.9 .9 .9> //-- Sizes Finger
rotate <-15 0 0> //-- Rotates Whole Finger inward
rotate <0 0 7> //-- Rotates Whole Finger "Fan"
translate <-34.7 87.8 0> //-- Moves Finger over
}
//--- Thumb
composite {
object { T1 }
composite {
object { T2 }
object { T3
rotate <0 0 40> //--- Rotates Thumb Tip inward
translate <0 17.7 0>
}
rotate <0 0 10> //--- Rotate Mid Thumb inward
translate <0 32 0>
}
rotate <0 90 0>
scale <1 1 .9>
rotate <0 0 5> //--- Rotate Whole Thumb
rotate <-40 0 0>
translate <-40 20.1 -2>
}
object { Palm scale <1 1 .6> }
object {
union {
quadric { Sphere scale <10 10 5> translate <33 76 9> }
quadric { Sphere scale <10 10 5> translate <13.3 83 9> }
quadric { Sphere scale <10 10 5> translate <-11.4 84 9> }
quadric { Sphere scale <10 10 5> translate <-34.7 80 9> }
}
texture { HandTexture }
}
bounded_by {
quadric { Sphere scale <103 103 103> translate <0 80 0> }
}
scale <.35 .35 .35>
}
composite { RayGun
scale <.9 .9 .9>
rotate <0 0 -90>
rotate <0 180 0>
translate <-5 28 -6>
}
}
//--- Hand with Gun but no bullets
#declare GunHand_N =
composite {
composite {
//--- First Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-70 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-70 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <.8 .8 .8> //-- Sizes Finger
rotate <-25 0 0> //-- Rotates Whole Finger inward
rotate <0 0 -14> //-- Rotates Whole Finger "Fan"
translate <35 85.8 0> //-- Moves Finger over
}
//--- Second Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-70 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-70 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <.9 .9 .9> //-- Sizes Finger
rotate <-25 0 0> //-- Rotates Whole Finger inward
rotate <0 0 -7> //-- Rotates Whole Finger "Fan"
translate <13.3 90.7 0> //-- Moves Finger over
}
//--- Third Bird Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-70 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-70 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <1 1 1> //-- Sizes Finger
rotate <-25 0 0> //-- Rotates Whole Finger inward
rotate <0 0 0> //-- Rotates Whole Finger "Fan"
translate <-11.4 91.1 0> //-- Moves Finger over
}
//--- Fourth Finger
composite {
object { D3 }
composite {
object { D2 }
object { D1
rotate <-40 0 0> //-- Rotates Finger tip
translate <0 23.4 0>
}
rotate <-20 0 0> //-- Rotates Middle digit
translate <0 30.2 0>
}
scale <.9 .9 .9> //-- Sizes Finger
rotate <-15 0 0> //-- Rotates Whole Finger inward
rotate <0 0 7> //-- Rotates Whole Finger "Fan"
translate <-34.7 87.8 0> //-- Moves Finger over
}
//--- Thumb
composite {
object { T1 }
composite {
object { T2 }
object { T3
rotate <0 0 40> //--- Rotates Thumb Tip inward
translate <0 17.7 0>
}
rotate <0 0 10> //--- Rotate Mid Thumb inward
translate <0 32 0>
}
rotate <0 90 0>
scale <1 1 .9>
rotate <0 0 5> //--- Rotate Whole Thumb
rotate <-40 0 0>
translate <-40 20.1 -2>
}
object { Palm scale <1 1 .6> }
object {
union {
quadric { Sphere scale <10 10 5> translate <33 76 9> }
quadric { Sphere scale <10 10 5> translate <13.3 83 9> }
quadric { Sphere scale <10 10 5> translate <-11.4 84 9> }
quadric { Sphere scale <10 10 5> translate <-34.7 80 9> }
}
texture { HandTexture }
}
bounded_by {
quadric { Sphere scale <103 103 103> translate <0 80 0> }
}
scale <.35 .35 .35>
}
composite { Gun
scale <.9 .9 .9>
rotate <0 0 -90>
rotate <0 180 0>
translate <-5 28 -6>
}
}