home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / p / ply15dat.zip / BODY.INC < prev    next >
Text File  |  1992-09-19  |  5KB  |  192 lines

  1. //
  2. // Slight adaptation of the CSG man developed by Will Wagner
  3. //
  4. define person
  5. object {
  6.    // Upper body
  7.    object {
  8.       // Head and neck
  9.       object {
  10.      // Head
  11.      object {
  12.         object { sphere <0,-0.15,0.5>, 1 } +
  13.         ( object { cylinder <0,-0.15,-1.5>, <0,-0.15,0.5>, 1 } *
  14.           object { sphere <0,-1.025,0.5>, 1.375 } )
  15.         rotate headrot
  16.         translate <0,-0.45,1.5>
  17.         } +
  18.  
  19.      // Neck
  20.      object { sphere <0,0,0>, 0.575 } +
  21.      object { cylinder <0,0,0>, <0,-0.45,1.5>, 0.575 } +
  22.      object { sphere <0,-0.45,1.5>, 0.675 }
  23.      rotate neckrot
  24.      translate <0,0.3,2.6>
  25.      } +
  26.  
  27.       // Right arm
  28.       object {
  29.      // Lower arm
  30.      object {
  31.         // Hand
  32.         object {
  33.            // Fingers
  34.            object {
  35.           object {
  36.              cone <0,0,0>, 0.15, <0,0,-0.65>, 0.1
  37.              scale <1,3.5,1>
  38.              }
  39.           rotate rfingerrot
  40.           translate <0,0,-0.65>
  41.           } +
  42.  
  43.            // Wrist & metacarpals
  44.            object { cylinder <0.15,0,0>, <-0.15,0,0>, 0.65 scale <1,1,0.5>}+
  45.            object { disc <0.15,0,0>, <1,0,0>, 0.65 scale <1,1,0.5> } +
  46.            object { disc <-0.15,0,0>, <-1,0,0>, 0.65 scale <1,1,0.5> } +
  47.            object { cylinder <0,0,0>, <0,0,-0.65>, 0.15 scale <1,3.5,1> } +
  48.            object { sphere <0,0,-0.65>, 0.15 scale<1,3.5,1> }
  49.            rotate rhandrot
  50.            translate <0,0,-2.25>
  51.            } +
  52.  
  53.         // Elbow & humerus
  54.         object { sphere <0,0,0>, 0.6 } +
  55.         object { cone <0,0,0>, 0.5, <0,0,-2.25>, 0.2 }
  56.         rotate ralowerrot
  57.         translate <0,0,-2.575>
  58.         } +
  59.  
  60.      // Shoulder & upper arm
  61.      object { sphere <0,0,0>, 0.75 } +
  62.      object { cone <0,0,0>, 0.65, <0,0,-2.575>, 0.5 }
  63.      rotate raupperrot
  64.      translate <2.65,0,2.25>
  65.      } +
  66.  
  67.       // Left arm
  68.       object {
  69.      // Lower arm
  70.      object {
  71.         // Hand
  72.         object {
  73.            // Fingers
  74.            object {
  75.           object {
  76.              cone <0,0,0>, 0.15, <0,0,-0.65>, 0.1
  77.              scale<1,3.5,1>
  78.              }
  79.           rotate lfingerrot
  80.           translate <0,0,-0.65>
  81.           } +
  82.  
  83.            // Wrist & metacarpals
  84.            object { cylinder <0.15,0,0>, <-0.15,0,0>, 0.65 scale <1,1,0.5>}+
  85.            object { disc <0.15,0,0>, <1,0,0>, 0.65 scale <1,1,0.5> } +
  86.            object { disc <-0.15,0,0>, <-1,0,0>, 0.65 scale <1,1,0.5> } +
  87.            object { cylinder <0,0,0>, <0,0,-0.65>, 0.15 scale <1,3.5,1> } +
  88.            object { sphere <0,0,-0.65>, 0.15 scale <1,3.5,1> }
  89.            rotate lhandrot
  90.            translate <0,0,-2.25>
  91.            } +
  92.  
  93.         // Elbow & humerus
  94.         object { sphere <0,0,0>, 0.6 } +
  95.         object { cone <0,0,0>, 0.5, <0,0,-2.25>, 0.2 }
  96.         rotate lalowerrot
  97.         translate <0,0,-2.575>
  98.         } +
  99.  
  100.      // Shoulder & upper arm
  101.      object { sphere <0,0,0>, 0.75 } +
  102.      object { cone <0,0,0>, 0.65, <0,0,-2.575>, 0.5 }
  103.      rotate laupperrot
  104.      translate <-2.65,0,2.25>
  105.      } +
  106.  
  107.       // Torso
  108.       object { sphere <0,0,2>, 1.2 scale <1.85,1,1> } +
  109.       object { cylinder <0,0,2>, <0,0,1.75>, 1.2 scale <1.85,1,1> } +
  110.       object { parabola <0,0,-1>, <0,0,1.75>, 1.2 scale <1.85,1,1> }
  111.       rotate torsorot
  112.       } +
  113.  
  114.    // Lower body
  115.    object {
  116.       // Right leg
  117.       object {
  118.      // Lower leg
  119.      object {
  120.         // Foot
  121.         object {
  122.            object { sphere <0,0,0>, 0.5 } +
  123.            object { cylinder <0,-0.25,-0.5>, <0,-0.25,-0.85>, 0.5
  124.             scale <1,3.5,1> } +
  125.            ( object { sphere <0,-0.25,-0.5>, 0.5 scale <1,3.5,1> } *
  126.          object { disc <0,-0.25,-0.5>, <0,0,1>, 5 } )
  127.            rotate rfootrot
  128.            translate <0,0,-2.75>
  129.            } +
  130.  
  131.         // Knee & Tibia
  132.         object { sphere <0,0,0>, 0.85 } +
  133.         object { cone <0,0,0>, 0.75, <0,0,-2.75>, 0.4 }
  134.         rotate rcalfrot
  135.         translate <0,0,-2.75>
  136.         } +
  137.      
  138.      // Hip joint
  139.      object { sphere <0,0,0>, 0.85 } +
  140.  
  141.      // Femur & quads
  142.      object { cylinder <0,0,0>, <0,0,-2.75>, 0.8 }
  143.      rotate rthighrot
  144.      translate<1,0,-0.25>
  145.      } +
  146.  
  147.       // Left leg
  148.       object {
  149.      // Lower leg
  150.      object {
  151.         // Foot
  152.         object {
  153.            object { sphere <0,0,0>, 0.5 } +
  154.            object { cylinder <0,-0.25,-0.5>, <0,-0.25,-0.85>, 0.5
  155.             scale <1,3.5,1> } +
  156.            ( object { sphere <0,-0.25,-0.5>, 0.5 scale <1,3.5,1> } *
  157.          object { disc <0,-0.25,-0.5>, <0,0,1>, 5 } )
  158.            rotate lfootrot
  159.            translate <0,0,-2.75>
  160.            } +
  161.  
  162.         // Knee & Tibia
  163.         object { sphere <0,0,0>, 0.85 } +
  164.         object { cone <0,0,0>, 0.75, <0,0,-2.75>, 0.4 }
  165.         rotate lcalfrot
  166.         translate <0,0,-2.75>
  167.         } +
  168.  
  169.      // Hip joint
  170.      object { sphere <0,0,0>, 0.85 } +
  171.  
  172.      // Femur & quads
  173.      object { cylinder <0,0,0>, <0,0,-2.75>, 0.8 }
  174.      rotate lthighrot
  175.      translate<-1,0,-0.25>
  176.      } +
  177.  
  178.       // Abdomen
  179.       object {
  180.      lathe 2, <0,1,0>, 6,
  181.         <0,1,0>, <0.5,1,0>, <1,0.75,0>, <1,0,0>, <0.25,-1,0>, <0,-1,0>
  182.      root_solver Sturm
  183.      rotate<90,0,0>
  184.      scale<1.85,1,1>
  185.      }
  186.       rotate abdomenrot
  187.       translate<0,0,-1.75>
  188.       }
  189.    rotate <-90, 180, 0>
  190.    translate <0, 8.35, 0>
  191.    }
  192.