home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / utilities / utilsp / povray / !POVscene / level3 / inc / panther < prev    next >
Text File  |  1992-07-21  |  34KB  |  1,197 lines

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