home *** CD-ROM | disk | FTP | other *** search
/ Computerspiele Selbermachen / computerspieleselbermachen.iso / pov / panther.inc < prev    next >
Text File  |  1993-09-27  |  35KB  |  1,203 lines

  1. // Persistence of Vision Raytracer Version 2.0
  2.  
  3. #declare Panther_Inc_Temp = version
  4. #version 1.0
  5.  
  6. /*                PANTHER         M.Miller 11/18/91 - with help from Truman*/
  7.  
  8. #declare DCone = /*---------CONE POINT DOWN /POINT at 000--------*/
  9. intersection {
  10.    quadric { QCone_Y scale <1 1 1>  }
  11.    plane { <0 -1 0> 0  } plane { <0 1 0> 1   }  }
  12.  
  13. #declare UCone = /*---------CONE POINT UP /POINT at 000--------*/
  14. intersection {
  15.    quadric { QCone_Y scale <1 1 1>  }
  16.    plane { <0 1 0> 0    } plane { <0 1 0> -1 inverse  }
  17. }
  18.  
  19.  
  20. #declare pan1 = texture { 
  21.    /* image_map { <1.0 -1.0 0> gif "frac3.gif"  }       */ 
  22.    scale <40 40 4> rotate <0 0 180>
  23.    color green 0.3 red 0.16 blue 0.16
  24.    ambient 0.4 diffuse 0.7 phong 0.8 phong_size 25  }
  25.  
  26.  
  27.  
  28. /***********************************************************************/
  29. /*------------------------------THE HEAD-------------------------------*/
  30.  
  31. #declare Dot =    quadric {
  32.    < 1.0  1.0  1.0>
  33.    < 0.0  0.0  0.0>
  34.    < 0.0  0.0  0.0>
  35.    -1.0
  36. }
  37.  
  38. #declare Connector_1a = 
  39. object {
  40.    quadric {
  41.       < 0.0  1.0  1.0>
  42.       < 0.0  0.0  0.0>
  43.       < 0.0  0.0  0.0>
  44.       -1.0
  45.    }      
  46.    clipped_by {
  47.       plane { < 1.0  0.0  0.0> 1.0  }
  48.       plane { <-1.0  0.0  0.0> 0.0  }
  49.    }     
  50. }
  51.  
  52.  
  53. #declare Connector_2a =
  54. quadric {
  55.    < 1.0 -1.0  1.0>
  56.    < 0.0  0.0  0.0>
  57.    < 0.0  0.0  0.0>
  58.    0.0
  59.    rotate < 0.0  0.0  90.0>
  60. }
  61.  
  62.  
  63. /*************************************************************************/
  64. /*------------------THE NECK---------------------------------------------*/
  65. #declare neck =
  66.  
  67. union {
  68.    quadric { Dot scale < 6.000000  6.000000  6.000000>
  69.    }      
  70.  
  71.    quadric { Dot scale < 6.600000  6.600000  6.600000>
  72.       translate < 7.000000 -1.500000  0.000000>
  73.    }      
  74.  
  75.    quadric { Dot scale     < 7.000000  7.000000  7.000000>
  76.       translate < 16.500000 -5.000000  0.000000>
  77.    }      
  78. }
  79.  
  80.  
  81. #declare c1 = intersection { 
  82.    quadric { Connector_2a  } 
  83.    plane {     < 1.000000  0.000000  0.000000>  6.576779  }
  84.    plane {     < 1.000000  0.000000  0.000000>  5.978890 inverse  }
  85.  
  86.    translate <-5.978890  0.000000  0.000000>
  87.    scale     < 11.889538  1.000000  1.000000>
  88.    translate < 0.502870  0.000000  0.000000>
  89.    rotate    < 0.000000  0.000000 -12.094757>
  90.  
  91. #declare c2 = intersection {         
  92.    quadric { Connector_2a  } 
  93.    plane {     < 1.000000  0.000000  0.000000>  6.994534  }
  94.    plane {     < 1.000000  0.000000  0.000000>  6.594847 inverse  }
  95.    translate <-6.594847  0.000000  0.000000>
  96.    scale     < 25.290809  1.000000  1.000000>
  97.    translate < 0.260761  0.000000  0.000000>
  98.    rotate    < 0.000000  0.000000 -20.224859>
  99.    translate < 7.000000 -1.500000  0.000000>
  100. }
  101.  
  102. /*---------------------THE NOSE---------------------------------------*/
  103.  
  104. #declare Connector_1b = 
  105. object {
  106.    quadric {
  107.       < 0.0  1.0  1.0>
  108.       < 0.0  0.0  0.0>
  109.       < 0.0  0.0  0.0>
  110.       -1.0
  111.    }      
  112.    clipped_by {
  113.       plane { < 1.0  0.0  0.0> 1.0  }
  114.       plane { <-1.0  0.0  0.0> 0.0  }
  115.    }     
  116. }
  117.  
  118.  
  119. #declare Connector_2b =
  120. quadric {
  121.    < 1.0 -1.0  1.0>
  122.    < 0.0  0.0  0.0>
  123.    < 0.0  0.0  0.0>
  124.    0.0
  125.    rotate < 0.0  0.0  90.0>
  126. }
  127.  
  128.  
  129. #declare c3 = intersection { 
  130.    quadric { Connector_2b  } 
  131.    plane {     < 1.000000  0.000000  0.000000>  4.898979  }
  132.    plane {     < 1.000000  0.000000  0.000000>  3.919184 inverse  }
  133.  
  134.    translate <-3.919184  0.000000  0.000000>
  135.    scale     < 4.898979  1.010000  1.010000>
  136.    translate < 0.800000  0.000000  0.000000>
  137. }
  138.  
  139.  
  140. #declare nose = 
  141.  
  142. union {   
  143.    difference {
  144.       union {
  145.  
  146.          quadric { Dot scale     < 2.300000  4.000000  4.000000>  }
  147.          quadric { Ellipsoid scale <2.5 3.98 3.98> translate <0.3 0 0>  }
  148.          intersection { c3  }
  149.          quadric { Dot scale     < 4.000000  5.000000  5.000000>
  150.             translate < 5.000000  0.000000  0.000000>
  151.          }                  
  152.  
  153.          /*-------------Cleff Palette------------------------------------------*/
  154.          quadric { Ellipsoid scale <3 2 3> translate <1 1.7 -2>  }
  155.          quadric { Ellipsoid scale <3 3 3> translate <1 0.7 -2>  }
  156.  
  157.       }            
  158.  
  159.       quadric { Ellipsoid scale <2.2 1.7 7> translate <-0.5 -0.5 0>  }
  160.  
  161.    }         /*----------MOUTH OPENING--------------*/
  162. }   
  163.  
  164.  
  165. /*-------------------GUMS------------------------------*/
  166. #declare gum = union {
  167.    cylinder { <0,0,0>, y, 1 scale <3 0.7 3.5> translate <0 1.2 0>  }
  168.    cylinder { <0,0,0>, y, 1 scale <3 0.7 3.5> translate <0 -1 0>  }
  169. }
  170.  
  171. /*-----------Poodle Chew - Poodle Bite-----------------------------------*/
  172. #declare choppers = object {
  173.    union {
  174.       cylinder { <0,0,0>, y, 1 scale <2.8 0.7 3.3> translate <0 0.9 0>  }
  175.       cylinder { <0,0,0>, y, 1 scale <2.8 0.7 3.3> translate <0 -0.7 0>  }
  176.       intersection { DCone scale <0.4 1.5 0.4> translate <-2 -0.2 -2>  }
  177.       intersection { DCone scale <0.4 1.5 0.4> translate <-2 -0.2 2>  }
  178.    }       
  179.    texture { color White phong 1.0  }
  180. }
  181.  
  182.  
  183. /*----------------THE SKULL---------------------------------------------*/
  184.  
  185.  
  186.  
  187. #declare Connector_1c = 
  188. object {
  189.    quadric {
  190.       < 0.0  1.0  1.0>
  191.       < 0.0  0.0  0.0>
  192.       < 0.0  0.0  0.0>
  193.       -1.0
  194.    }      
  195.    clipped_by {
  196.       plane { < 1.0  0.0  0.0> 1.0  }
  197.       plane { <-1.0  0.0  0.0> 0.0  }
  198.    }     
  199. }
  200.  
  201.  
  202. #declare Connector_2c =
  203. quadric {
  204.    < 1.0 -1.0  1.0>
  205.    < 0.0  0.0  0.0>
  206.    < 0.0  0.0  0.0>
  207.    0.0
  208.    rotate < 0.0  0.0  90.0>
  209. }
  210.  
  211. #declare skull = 
  212.  
  213. union {
  214.    difference {
  215.       union {
  216.          quadric { Dot scale < 3.200000  6.200000  6.200000>  }
  217.  
  218.          quadric { Dot scale < 6.500000  6.500000  6.500000>
  219.             translate < 3.000000 -0.100000  0.000000>
  220.          }                  
  221.  
  222.          /*------SOCKET MOUND-----------------------------------------*/
  223.          quadric { Ellipsoid scale <2 2 2> translate <1 3.2 -4>  }
  224.          /*
  225. {--------------JAW----------------------------------------------------}
  226. quadric { Ellipsoid scale <4 4 2> translate <2.3 -0.5 -4.7> }
  227. */
  228.       }            
  229.  
  230.  
  231.       /*----------------Eye Sockets------------------------------------------*/
  232.       quadric { Cylinder_X scale <1 1.3 1.3> translate <0 3.1 3.9>  }
  233.       quadric { Cylinder_X scale <1 1.3 1.3> translate <0 3.1 -3.9>  }
  234.    }      
  235. }
  236.  
  237.  
  238.  
  239. #declare c4 = intersection {
  240.    quadric { Connector_2c  } 
  241.    plane {     < 1.000000  0.000000  0.000000>  6.467455  }
  242.    plane {     < 1.000000  0.000000  0.000000>  6.168957 inverse  }
  243.  
  244.    translate <-6.168957  0.000000  0.000000>
  245.    scale     < 9.955456  1.000000  1.000000>
  246.    translate < 0.619656  0.000000  0.000000>
  247.    rotate    < 0.000000  0.000000 -1.909152>
  248. }
  249.  
  250.  
  251. #declare eye = /*---------------EYE BALL----------------*/
  252. object {
  253.    quadric { Ellipsoid scale <1.2 1 1.2>  }
  254.    texture {
  255.       /*
  256. image_map { <1.0 -1.0 0> gif "pantheye.gif" }
  257. */
  258.       scale <2 1.8 1> translate <-1 -0.9 -1> color Black phong 1.0
  259.  
  260.    }      
  261.    rotate <0 50 0>
  262. }
  263.  
  264. #declare ear = difference {   /*-----EAR------*/
  265.    quadric { Ellipsoid scale <1.75 3.5 1.75>  }
  266.    quadric { Ellipsoid scale <1.25 3.5 1.25> translate <-0.7 -0.5 0>  }
  267.    rotate <0 -65 0>
  268. }
  269.  
  270. /*---------------------------A Matching set---------------------------------*/
  271.  
  272. #declare ears = 
  273. union {
  274.    difference { ear rotate <0 0 -30> rotate <30 0 0> translate <0 0 6>  }
  275.    difference { ear rotate <0 0 -30> rotate <-30 0 0> translate <0 0 -6>  }
  276. }
  277.  
  278.  
  279. #declare bridge =  /*----------NOSE & BRIDGE------*/
  280. union {
  281.    cylinder { <0,0,0>, x, 1 scale <6.5 1.2 1.2>  }
  282.    quadric { Ellipsoid scale <1 1.5 1.5>  }
  283.    quadric { Ellipsoid scale <1.3 1.3 1.3> translate <0.2 0 0>  }
  284. }
  285.  
  286.  
  287.  
  288. #declare ed = 
  289. object {
  290.    union {
  291.       union { nose scale <1 1 1.4> rotate <0 0 7> translate <-42.5 24.3 0>  }
  292.       union { skull scale <1.2 1 1.2> rotate <0 0 4> translate <-38 26 0>  }
  293.       union { neck scale <1 1 0.8> translate <-33 26.5 0>  }
  294.       intersection { c1 translate <-33 26.5 0>  }
  295.       intersection { c2 translate <-33 26.5 0>  }
  296.       intersection { c4 scale <1.2 1 1.2> rotate <0 0 4> translate <-38