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

  1. // Persistence Of Vision raytracer version 3.1 sample file.
  2. #include "lizard.inc"
  3.  
  4. #declare SHead3_Inc_Temp = version;
  5. #version 1.0;
  6.  
  7.  
  8. /*---This dat is the top "head" half of snake------*/
  9.  
  10.  
  11. /***********************************************************************/
  12. /*------------------------------THE HEAD-------------------------------*/
  13.  
  14. // #declare Dot =    quadric {
  15. //    < 1.0  1.0  1.0>
  16. //    < 0.0  0.0  0.0>
  17. //    < 0.0  0.0  0.0>
  18. //    -1.0
  19. // }
  20. #declare Dot = sphere { 0, 1 }
  21.  
  22. // #declare Connector_1a =
  23. // object {
  24. //    quadric {
  25. //       < 0.0  1.0  1.0>
  26. //       < 0.0  0.0  0.0>
  27. //       < 0.0  0.0  0.0>
  28. //       -1.0
  29. //    }
  30. //    clipped_by {
  31. //       plane { < 1.0  0.0  0.0> 1.0  }
  32. //       plane { <-1.0  0.0  0.0> 0.0  }
  33. //    }
  34. // }
  35. #declare Connector_1a = cylinder { -x, x, 1 }
  36.  
  37.  
  38. // Infinite cone in Y axis, rotated to X axis
  39. #declare Connector_2a =
  40. quadric {
  41.    < 1.0 -1.0  1.0>
  42.    < 0.0  0.0  0.0>
  43.    < 0.0  0.0  0.0>
  44.    0.0
  45.    rotate < 0.0  0.0  90.0>
  46. }
  47.  
  48.  
  49.  
  50. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
  51. /*---------------------THE NOSE---------------------------------------*/
  52.  
  53. #declare Connector_1b = 
  54. object {
  55.    quadric {
  56.       < 0.0  1.0  1.0>
  57.       < 0.0  0.0  0.0>
  58.       < 0.0  0.0  0.0>
  59.       -1.0
  60.    }      
  61.    clipped_by {
  62.       plane { < 1.0  0.0  0.0> 1.0  }
  63.       plane { <-1.0  0.0  0.0> 0.0  }
  64.    }      
  65. }
  66.  
  67.  
  68. #declare Connector_2b =
  69. quadric {
  70.    < 1.0 -1.0  1.0>
  71.    < 0.0  0.0  0.0>
  72.    < 0.0  0.0  0.0>
  73.    0.0
  74.    rotate < 0.0  0.0  90.0>
  75. }
  76.  
  77.  
  78. #declare c3 = intersection { 
  79.    quadric { Connector_2b  } 
  80.    plane {     < 1.000000  0.000000  0.000000>  4.898979  }
  81.    plane {     < 1.000000  0.000000  0.000000>  3.919184 inverse  }
  82.  
  83.    translate <-3.919184  0.000000  0.000000>
  84.    scale     < 4.898979  1.010000  1.010000>
  85.    translate < 0.800000  0.000000  0.000000>
  86. }
  87.  
  88.  
  89. #declare nose = 
  90.  
  91. union {   
  92.    difference {
  93.       union {
  94.  
  95.          quadric { Dot scale     < 2.300000  4.000000  4.000000>  }
  96.          quadric { Ellipsoid scale <2.5 3.98 3.98> translate <0.3 0 0>  }
  97.          intersection { c3  }
  98.          quadric { Dot scale     < 4.000000  5.000000  5.000000>
  99.             translate < 5.000000  0.000000  0.000000>
  100.          }                  
  101.  
  102.          /*-------------Cleff Palette------------------------------------------*/
  103.          quadric { Ellipsoid scale <3 2 3> translate <1 1.7 -2>  }
  104.          quadric { Ellipsoid scale <3 3 3> translate <1 0.7 -2>  }
  105.  
  106.       }            
  107.  
  108.       quadric { Ellipsoid scale <2.2 1.7 7> translate <-0.5 -0.5 0>  }
  109.  
  110.    }         /*----------MOUTH OPENING--------------*/
  111. }   
  112.  
  113.  
  114. /*-------------------GUMS------------------------------*/
  115. #declare gum = union {
  116.    cylinder { <0,0,0>, y, 1 scale <3 0.7 3.5> translate <-1 1.3 0>  }
  117.    cylinder { <0,0,0>, y, 1 scale <3 0.7 3.5> translate <-0.3 -1.2 0>  }
  118. }
  119.  
  120. /*-----------Poodle Chew - Poodle Bite-----------------------------------*/
  121. #declare choppers = object {
  122.    union {
  123.       cylinder { <0,0,0>, y, 1 scale <2.8 0.7 3.6> translate <-1 1.1 0>  }
  124.       cylinder { <0,0,0>, y, 1 scale <2.8 0.7 3.6> translate <-0.5 -0.95 0>  }
  125.    }      
  126.    texture { color Firebrick phong 1.0  }
  127. }
  128.  
  129.  
  130.  
  131. #declare fangs = object {
  132.    union {
  133.       intersection { DCone scale <0.5 1.9 0.5> translate <-2.5 -0.5 -2.5>  }
  134.       intersection { DCone scale <0.5 1.9 0.5> translate <-2.5 -0.5 2.5>  }
  135.    }       
  136.    texture { color White phong 1.0  }
  137. }
  138.  
  139.  
  140.  
  141.  
  142.  
  143. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
  144. /*----------------THE SKULL---------------------------------------------*/
  145.  
  146.  
  147.  
  148. #declare Connector_1c = 
  149. object {
  150.    quadric {
  151.       < 0.0  1.0  1.0>
  152.       < 0.0  0.0  0.0>
  153.       < 0.0  0.0  0.0>
  154.       -1.0
  155.    }      
  156.    clipped_by {
  157.       plane { < 1.0  0.0  0.0> 1.0  }
  158.       plane { <-1.0  0.0  0.0> 0.0  }
  159.    }      
  160. }
  161.  
  162.  
  163. #declare Connector_2c =
  164. quadric {
  165.    < 1.0 -1.0  1.0>
  166.    < 0.0  0.0  0.0>
  167.    < 0.0  0.0  0.0>
  168.    0.0
  169.    rotate < 0.0  0.0  90.0>
  170. }
  171.  
  172. #declare skull = 
  173.  
  174. union {
  175.    difference {
  176.       union {
  177.          quadric { Dot scale < 3.200000  6.200000  6.200000>  }
  178.  
  179.          quadric { Dot scale < 6.500000  6.500000  6.500000>
  180.             translate < 3.000000 -0.100000  0.000000>
  181.          }                  
  182.  
  183.          /*------SOCKET MOUND-----------------------------------------*/
  184.          quadric { Ellipsoid scale <2 2 2> translate <1 3.2 -4>  }
  185.          /*
  186. {--------------JAW----------------------------------------------------}
  187. quadric { Ellipsoid SCALE <4 4 2> tranlate <2.3 -0.5 -4.7> }
  188. */
  189.       }            
  190.  
  191.       /*
  192. {----------------Eye Sockets------------------------------------------}
  193. quadric Cylinder_X scale <1 1.3 1.3> translate <0 3.1 3.9> }
  194. quadric Cylinder_X scale <1 1.3 1.3> translate <0 3.1 -3.9> }
  195. */
  196.    }      
  197. }
  198.  
  199.  
  200.  
  201. #declare c4 = intersection {
  202.    quadric { Connector_2c  } 
  203.    plane {     < 1.000000  0.000000  0.000000>  6.467455  }
  204.    plane {     < 1.000000  0.000000  0.000000>  6.168957 inverse  }
  205.  
  206.    translate <-6.168957  0.000000  0.000000>
  207.    scale     < 9.955456  1.000000  1.000000>
  208.    translate < 0.619656  0.000000  0.000000>
  209.    rotate    < 0.000000  0.000000 -1.909152>
  210. }
  211.  
  212.  
  213. #declare eye = /*---------------EYE BALL----------------*/
  214. object {
  215.    quadric { Ellipsoid scale <1.5 1.5 1.5>  }
  216.    texture {
  217.       /*
  218. image_map <1 -1.0 0> gif "s-eye.gif" }
  219. scale <3 3 3> translate <-1.5 -1.5 -1> phong 1.0
  220. rotate <0 25 0>
  221. */
  222.       color Black phong 1.0
  223.    }      
  224. }
  225.  
  226. #declare ear = difference {   /*-----EAR------*/
  227.    quadric { Ellipsoid scale <1.75 3.5 1.75>  }
  228.    quadric { Ellipsoid scale <1.25 3.5 1.25> translate <-0.7 -0.5 0>  }
  229.    rotate <0 -65 0>
  230. }
  231.  
  232. /*---------------------------A Matching set---------------------------------*/
  233.  
  234. #declare ears = 
  235. union {
  236.    difference { ear rotate <0 0 -30> rotate <30 0 0> translate <0 0 6>  }
  237.    difference { ear rotate <0 0 -30> rotate <-30 0 0> translate <0 0 -6>  }
  238. }
  239.  
  240.  
  241. #declare bridge =  /*----------NOSE & BRIDGE------*/
  242. union {
  243.    cylinder { <0,0,0>, x, 1 scale <6.5 1.2 1.2>  }
  244.    quadric { Ellipsoid scale <1 1.5 1.5>  }
  245.    quadric { Ellipsoid scale <1.3 1.3 1.3> translate <0.2 0 0>  }
  246. }
  247.  
  248.  
  249.  
  250. #declare ed = 
  251. object {
  252.    union {
  253.       union { nose scale <1 1 1.4> rotate <0 0 7> translate <-42.5 24.3 0>  }
  254.       union { skull scale <1.2 1 1.2> rotate <0 0 4> translate <-38 26 0>  }
  255.       intersection { c4 scale <1.2 1 1.2> rotate <0 0 4> translate <-38 26 0>  }
  256.       union { ears  translate <-33 29 0>  }
  257.       union { bridge scale <1 1 3> rotate <0 0 16> translate <-44 27.4 0>  }
  258.       union { gum translate <-41 23.2 0>  }
  259.  
  260.  
  261.    }      
  262.  
  263.  
  264.    texture {
  265.       shead
  266.    }      
  267.  
  268.  
  269.  
  270. }
  271.  
  272. #declare head =
  273. composite {
  274.    object { ed  }
  275.    object { eye translate <-39 28.3 -6.3>  }
  276.    object { eye translate <-39 28.3 6.3>  }
  277.    object { choppers translate <-41 23.2 0>  }
  278.    object { fangs translate <-41 23.2 0>  }
  279.  
  280.    translate <38 -26 0>
  281.  
  282. }
  283.  
  284.  
  285.  
  286. /*-----STRIPPED CTDS DATA / MOVED TEXTURE STATEMENT BEFORE SCALE/TRANS.--*/
  287.  
  288.  
  289.  
  290. #declare top =
  291. composite {
  292.    object {
  293.       quadric {
  294.          Dot  } texture { bones  } 
  295.       scale     < 9.000000  9.000000  9.000000>
  296.       translate < 23.000000  0.000000  0.000000>
  297.    }      
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.    object {
  319.       quadric {
  320.          Connector_2  } texture { skin  }
  321.  
  322.       clipped_by {
  323.          plane {     < 1.000000  0.000000  0.000000>  8.998481  }
  324.          plane {     < 1.000000  0.000000  0.000000>  8.922304 inverse  }
  325.       }            
  326.       translate <-8.998481  0.000000  0.000000>
  327.       scale     < 54.415615  1.000000  1.000000>
  328.       translate <-0.165366  0.000000  0.000000>
  329.       rotate    < 0.000000  180.000000  0.000000>
  330.       rotate    < 0.000000  0.000000  7.920896>
  331.       rotate    < 0.000000 -99.646625  0.000000>
  332.       translate < 23.000000  0.000000  0.000000>
  333.  
  334.  
  335.  
  336.    }      
  337.  
  338.  
  339.    object {
  340.       quadric {
  341.          Dot  } texture { bones  }
  342.       scale     < 8.923810  8.923810  8.923810>
  343.       translate < 22.311775