home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 300-399 / ff397.lzh / DKBTrace / DKBAmiga.LZH / DATA / roman.dat < prev    next >
Text File  |  1990-08-27  |  6KB  |  222 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.      PLANE <0.0 1.0 0.0> 40.0 END_PLANE
  42.      PLANE <0.0 -1.0 0.0> 0.0 END_PLANE
  43.    END_INTERSECTION
  44.  
  45.    BOUNDED_BY
  46.      INTERSECTION
  47.         PLANE <0.0 1.0 0.0> 40.0 END_PLANE
  48.         PLANE <0.0 -1.0 0.0> 0.0 END_PLANE
  49.          QUADRIC
  50.             Cylinder_Y
  51.             SCALE <2.51 1.0 2.51>
  52.          END_QUADRIC
  53.      END_INTERSECTION
  54.    END_BOUND
  55.  
  56.    COLOUR RED 0.8 GREEN 0.0 BLUE 0.0
  57.    TEXTURE Red_Marble END_TEXTURE
  58.  
  59.    AMBIENT 0.4
  60.    DIFFUSE 0.9
  61.    REFLECTION 0.1
  62. END_OBJECT
  63.  
  64. { and a rectangular pad to serve as a footing for the column }
  65.  
  66. DECLARE BasePad = OBJECT
  67.    INTERSECTION
  68.       PLANE <0.0 1.0 0.0> 1.0 END_PLANE
  69.       PLANE <0.0 -1.0 0.0> 1.0 END_PLANE
  70.       PLANE <0.0 0.0 1.0> 4.0 END_PLANE
  71.       PLANE <0.0 0.0 -1.0> 4.0 END_PLANE
  72.       PLANE <1.0 0.0 0.0> 4.0 END_PLANE
  73.       PLANE <-1.0 0.0 0.0> 4.0 END_PLANE
  74.    END_INTERSECTION
  75.  
  76.    BOUNDED_BY
  77.       QUADRIC
  78.          Sphere
  79.          SCALE <10.0 3.0 10.0>
  80.       END_QUADRIC
  81.    END_BOUND
  82.  
  83.    COLOUR RED 0.6 GREEN 0.6 BLUE 0.4
  84.    TEXTURE Red_Marble END_TEXTURE
  85.  
  86.    AMBIENT 0.4
  87.    DIFFUSE 0.9
  88.    REFLECTION 0.1
  89. END_OBJECT
  90.  
  91. { and define a basic arch to span the columns }
  92.  
  93. DECLARE BaseArch = OBJECT
  94.    INTERSECTION
  95.       QUADRIC Cylinder_X SCALE <1.0 12.5 12.5> END_QUADRIC
  96.       QUADRIC Cylinder_X SCALE <1.0 8.5 8.5> INVERSE END_QUADRIC
  97.       PLANE <1.0 0.0 0.0> 2.0 END_PLANE
  98.       PLANE <-1.0 0.0 0.0> 2.0 END_PLANE
  99.       PLANE <0.0 -1.0 0.0> 0.0 END_PLANE
  100.    END_INTERSECTION
  101.  
  102.    BOUNDED_BY
  103.       QUADRIC
  104.          Sphere
  105.          SCALE <5.0 13.0 13.0>
  106.       END_QUADRIC
  107.    END_BOUND
  108.  
  109.    COLOUR RED 0.8 GREEN 0.8 BLUE 0.8
  110.    TEXTURE Red_Marble END_TEXTURE
  111.  
  112.    AMBIENT 0.4
  113.    DIFFUSE 0.9
  114.    REFLECTION 0.1
  115. END_OBJECT
  116.  
  117. { and finally define the first floor floor }
  118.  
  119. DECLARE BaseFloor = OBJECT
  120.    INTERSECTION
  121.       QUADRIC Cylinder_Y SCALE <50.0 50.0 50.0> END_QUADRIC
  122.       QUADRIC Cylinder_Y SCALE <40.0 40.0 40.0> INVERSE END_QUADRIC
  123.       PLANE <0.0 1.0 0.0> 2.0 END_PLANE
  124.       PLANE <0.0 -1.0 0.0> 2.0 END_PLANE
  125.    END_INTERSECTION
  126.  
  127.    COLOUR RED 0.8 GREEN 0.8 BLUE 0.6
  128.    TEXTURE Red_Marble END_TEXTURE
  129.  
  130.    AMBIENT 0.4
  131.    DIFFUSE 0.9
  132.    REFLECTION 0.1
  133. END_OBJECT
  134.  
  135. { place a ring of 14 columns with footings around the base }
  136.  
  137. DECLARE FullColumn = COMPOSITE
  138.    OBJECT BaseColumn TRANSLATE <45.0 0.0 0.0>   END_OBJECT
  139.    OBJECT BasePad    TRANSLATE <45.0 -1.0 0.0>  END_OBJECT
  140.    OBJECT BasePad    TRANSLATE <45.0 41.0 0.0>  END_OBJECT
  141.    OBJECT BaseArch   TRANSLATE <45.0 42.0 2.0>
  142.                      ROTATE <0.0 12.85 0.0>     END_OBJECT
  143. END_COMPOSITE
  144.  
  145. DECLARE Level1 = COMPOSITE
  146.    COMPOSITE FullColumn END_COMPOSITE
  147.    COMPOSITE FullColumn ROTATE <0.0 25.7 0.0> END_COMPOSITE
  148.    COMPOSITE FullColumn ROTATE <0.0 51.4 0.0> END_COMPOSITE
  149.    COMPOSITE FullColumn ROTATE <0.0 77.1 0.0> END_COMPOSITE
  150.    COMPOSITE FullColumn ROTATE <0.0 102.8 0.0> END_COMPOSITE
  151.    COMPOSITE FullColumn ROTATE <0.0 128.5 0.0> END_COMPOSITE
  152.    COMPOSITE FullColumn ROTATE <0.0 154.2 0.0> END_COMPOSITE
  153.    COMPOSITE FullColumn ROTATE <0.0 179.9 0.0> END_COMPOSITE
  154.    COMPOSITE FullColumn ROTATE <0.0 205.6 0.0> END_COMPOSITE
  155.    COMPOSITE FullColumn ROTATE <0.0 231.3 0.0> END_COMPOSITE
  156.    COMPOSITE FullColumn ROTATE <0.0 257.0 0.0> END_COMPOSITE
  157.    COMPOSITE FullColumn ROTATE <0.0 282.7 0.0> END_COMPOSITE
  158.    COMPOSITE FullColumn ROTATE <0.0 308.4 0.0> END_COMPOSITE
  159.    COMPOSITE FullColumn ROTATE <0.0 334.1 0.0> END_COMPOSITE
  160.    COMPOSITE FullColumn ROTATE <0.0 334.1 0.0> END_COMPOSITE
  161.    OBJECT BaseFloor TRANSLATE <0.0 56.5 0.0>   END_OBJECT
  162.  
  163.    BOUNDED_BY
  164.       INTERSECTION 
  165.          QUADRIC Cylinder_Y SCALE <55.0 1.0 55.0> END_QUADRIC
  166.          PLANE <0.0  -1.0  0.0> 0.0 END_PLANE
  167.          PLANE <0.0  1.0   0.0> 60.0 END_PLANE
  168.       END_INTERSECTION
  169.    END_BOUND
  170. END_COMPOSITE
  171.  
  172. COMPOSITE Level1 END_COMPOSITE
  173.  
  174. { Add the sky to the picture }
  175. OBJECT
  176.    SPHERE <0.0  0.0  0.0> 300.0 END_SPHERE
  177.  
  178.    COLOUR RED 0.5  GREEN 0.5  BLUE 1.0
  179.    AMBIENT 0.8
  180.    DIFFUSE 0.0
  181.    TEXTURE
  182.       TURBULENCE 0.5
  183.       BOZO
  184.       COLOUR_MAP
  185.           [0.0 0.6  COLOUR RED 0.5 GREEN 0.5 BLUE 1.0
  186.                     COLOUR RED 0.5 GREEN 0.5 BLUE 1.0]
  187.           [0.6 0.8 COLOUR RED 0.5 GREEN 0.5 BLUE 1.0
  188.                     COLOUR RED 1.0 GREEN 1.0 BLUE 1.0]
  189.           [0.8 1.001 COLOUR RED 1.0 GREEN 1.0 BLUE 1.0
  190.                      COLOUR RED 0.8 GREEN 0.8 BLUE 0.8]
  191.       END_COLOUR_MAP
  192.       SCALE <100.0  20.0  100.0>
  193.    END_TEXTURE
  194. END_OBJECT
  195.  
  196. { Define the desert floor }
  197. OBJECT
  198.    PLANE <0.0 1.0 0.0> -2.0 END_PLANE
  199.  
  200.    COLOUR RED 1.0 GREEN 0.66 BLUE 0.2
  201.    AMBIENT 0.3
  202.    DIFFUSE 0.7
  203.    TEXTURE
  204.       0.05  { This value dithers the colours }
  205.       RIPPLES 0.5
  206.       FREQUENCY 2000.0
  207.       SCALE <50000.0 50000.0 50000.0>
  208.    END_TEXTURE
  209. END_OBJECT
  210.  
  211. { Add a light source }
  212. OBJECT
  213.     SPHERE <0.0 0.0 0.0> 1.0 END_SPHERE
  214.  
  215.     TRANSLATE <60.0  50.0  -110.0>
  216.     LIGHT_SOURCE
  217.     COLOUR White
  218.     AMBIENT 1.0
  219.     DIFFUSE 0.0
  220. END_OBJECT
  221.  
  222.