home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / p / povray / !POVscene / level3 / inc / mmshape < prev    next >
Text File  |  1992-07-21  |  4KB  |  232 lines

  1. // Persistence Of Vision raytracer version 1.0 sample file.
  2.  
  3. // non-Standard shapes #include file
  4. // 
  5.  
  6. #declare Ellipsoid = quadric {
  7.    <1.0 1.0 1.0>
  8.    <0.0 0.0 0.0>
  9.    <0.0 0.0 0.0>
  10.    -1.0
  11. }
  12.  
  13. #declare light = object {
  14.    light_source { <0 0 0>
  15.       color White
  16.    }
  17. }
  18.  
  19.  
  20.  
  21.  
  22. #declare USphere =
  23. intersection { quadric { Ellipsoid scale <1 1 1> }
  24.    plane { <0 1 0> 0 inverse }
  25. }
  26.  
  27.  
  28. #declare DSphere =
  29. intersection { quadric { Ellipsoid scale <1 1 1> }
  30.    plane { <0 -1 0> 0 inverse }
  31. }
  32.  
  33.  
  34.  
  35. #declare Cylinder_X = quadric {
  36.    <0.0 1.0 1.0>
  37.    <0.0 0.0 0.0>
  38.    <0.0 0.0 0.0>
  39.    -1.0
  40. }
  41.  
  42.  
  43. #declare Cylinder_Y = quadric {
  44.    <1.0 0.0 1.0>
  45.    <0.0 0.0 0.0>
  46.    <0.0 0.0 0.0>
  47.    -1.0
  48. }
  49.  
  50.  
  51. #declare Cylinder_Z = quadric {
  52.    <1.0 1.0 0.0>
  53.    <0.0 0.0 0.0>
  54.    <0.0 0.0 0.0>
  55.    -1.0
  56. }
  57.  
  58.  
  59. #declare QCone_X = quadric {
  60.    <-1.0 1.0 1.0>
  61.    <0.0 0.0 0.0>
  62.    <0.0 0.0 0.0>
  63.    0.0
  64. }
  65.  
  66.  
  67. #declare QCone_Y = quadric {
  68.    <1.0 -1.0 1.0>
  69.    <0.0 0.0 0.0>
  70.    <0.0 0.0 0.0>
  71.    0.0
  72. }
  73.  
  74.  
  75. #declare QCone_Z = quadric {
  76.    <1.0 1.0 -1.0>
  77.    <0.0 0.0 0.0>
  78.    <0.0 0.0 0.0>
  79.    0.0
  80. }
  81.  
  82. #declare DCone = /*---------CONE POINT DOWN /POINT at 000--------*/
  83. intersection {
  84.    quadric { QCone_Y scale <1 1 1> }
  85.    plane { <0 -1 0> 0 }
  86.    plane { <0 1 0> 1  }
  87. }
  88.  
  89. #declare UCone = /*---------CONE POINT UP /POINT at 000--------*/
  90. intersection {
  91.    quadric { QCone_Y scale <1 1 1> }
  92.    plane { <0 1 0> 0   }
  93.    plane { <0 1 0> -1 inverse }
  94. }
  95.  
  96. #declare BiCone = /*----2 CONES POINTS TOGETHER /POINT at 000---*/
  97. intersection {
  98.    quadric { QCone_Y scale <1 1 1> }
  99.    plane { <0 1 0> 1   }
  100.    plane { <0 1 0> -1 inverse }
  101. }
  102.  
  103.  
  104.  
  105. #declare Plane_YZ = quadric {
  106.    <0.0 0.0 0.0>
  107.    <0.0 0.0 0.0>
  108.    <1.0 0.0 0.0>
  109.    0.0
  110. }
  111.  
  112.  
  113. #declare Plane_XZ = quadric {
  114.    <0.0 0.0 0.0>
  115.    <0.0 0.0 0.0>
  116.    <0.0 1.0 0.0>
  117.    0.0
  118. }
  119.  
  120.  
  121. #declare Plane_XY = quadric {
  122.    <0.0 0.0 0.0>
  123.    <0.0 0.0 0.0>
  124.    <0.0 0.0 1.0>
  125.    0.0
  126. }
  127.  
  128.  
  129. /* y^2 + z^2 - x = 0 */
  130. #declare Paraboloid_X = quadric {
  131.    <0.0  1.0  1.0>
  132.    <0.0  0.0  0.0>
  133.    <-1.0 0.0  0.0>
  134.    0.0
  135. }
  136.  
  137.  
  138. /* x^2 + z^2 - y = 0 */
  139. #declare Paraboloid_Y = quadric {
  140.    <1.0  0.0  1.0>
  141.    <0.0  0.0  0.0>
  142.    <0.0 -1.0  0.0>
  143.    0.0
  144. }
  145.  
  146.  
  147. /* x^2 + y^2 - z = 0 */
  148. #declare Paraboloid_Z = quadric {
  149.    <1.0  1.0  0.0>
  150.    <0.0  0.0  0.0>
  151.    <0.0  0.0 -1.0>
  152.    0.0
  153. }
  154.  
  155.  
  156. /* y - x^2 + z^2 = 0 */
  157. #declare Hyperboloid = quadric {
  158.    < -1.0  0.0  1.0>
  159.    <  0.0  0.0  0.0>
  160.    <  0.0  1.0  0.0>
  161.    0.0
  162. }
  163.  
  164.  
  165. #declare Hyperboloid_Y = quadric {  /* Vertical hyperboloid */
  166.    <1.0 -1.0  1.0>          /*                      */
  167.    <0.0  0.0  0.0>          /*            \   /     */
  168.    <0.0  0.0  0.0>          /* Like this:  ) (      */
  169.    -1.0                     /*            /   \     */
  170. }
  171.  
  172.  
  173. #declare Cube = intersection {
  174.    plane { <0.0 0.0 1.0> 1.0 }
  175.    plane { <0.0 0.0 -1.0> 1.0 }
  176.    plane { <0.0 1.0 0.0> 1.0 }
  177.    plane { <0.0 -1.0 0.0> 1.0 }
  178.    plane { <1.0 0.0 0.0> 1.0 }
  179.    plane { <-1.0 0.0 0.0> 1.0 }
  180. }
  181.  
  182.  
  183. #declare Tetrahedron = intersection {
  184.    plane { <0.0 -1.0 0.0> 1.0 }
  185.    plane { <0.0 0.0 1.0> 1.0 rotate <-30.0 0.0 0.0> }
  186.    plane { <1.0 0.0 0.0> 1.0 rotate <0.0 30.0 30.0> }
  187.    plane { <-1.0 0.0 0.0> 1.0 rotate <0.0 -30.0 -30.0> }
  188. }
  189.  
  190.  
  191. #declare Disk_X = intersection {       /* Capped cylinder, Length in x axis */
  192.    quadric { Cylinder_X }
  193.    plane { <1.0 0.0 0.0> 0.0 inverse }
  194.    plane { <1.0 0.0 0.0> 1.0 }
  195. }
  196.  
  197.  
  198. #declare Disk_Y = intersection {       /* Capped cylinder, Length in y axis */
  199.    quadric { Cylinder_Y }
  200.    plane { <0.0 1.0 0.0> 0.0 inverse }
  201.    plane { <0.0 1.0 0.0> 1.0 }
  202. }
  203.  
  204.  
  205. #declare Disk_Z = intersection {       /* Capped cylinder, Length in z axis */
  206.    quadric { Cylinder_Z }
  207.    plane { <0.0 0.0 1.0> 0.0 inverse }
  208.    plane { <0.0 0.0 1.0> 1.0 }
  209. }
  210.  
  211.  
  212. #declare Hexagon = intersection {            /* Hexagonal Solid, axis along x */
  213.    plane { <0.0 0.0 1.0> 1.0 }   /* Rotate 90 in z axis to stand up */
  214.    plane { <0.0 0.0 1.0> 1.0 rotate <60.0 0.0 0.0> }
  215.    plane { <0.0 0.0 1.0> 1.0 rotate <120.0 0.0 0.0> }
  216.    plane { <0.0 0.0 1.0> 1.0 rotate <180.0 0.0 0.0> }
  217.    plane { <0.0 0.0 1.0> 1.0 rotate <240.0 0.0 0.0> }
  218.    plane { <0.0 0.0 1.0> 1.0 rotate <300.0 0.0 0.0> }
  219.    plane { <1.0 0.0 0.0> 1.0 }
  220.    plane { <1.0 0.0 0.0> -1.0 inverse }
  221. }
  222.  
  223. #declare Rhomboid =            /* Three Dimensional 4-Sided Diamond */
  224. intersection {
  225.    plane { <-1.0  0.0  0.0>  1.0 rotate <0.0 0.0 -30.0> }
  226.    plane { < 1.0  0.0  0.0>  1.0 rotate <0.0 0.0 -30.0> }
  227.    plane { < 0.0  0.0  1.0>  1.0 }
  228.    plane { < 0.0  0.0 -1.0>  1.0 }
  229.    plane { < 0.0  1.0  0.0>  1.0 }
  230.    plane { < 0.0 -1.0  0.0>  1.0 }
  231. }
  232.