home *** CD-ROM | disk | FTP | other *** search
/ ANews 3 / AnewsCD3.iso / atari / GRAPHX / POV / 68030.060 / POV31G30 / POVRAY_3.1G / SCENES / ADVANCED / IONIC5 / PANTHER.INC < prev    next >
Text File  |  1999-10-30  |  35KB  |  1,176 lines

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