home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 284.lha / DkbTrace_v1.1 / Roman.data < prev    next >
Text File  |  1989-09-10  |  7KB  |  238 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 "BasicShapes.data"
  7.  
  8. VIEW_POINT
  9.    LOCATION <0.0 25.0 -150.0>
  10.    DIRECTION <0.0 0.1 1.0>
  11.    UP <0.0 1.0 0.0>
  12.    RIGHT <1.3333 0.0 0.0>
  13. END_VIEW_POINT
  14.  
  15. DECLARE Beam = QUADRIC Cylinder_Y
  16.     SCALE <0.5 20.0 0.5>
  17.     TRANSLATE <2.0 0.0 0.0>
  18. END_QUADRIC
  19.  
  20. { create a sample column for the base of the structure }
  21.  
  22. DECLARE BaseColumn = OBJECT
  23.    INTERSECTION
  24.       UNION
  25.          QUADRIC Beam END_QUADRIC
  26.          QUADRIC Beam ROTATE <0.0 25.7 0.0> END_QUADRIC
  27.          QUADRIC Beam ROTATE <0.0 51.4 0.0> END_QUADRIC
  28.          QUADRIC Beam ROTATE <0.0 77.1 0.0> END_QUADRIC
  29.          QUADRIC Beam ROTATE <0.0 102.8 0.0> END_QUADRIC
  30.          QUADRIC Beam ROTATE <0.0 128.5 0.0> END_QUADRIC
  31.          QUADRIC Beam ROTATE <0.0 154.2 0.0> END_QUADRIC
  32.          QUADRIC Beam ROTATE <0.0 179.9 0.0> END_QUADRIC
  33.          QUADRIC Beam ROTATE <0.0 205.6 0.0> END_QUADRIC
  34.          QUADRIC Beam ROTATE <0.0 231.3 0.0> END_QUADRIC
  35.          QUADRIC Beam ROTATE <0.0 257.0 0.0> END_QUADRIC
  36.          QUADRIC Beam ROTATE <0.0 282.7 0.0> END_QUADRIC
  37.          QUADRIC Beam ROTATE <0.0 308.4 0.0> END_QUADRIC
  38.          QUADRIC Beam ROTATE <0.0 334.1 0.0> END_QUADRIC
  39.      END_UNION
  40.  
  41.      QUADRIC Plane_XZ TRANSLATE <0.0 40.0 0.0> END_QUADRIC
  42.      QUADRIC Plane_XZ INVERSE END_QUADRIC
  43.    END_INTERSECTION
  44.  
  45.    BOUNDED_BY
  46.       QUADRIC
  47.          Cylinder_Y
  48.          SCALE <2.51 1.0 2.51>
  49.       END_QUADRIC
  50.    END_BOUND
  51.  
  52.    TEXTURE Red_Marble END_TEXTURE
  53.  
  54.    AMBIENT 0.4
  55.    DIFFUSE 0.9
  56.    REFLECTION 0.1
  57. END_OBJECT
  58.  
  59. { and a rectangular pad to serve as a footing for the column }
  60.  
  61. DECLARE BasePad = OBJECT
  62.    INTERSECTION
  63.       QUADRIC Plane_XZ TRANSLATE <0.0 1.0 0.0> END_QUADRIC
  64.       QUADRIC Plane_XZ TRANSLATE <0.0 -1.0 0.0> INVERSE END_QUADRIC
  65.       QUADRIC Plane_XY TRANSLATE <0.0 0.0 4.0> END_QUADRIC
  66.       QUADRIC Plane_XY TRANSLATE <0.0 0.0 -4.0> INVERSE END_QUADRIC
  67.       QUADRIC Plane_YZ TRANSLATE <4.0 0.0 0.0> END_QUADRIC
  68.       QUADRIC Plane_YZ TRANSLATE <-4.0 0.0 0.0> INVERSE END_QUADRIC
  69.    END_INTERSECTION
  70.  
  71.    BOUNDED_BY
  72.       QUADRIC
  73.          Sphere
  74.          SCALE <10.0 3.0 10.0>
  75.       END_QUADRIC
  76.    END_BOUND
  77.  
  78.    TEXTURE Red_Marble END_TEXTURE
  79.  
  80.    AMBIENT 0.4
  81.    DIFFUSE 0.9
  82.    REFLECTION 0.1
  83. END_OBJECT
  84.  
  85. { and define a basic arch to span the columns }
  86.  
  87. DECLARE BaseArch = OBJECT
  88.    INTERSECTION
  89.       QUADRIC Cylinder_X SCALE <1.0 12.5 12.5> END_QUADRIC
  90.       QUADRIC Cylinder_X SCALE <1.0 8.5 8.5> INVERSE END_QUADRIC
  91.       QUADRIC Plane_YZ TRANSLATE <2 0.0 0.0> END_QUADRIC
  92.       QUADRIC Plane_YZ TRANSLATE <-2.0 0.0 0.0> INVERSE END_QUADRIC
  93.       QUADRIC Plane_XZ INVERSE END_QUADRIC
  94.    END_INTERSECTION
  95.  
  96.    BOUNDED_BY
  97.       QUADRIC
  98.          Sphere
  99.          SCALE <5.0 13.0 13.0>
  100.       END_QUADRIC
  101.    END_BOUND
  102.  
  103.    TEXTURE Red_Marble END_TEXTURE
  104.  
  105.    AMBIENT 0.4
  106.    DIFFUSE 0.9
  107.    REFLECTION 0.1
  108. END_OBJECT
  109.  
  110. { and finally define the first floor floor }
  111.  
  112. DECLARE BaseFloor = OBJECT
  113.    INTERSECTION
  114.       QUADRIC Cylinder_Y SCALE <50.0 50.0 50.0> END_QUADRIC
  115.       QUADRIC Cylinder_Y SCALE <40.0 40.0 40.0> INVERSE END_QUADRIC
  116.       QUADRIC Plane_XZ TRANSLATE <0.0 2.0 0.0> END_QUADRIC
  117.       QUADRIC Plane_XZ TRANSLATE <0.0 -2.0 0.0> INVERSE END_QUADRIC
  118.    END_INTERSECTION
  119.  
  120.    TEXTURE Red_Marble END_TEXTURE
  121.  
  122.    BOUNDED_BY
  123.       INTERSECTION
  124.          QUADRIC Plane_XZ TRANSLATE <0.0 2.0 0.0> END_QUADRIC
  125.          QUADRIC Plane_XZ TRANSLATE <0.0 -2.0 0.0> INVERSE END_QUADRIC
  126.       END_INTERSECTION
  127.    END_BOUND
  128.  
  129.    AMBIENT 0.4
  130.    DIFFUSE 0.9
  131.    REFLECTION 0.1
  132. END_OBJECT
  133.  
  134. { place a ring of 14 columns with footings around the base }
  135.  
  136. DECLARE FullColumn = COMPOSITE
  137.    OBJECT BaseColumn TRANSLATE <45.0 0.0 0.0>   END_OBJECT
  138.    OBJECT BasePad    TRANSLATE <45.0 -1.0 0.0>  END_OBJECT
  139.    OBJECT BasePad    TRANSLATE <45.0 41.0 0.0>  END_OBJECT
  140.    OBJECT BaseArch   TRANSLATE <45.0 42.0 2.0>
  141.                      ROTATE <0.0 12.85 0.0>     END_OBJECT
  142. END_COMPOSITE
  143.  
  144. DECLARE Level1 = COMPOSITE
  145.    COMPOSITE FullColumn END_COMPOSITE
  146.    COMPOSITE FullColumn ROTATE <0.0 25.7 0.0> END_COMPOSITE
  147.    COMPOSITE FullColumn ROTATE <0.0 51.4 0.0> END_COMPOSITE
  148.    COMPOSITE FullColumn ROTATE <0.0 77.1 0.0> END_COMPOSITE
  149.    COMPOSITE FullColumn ROTATE <0.0 102.8 0.0> END_COMPOSITE
  150.    COMPOSITE FullColumn ROTATE <0.0 128.5 0.0> END_COMPOSITE
  151.    COMPOSITE FullColumn ROTATE <0.0 154.2 0.0> END_COMPOSITE
  152.    COMPOSITE FullColumn ROTATE <0.0 179.9 0.0> END_COMPOSITE
  153.    COMPOSITE FullColumn ROTATE <0.0 205.6 0.0> END_COMPOSITE
  154.    COMPOSITE FullColumn ROTATE <0.0 231.3 0.0> END_COMPOSITE
  155.    COMPOSITE FullColumn ROTATE <0.0 257.0 0.0> END_COMPOSITE
  156.    COMPOSITE FullColumn ROTATE <0.0 282.7 0.0> END_COMPOSITE
  157.    COMPOSITE FullColumn ROTATE <0.0 308.4 0.0> END_COMPOSITE
  158.    COMPOSITE FullColumn ROTATE <0.0 334.1 0.0> END_COMPOSITE
  159.    COMPOSITE FullColumn ROTATE <0.0 334.1 0.0> END_COMPOSITE
  160.    OBJECT BaseFloor TRANSLATE <0.0 56.5 0.0>   END_OBJECT
  161.  
  162.    BOUNDED_BY
  163.       INTERSECTION 
  164.          QUADRIC Cylinder_Y SCALE <55.0 1.0 55.0> END_QUADRIC
  165.          QUADRIC Plane_XZ INVERSE END_QUADRIC
  166.          QUADRIC Plane_XZ TRANSLATE <0.0 60.0 0.0> END_QUADRIC
  167.       END_INTERSECTION
  168.    END_BOUND
  169. END_COMPOSITE
  170.  
  171. COMPOSITE Level1 END_COMPOSITE
  172.  
  173. { Add the sky to the picture }
  174.  
  175. OBJECT
  176.    QUADRIC Plane_XZ TRANSLATE <0.0 600.0 0.0> END_QUADRIC
  177.    DIFFUSE 0.2
  178.    AMBIENT 0.8
  179.    TEXTURE
  180.        0.05
  181.        BOZO
  182.        TURBULENCE 0.2
  183.        COLOUR_MAP
  184.           [0.0 0.5  COLOUR RED 0.5 GREEN 0.5 BLUE 1.0
  185.                     COLOUR RED 0.5 GREEN 0.5 BLUE 1.0]
  186.           [0.5 0.6  COLOUR RED 0.5 GREEN 0.5 BLUE 1.0
  187.                     COLOUR RED 1.0 GREEN 1.0 BLUE 1.0]
  188.           [0.6 1.001 COLOUR RED 1.0 GREEN 1.0 BLUE 1.0
  189.                     COLOUR RED 0.5 GREEN 0.5 BLUE 0.5]
  190.        END_COLOUR_MAP
  191.        SCALE <800.0 800.0 800.0>
  192.        TRANSLATE <200.0 400.0 100.0>
  193.    END_TEXTURE
  194. END_OBJECT
  195.  
  196. { Define the desert floor }
  197. OBJECT
  198.    QUADRIC
  199.       Plane_XZ
  200.       TRANSLATE <0.0  -2.0  0.0>
  201.    END_QUADRIC
  202.  
  203.    COLOUR RED 1.0 GREEN 0.66 BLUE 0.2
  204.    AMBIENT 0.3
  205.    DIFFUSE 0.7
  206.    TEXTURE
  207.       0.05  { This value dithers the colours }
  208.       RIPPLES 0.5
  209.       FREQUENCY 2000.0
  210.       SCALE <50000.0 50000.0 50000.0>
  211.    END_TEXTURE
  212. END_OBJECT
  213.  
  214. { Put up a distant wall to prevent a black line in the middle of the
  215.    screen }
  216. OBJECT
  217.    QUADRIC Plane_XY TRANSLATE <0.0 0.0 1000000.0> END_QUADRIC
  218.    AMBIENT 1.0
  219.    DIFFUSE 0.0
  220.    COLOUR RED 0.4 GREEN 0.4 BLUE 0.8
  221. END_OBJECT
  222.  
  223. { Add a light source }
  224.  
  225. OBJECT
  226.     QUADRIC
  227.        Sphere
  228.        SCALE <20.0 20.0 20.0>
  229.     END_QUADRIC
  230.  
  231.     TRANSLATE <60.0  50.0  -110.0>
  232.     LIGHT_SOURCE
  233.     COLOUR White
  234.     AMBIENT 1.0
  235.     DIFFUSE 0.0
  236. END_OBJECT
  237.  
  238.