home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Graphics / Graphics.zip / DKBOS2.ZOO / dkb212dt.zoo / roman.dat < prev    next >
Text File  |  1991-04-12  |  7KB  |  248 lines

  1. { First stage of the Tower of Pisa }
  2. { Later stages to follow           }
  3. { WARNING:  This picture can take a very long time to ray trace
  4.    due to the large number of objects.  You have been warned :->  }
  5.  
  6. INCLUDE "shapes.dat"
  7. INCLUDE "colors.dat"
  8. INCLUDE "textures.dat"
  9.  
  10. VIEW_POINT
  11.    LOCATION <0.0 25.0 -150.0>
  12.    DIRECTION <0.0 0.1 1.0>
  13.    UP <0.0 1.0 0.0>
  14.    RIGHT <1.3333 0.0 0.0>
  15. END_VIEW_POINT
  16.  
  17. DECLARE Beam = QUADRIC Cylinder_Y
  18.     SCALE <0.5 20.0 0.5>
  19.     TRANSLATE <2.0 0.0 0.0>
  20. END_QUADRIC
  21.  
  22. { create a sample column for the base of the structure }
  23.  
  24. DECLARE BaseColumn = OBJECT
  25.    INTERSECTION
  26.       UNION
  27.          QUADRIC Beam END_QUADRIC
  28.          QUADRIC Beam ROTATE <0.0 -25.7  0.0> END_QUADRIC
  29.          QUADRIC Beam ROTATE <0.0 -51.4  0.0> END_QUADRIC
  30.          QUADRIC Beam ROTATE <0.0 -77.1  0.0> END_QUADRIC
  31.          QUADRIC Beam ROTATE <0.0 -102.8 0.0> END_QUADRIC
  32.          QUADRIC Beam ROTATE <0.0 -128.5 0.0> END_QUADRIC
  33.          QUADRIC Beam ROTATE <0.0 -154.2 0.0> END_QUADRIC
  34.          QUADRIC Beam ROTATE <0.0 -179.9 0.0> END_QUADRIC
  35.          QUADRIC Beam ROTATE <0.0 -205.6 0.0> END_QUADRIC
  36.          QUADRIC Beam ROTATE <0.0 -231.3 0.0> END_QUADRIC
  37.          QUADRIC Beam ROTATE <0.0 -257.0 0.0> END_QUADRIC
  38.          QUADRIC Beam ROTATE <0.0 -282.7 0.0> END_QUADRIC
  39.          QUADRIC Beam ROTATE <0.0 -308.4 0.0> END_QUADRIC
  40.          QUADRIC Beam ROTATE <0.0 -334.1 0.0> END_QUADRIC
  41.      END_UNION
  42.  
  43.      PLANE <0.0 1.0 0.0> 40.0 END_PLANE
  44.      PLANE <0.0 -1.0 0.0> 0.0 END_PLANE
  45.    END_INTERSECTION
  46.  
  47.    BOUNDED_BY
  48.      INTERSECTION
  49.         PLANE <0.0 1.0 0.0> 40.0 END_PLANE
  50.         PLANE <0.0 -1.0 0.0> 0.0 END_PLANE
  51.          QUADRIC
  52.             Cylinder_Y
  53.             SCALE <2.51 1.0 2.51>
  54.          END_QUADRIC
  55.      END_INTERSECTION
  56.    END_BOUND
  57.  
  58.    TEXTURE
  59.      Red_Marble
  60.      SCALE <10.0 10.0 10.0>
  61.      AMBIENT 0.4
  62.      DIFFUSE 0.9
  63.      REFLECTION 0.1
  64.    END_TEXTURE
  65.  
  66.    COLOUR RED 0.8 GREEN 0.0 BLUE 0.0
  67.  
  68. END_OBJECT
  69.  
  70. { and a rectangular pad to serve as a footing for the column }
  71.  
  72. DECLARE BasePad = OBJECT
  73.    INTERSECTION
  74.       PLANE <0.0 1.0 0.0> 1.0 END_PLANE
  75.       PLANE <0.0 -1.0 0.0> 1.0 END_PLANE
  76.       PLANE <0.0 0.0 1.0> 4.0 END_PLANE
  77.       PLANE <0.0 0.0 -1.0> 4.0 END_PLANE
  78.       PLANE <1.0 0.0 0.0> 4.0 END_PLANE
  79.       PLANE <-1.0 0.0 0.0> 4.0 END_PLANE
  80.    END_INTERSECTION
  81.  
  82.    BOUNDED_BY
  83.       QUADRIC
  84.          Sphere
  85.          SCALE <10.0 3.0 10.0>
  86.       END_QUADRIC
  87.    END_BOUND
  88.  
  89.    TEXTURE
  90.      Red_Marble
  91.      SCALE <10.0 10.0 10.0>
  92.      AMBIENT 0.4
  93.      DIFFUSE 0.9
  94.      REFLECTION 0.1
  95.    END_TEXTURE
  96.  
  97.    COLOUR RED 0.6 GREEN 0.6 BLUE 0.4
  98.  
  99. END_OBJECT
  100.  
  101. { and define a basic arch to span the columns }
  102.  
  103. DECLARE BaseArch = OBJECT
  104.    INTERSECTION
  105.       QUADRIC Cylinder_X SCALE <1.0 12.5 12.5> END_QUADRIC
  106.       QUADRIC Cylinder_X SCALE <1.0 8.5 8.5> INVERSE END_QUADRIC
  107.       PLANE <1.0 0.0 0.0> 2.0 END_PLANE
  108.       PLANE <-1.0 0.0 0.0> 2.0 END_PLANE
  109.       PLANE <0.0 -1.0 0.0> 0.0 END_PLANE
  110.    END_INTERSECTION
  111.  
  112.    BOUNDED_BY
  113.       QUADRIC
  114.          Sphere
  115.          SCALE <5.0 13.0 13.0>
  116.       END_QUADRIC
  117.    END_BOUND
  118.  
  119.    TEXTURE
  120.      Red_Marble
  121.      SCALE <10.0 10.0 10.0>
  122.      AMBIENT 0.4
  123.      DIFFUSE 0.9
  124.      REFLECTION 0.1
  125.    END_TEXTURE
  126.  
  127.    COLOUR RED 0.8 GREEN 0.8 BLUE 0.8
  128.  
  129. END_OBJECT
  130.  
  131. { and finally define the first floor floor }
  132.  
  133. DECLARE BaseFloor = OBJECT
  134.    INTERSECTION
  135.       QUADRIC Cylinder_Y SCALE <50.0 50.0 50.0> END_QUADRIC
  136.       QUADRIC Cylinder_Y SCALE <40.0 40.0 40.0> INVERSE END_QUADRIC
  137.       PLANE <0.0 1.0 0.0> 2.0 END_PLANE
  138.       PLANE <0.0 -1.0 0.0> 2.0 END_PLANE
  139.    END_INTERSECTION
  140.  
  141.    TEXTURE
  142.      Red_Marble
  143.      SCALE <10.0 10.0 10.0>
  144.      AMBIENT 0.4
  145.      DIFFUSE 0.9
  146.      REFLECTION 0.1
  147.    END_TEXTURE
  148.  
  149.    COLOUR RED 0.8 GREEN 0.8 BLUE 0.6
  150.  
  151. END_OBJECT
  152.  
  153. { place a ring of 14 columns with footings around the base }
  154.  
  155. DECLARE FullColumn = COMPOSITE
  156.    OBJECT BaseColumn TRANSLATE <45.0 0.0 0.0>   END_OBJECT
  157.    OBJECT BasePad    TRANSLATE <45.0 -1.0 0.0>  END_OBJECT
  158.    OBJECT BasePad    TRANSLATE <45.0 41.0 0.0>  END_OBJECT
  159.    OBJECT BaseArch   TRANSLATE <45.0 42.0 2.0>
  160.                      ROTATE <0.0 -12.85 0.0>     END_OBJECT
  161. END_COMPOSITE
  162.  
  163. DECLARE Level1 = COMPOSITE
  164.    COMPOSITE FullColumn END_COMPOSITE
  165.    COMPOSITE FullColumn ROTATE <0.0 -25.7  0.0> END_COMPOSITE
  166.    COMPOSITE FullColumn ROTATE <0.0 -51.4  0.0> END_COMPOSITE
  167.    COMPOSITE FullColumn ROTATE <0.0 -77.1  0.0> END_COMPOSITE
  168.    COMPOSITE FullColumn ROTATE <0.0 -102.8 0.0> END_COMPOSITE
  169.    COMPOSITE FullColumn ROTATE <0.0 -128.5 0.0> END_COMPOSITE
  170.    COMPOSITE FullColumn ROTATE <0.0 -154.2 0.0> END_COMPOSITE
  171.    COMPOSITE FullColumn ROTATE <0.0 -179.9 0.0> END_COMPOSITE
  172.    COMPOSITE FullColumn ROTATE <0.0 -205.6 0.0> END_COMPOSITE
  173.    COMPOSITE FullColumn ROTATE <0.0 -231.3 0.0> END_COMPOSITE
  174.    COMPOSITE FullColumn ROTATE <0.0 -257.0 0.0> END_COMPOSITE
  175.    COMPOSITE FullColumn ROTATE <0.0 -282.7 0.0> END_COMPOSITE
  176.    COMPOSITE FullColumn ROTATE <0.0 -308.4 0.0> END_COMPOSITE
  177.    COMPOSITE FullColumn ROTATE <0.0 -334.1 0.0> END_COMPOSITE
  178.    COMPOSITE FullColumn ROTATE <0.0 -334.1 0.0> END_COMPOSITE
  179.    OBJECT BaseFloor TRANSLATE <0.0 56.5 0.0>   END_OBJECT
  180.  
  181.    BOUNDED_BY
  182.       INTERSECTION 
  183.          QUADRIC Cylinder_Y SCALE <55.0 1.0 55.0> END_QUADRIC
  184.          PLANE <0.0  -1.0  0.0> 0.0 END_PLANE
  185.          PLANE <0.0  1.0   0.0> 60.0 END_PLANE
  186.       END_INTERSECTION
  187.    END_BOUND
  188. END_COMPOSITE
  189.  
  190. COMPOSITE Level1 END_COMPOSITE
  191.  
  192. { Add the sky to the picture }
  193. OBJECT
  194.    SPHERE <0.0 0.0 0.0> 300.0 END_SPHERE
  195.  
  196.    TEXTURE
  197.       BOZO
  198.       TURBULENCE 0.5
  199.       COLOUR_MAP
  200.           [0.0 0.6  COLOUR RED 0.5 GREEN 0.5 BLUE 1.0
  201.                     COLOUR RED 0.5 GREEN 0.5 BLUE 1.0]
  202.           [0.6 0.8 COLOUR RED 0.5 GREEN 0.5 BLUE 1.0
  203.                     COLOUR RED 1.0 GREEN 1.0 BLUE 1.0]
  204.           [0.8 1.001 COLOUR RED 1.0 GREEN 1.0 BLUE 1.0
  205.                      COLOUR RED 0.8 GREEN 0.8 BLUE 0.8]
  206.       END_COLOUR_MAP
  207.       SCALE <100.0  20.0  100.0>
  208.       AMBIENT 0.8
  209.       DIFFUSE 0.0
  210.    END_TEXTURE
  211.  
  212.    COLOUR RED 0.5 GREEN 0.5 BLUE 1.0
  213.  
  214. END_OBJECT
  215.  
  216. { Define the desert floor }
  217. OBJECT
  218.    PLANE <0.0 1.0 0.0> -2.0 END_PLANE
  219.  
  220.    TEXTURE
  221.       0.05  { This value dithers the colours }
  222.       COLOUR RED 1.0 GREEN 0.66 BLUE 0.2
  223.       RIPPLES 0.5
  224.       FREQUENCY 2000.0
  225.       SCALE <50000.0 50000.0 50000.0>
  226.       AMBIENT 0.3
  227.       DIFFUSE 0.7
  228.    END_TEXTURE
  229.  
  230.    COLOUR RED 1.0 GREEN 0.66 BLUE 0.2
  231.  
  232. END_OBJECT
  233.  
  234. { Add a light source }
  235. OBJECT
  236.     SPHERE <0.0 0.0 0.0> 1.0 END_SPHERE
  237.  
  238.     TRANSLATE <60.0  50.0  -110.0>
  239.     TEXTURE
  240.       COLOUR White
  241.       AMBIENT 1.0
  242.       DIFFUSE 0.0
  243.     END_TEXTURE
  244.     LIGHT_SOURCE
  245.     COLOUR White
  246. END_OBJECT
  247.  
  248.