home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-04-26 | 36.5 KB | 1,057 lines |
- // Persistence Of Vision raytracer version 1.0 Cyberspace.
- // By Tom Clifford
- // Copyright (c) 1993
- /*
- *
- * POV-Ray scene description for Cyberspace.
- * Created: 23-Feb-93
- * Updated: 2-Mar-93
- *
- */
- #include "shapes.inc"
- #include "shapes2.inc"
- #include "colors.inc"
- #include "chars.inc"
- // #include "textures.inc"
-
- #declare Glass = texture {
- color red 1.0 green 1.0 blue 1.0 alpha 0.9
- ambient 0.0
- diffuse 0.0
- // reflection 0.3
- reflection 0.05
- refraction 0.25
- ior 1.33
- // ior 1.5
- phong 0.3
- phong_size 90
- }
- // Probably more of a "Plexiglas" than glass
- #declare Glass2 = texture {
- color red 1.0 green 1.0 blue 1.0 alpha 0.99
- ambient 0.0
- diffuse 0.0
- reflection 0.8
- refraction 0.85
- ior 1.5
- phong 0.4
- phong_size 60
- }
-
- #declare Cone_Y =
- intersection {
- quadric { QCone_Y translate <0 1 0>}
- box { <-2 -1 -2> <2 1 2> }
- scale <.5 1 .5>
- }
-
- #declare Cylinder_Y = quadric {
- <1.0 0.0 1.0>
- <0.0 0.0 0.0>
- <0.0 0.0 0.0>
- -1.0
- }
-
- // ----------------------------------------------------
- // Now for the object descriptions
- // ----------------------------------------------------
-
- camera {
- // location <59 20 -48>
- location <0 230 -400>
- // location <0 250 -400>
- // direction <0 0 1>
- direction <0 0 0.4>
- up <0 1 0>
- right <1.33 0 0>
- look_at <0 30 80>
- }
-
- object {
- light_source { <800 600 -200>
- colour White
- }
- }
-
- object { /* Sky */
- sphere { <0 -39000 0> 40000 inverse }
- texture {
- colour LightBlue
- scale <500 500 500>
- ambient 1
- diffuse 0
- }
-
- // texture { colour Gray90 }
- /*
- texture {
- bozo
- turbulence 0.8
- colour_map {
- [0 0.5 colour red 0.4 green 0.5 blue 1
- colour red 0.4 green 0.5 blue 1.0]
- [0.5 0.7 colour red 0.4 green 0.5 blue 1
- colour red 1 green 1 blue 1.0]
- [0.7 1 colour red 1 green 1 blue 1
- colour red 0.7 green 0.7 blue 0.7]
- }
-
- scale <500 500 500>
- ambient 1
- diffuse 0
- }
- colour red 0.4 green 0.5 blue 1
- */
- }
- // The sky grid
- #declare Grid =
- union {
- // first draw the grid from -x to +x
- // box { <-8000 100 7000> <8000 101 7003> }
- // box { <-8000 100 6900> <8000 101 6903> }
- box { <-8000 100 6800> <8000 101 6803> }
- // box { <-8000 100 6700> <8000 101 6703> }
- // box { <-8000 100 6600> <8000 101 6603> }
- // box { <-8000 100 6500> <8000 101 6503> }
- box { <-8000 100 6400> <8000 101 6403> }
- // box { <-8000 100 6300> <8000 101 6303> }
- // box { <-8000 100 6200> <8000 101 6203> }
- // box { <-8000 100 6100> <8000 101 6103> }
- box { <-8000 100 6000> <8000 101 6003> }
- // box { <-8000 100 5900> <8000 101 5903> }
- // box { <-8000 100 5800> <8000 101 5803> }
- // box { <-8000 100 5700> <8000 101 5703> }
- box { <-8000 100 5600> <8000 101 5603> }
- // box { <-8000 100 5500> <8000 101 5503> }
- // box { <-8000 100 5400> <8000 101 5403> }
- // box { <-8000 100 5300> <8000 101 5303> }
- box { <-8000 100 5200> <8000 101 5203> }
- // box { <-8000 100 5100> <8000 101 5103> }
- // box { <-8000 100 5800> <8000 101 5003> }
- // box { <-8000 100 4900> <8000 101 4903> }
- box { <-8000 100 4800> <8000 101 4803> }
- // box { <-8000 100 4700> <8000 101 4703> }
- // box { <-8000 100 4600> <8000 101 4603> }
- // box { <-8000 100 4500> <8000 101 4503> }
- box { <-8000 100 4400> <8000 101 4403> }
- // box { <-8000 100 4300> <8000 101 4303> }
- // box { <-8000 100 4200> <8000 101 4203> }
- // box { <-8000 100 4100> <8000 101 4103> }
- box { <-8000 100 4000> <8000 101 4003> }
- // box { <-8000 100 3900> <8000 101 3903> }
- // box { <-8000 100 3800> <8000 101 3803> }
- // box { <-8000 100 3700> <8000 101 3703> }
- box { <-8000 100 3600> <8000 101 3603> }
- // box { <-8000 100 3500> <8000 101 3503> }
- // box { <-8000 100 3400> <8000 101 3403> }
- // box { <-8000 100 3300> <8000 101 3303> }
- box { <-8000 100 3200> <8000 101 3203> }
- // box { <-8000 100 3100> <8000 101 3103> }
- // box { <-8000 100 3000> <8000 101 3003> }
- // box { <-8000 100 2900> <8000 101 2903> }
- box { <-8000 100 2800> <8000 101 2803> }
- // box { <-8000 100 2700> <8000 101 2703> }
- // box { <-8000 100 2600> <8000 101 2603> }
- // box { <-8000 100 2500> <8000 101 2503> }
- box { <-8000 100 2400> <8000 101 2403> }
- // box { <-8000 100 2300> <8000 101 2303> }
- // box { <-8000 100 2200> <8000 101 2203> }
- // box { <-8000 100 2100> <8000 101 2103> }
- box { <-8000 100 2000> <8000 101 2003> }
- // box { <-8000 100 1900> <8000 101 1903> }
- // box { <-8000 100 1800> <8000 101 1803> }
- // box { <-8000 100 1700> <8000 101 1703> }
- box { <-8000 100 1600> <8000 101 1603> }
- // box { <-8000 100 1500> <8000 101 1503> }
- // box { <-8000 100 1400> <8000 101 1403> }
- // box { <-8000 100 1300> <8000 101 1303> }
- box { <-8000 100 1200> <8000 101 1203> }
- // box { <-8000 100 1100> <8000 101 1103> }
- // box { <-8000 100 1000> <8000 101 1000> }
- // box { <-8000 100 900> <8000 101 903> }
- box { <-8000 100 800> <8000 101 803> }
- // box { <-8000 100 700> <8000 101 703> }
- // box { <-8000 100 600> <8000 101 603> }
- // box { <-8000 100 500> <8000 101 503> }
- box { <-8000 100 400> <8000 101 403> }
- // box { <-8000 100 300> <8000 101 303> }
- // box { <-8000 100 100> <8000 101 103> }
- // box { <-8000 100 0> <8000 101 3> }
- box { <-8000 100 -103> <8000 101 -100> }
- // box { <-8000 100 -203> <8000 101 -200> }
- // box { <-8000 100 -303> <8000 101 -300> }
- // box { <-8000 100 -403> <8000 101 -400> }
- // --------- now draw the lines the other way to make the grid -------
- // this is the grid from -z to +z
- // box { <-2503 100 -800> <-2500 101 8000> }
- // box { <-2403 100 -800> <-2400 101 8000> }
- // box { <-2303 100 -800> <-2300 101 8000> }
- box { <-2203 100 -800> <-2200 101 8000> }
- // box { <-2103 100 -800> <-2100 101 8000> }
- // box { <-2003 100 -800> <-2000 101 8000> }
- // box { <-1903 100 -800> <-1900 101 8000> }
- box { <-1803 100 -800> <-1800 101 8000> }
- // box { <-1703 100 -800> <-1700 101 8000> }
- // box { <-1603 100 -800> <-1600 101 8000> }
- // box { <-1503 100 -800> <-1500 101 8000> }
- box { <-1403 100 -800> <-1400 101 8000> }
- // box { <-1303 100 -800> <-1300 101 8000> }
- // box { <-1203 100 -800> <-1200 101 8000> }
- // box { <-1103 100 -800> <-1100 101 8000> }
- box { <-1003 100 -800> <-1000 101 8000> }
- // box { < -903 100 -800> < -900 101 8000> }
- // box { < -803 100 -800> < -800 101 8000> }
- // box { < -703 100 -800> < -700 101 8000> }
- box { < -603 100 -800> < -600 101 8000> }
- // box { < -503 100 -800> < -500 101 8000> }
- // box { < -403 100 -800> < -400 101 8000> }
- // box { < -303 100 -800> <-300 101 8000> }
- box { < -203 100 -800> <-200 101 8000> }
- // box { < -103 100 -800> <-100 101 8000> }
- // box { < 0 100 -800> < 3 101 8000> }
- // box { < 100 100 -800> < 103 101 8000> }
- box { < 200 100 -800> < 203 101 8000> }
- // box { < 300 100 -800> < 303 101 8000> }
- // box { < 400 100 -800> < 403 101 8000> }
- // box { < 500 100 -800> < 503 101 8000> }
- box { < 600 100 -800> < 603 101 8000> }
- // box { < 700 100 -800> < 703 101 8000> }
- // box { < 800 100 -800> < 803 101 8000> }
- // box { < 900 100 -800> < 903 101 8000> }
- box { <1000 100 -800> <1003 101 8000> }
- // box { <1100 100 -800> <1103 101 8000> }
- // box { <1200 100 -800> <1203 101 8000> }
- // box { <1300 100 -800> <1303 101 8000> }
- box { <1400 100 -800> <1403 101 8000> }
- // box { <1500 100 -800> <1503 101 8000> }
- // box { <1600 100 -800> <1603 101 8000> }
- // box { <1700 100 -800> <1703 101 8000> }
- box { <1800 100 -800> <1803 101 8000> }
- // box { <1900 100 -800> <1903 101 8000> }
- // box { <2000 100 -800> <2003 101 8000> }
- // box { <2100 100 -800> <2103 101 8000> }
- box { <2200 100 -800> <2203 101 8000> }
- // box { <2300 100 -800> <2303 101 8000> }
- // box { <2400 100 -800> <2403 101 8000> }
- // box { <2500 100 -800> <2503 101 8000> }
- } // End grid
-
- object {
- union { Grid }
- // texture {colour NeonBlue}
- texture { // Mirror
- color White
- ambient 0.0
- diffuse 0.3
- reflection 1.0
- brilliance 3.0
- specular 1.0
- roughness 0.01
- }
- no_shadow
- translate <0 600 0>
- bounded_by {
- box { <-8000 598 -500> <8000 602 8000> }
- }
- }
-
- object { /* Ground */
- plane { <0 1 0> -80 }
- texture {
- 0.05
- colour green 1
- ambient 0.5
- diffuse 0.5
- }
- colour green 1
- bounded_by {box { <-50000 -81 -50000> <50000 -79 50000> } }
- }
-
- // Mirrored sphere { to reflect sun
- // Diffuse value controls aura effect
- object {
- sphere { < 380.0 -80.0 200.0 > 50.0 }
- texture { // Mirror
- color White
- ambient 0.0
- diffuse 0.3
- reflection 1.0
- brilliance 3.0
- specular 1.0
- roughness 0.01
- }
- color White
- bounded_by {box {<320 -80 145> <440 -20 245> }}
- }
- // Silvered sphere
- object {
- sphere { < 10.0 -45.0 250.0 > 70.0 }
- texture {
- color Silver
- ambient 0.0
- diffuse 0.3
- reflection 0.2
- brilliance 0.4
- specular 1.0
- roughness 0.3
- }
- color White
- bounded_by {box {<-60 -80 220> <80 30 320> }}
- }
-
- // Another Silvered sphere, farther back
- object {
- sphere { < 100.0 -45.0 800.0 > 70.0 }
- texture {
- color Silver
- ambient 0.0
- diffuse 0.3
- reflection 0.2
- brilliance 0.4
- specular 1.0
- roughness 0.3
- }
- color White
- bounded_by {box {<30 -80 730> <170 30 875> }}
- }
-
-
- // Set up some boxes to look like database structures
- // These don't look perfect, but are a start
-
- object {
- box { <400 -80 20> <485 -40 110> }
- texture { colour Copper reflection 0.1 }
- bounded_by {box{<400 -80 20><485 -35 110>}}
- }
- object {
- box { <260 -80 -20> <360 -40 15> }
- texture { colour Brass reflection 0.1 }
- bounded_by {box{<260 -80 -20><360 -35 18>}}
- }
-
- object { // box to left of silvered sphere
- box { <105 -80 20> <230 -30 160> }
- texture { colour red 3 }
- bounded_by {box{<90 -80 10><245 -15 170>}}
- }
- object { // Some 'ICE' for the above box
- box { <95 -80 10> <240 -20 170> }
- texture { Glass }
- bounded_by {box{<90 -80 10><245 -15 170>}}
- }
- object { // Green box between Orange box and silvered sphere
- box { <-100 -80 20> <0 -20 60> }
- texture { colour PaleGreen }
- bounded_by {box{<-100 -80 20><0 -15 60>}}
- }
- object { // Box in back of one closest to camera
- box { <-110 -80 -90> <110 -50 -30> }
- texture { colour Orange }
- bounded_by {box{<-110 -80 -90><110 -50 -30>}}
- }
- // Some 'ICE' for the above box.
- object {
- box { <-120 -80 -100> <120 -40 -20> }
- texture { Glass }
- }
- object { // Boxes to right of above box
- union {
- box { <250 -80 -120> <300 -45 -50> }
- box { <350 -80 -120> <400 -45 -50> }
- box { <450 -80 -120> <500 -45 -50> }
- }
- texture { colour Orchid }
- bounded_by {box{<250 -80 -120><500 -50 -50>}}
- }
- // Some 'ICE' for the above boxes.
- object {
- box { <240 -80 -130> <510 -35 -40> }
- texture { Glass }
- }
-
- object { // Box just a bit closer with 'ice' just below the camera
- box { <-210 -80 -350> <210 -60 -250> }
- texture { colour Blue }
- bounded_by {box{<-210 -80 -350><210 -60 -250>}}
- }
- // Some 'ICE' for the above box.
- object {
- box { <-220 -80 -360> <220 -50 -240> }
- texture { Glass }
- bounded_by {box{<-220 -80 -360><220 -50 -240>}}
- }
-
- object { // Box to left of closest box, taller
- box { <-430 -80 -350> <-240 560 -250> }
- texture { colour Red }
- bounded_by {box{<-430 -80 -350><-240 560 -250>}}
- }
- // Some 'ICE' for the above box.
- object {
- box { <-450 -80 -360> <-230 570 -240> }
- texture { Glass }
- bounded_by {box{<-450 -80 -360><-230 570 -240>}}
- }
- object { // Box to right of closest box, taller
- box { <240 -80 -350> <430 560 -250> }
- texture { colour Orchid }
- bounded_by {box{<240 -80 -350><430 560 -250>}}
- }
- // Some 'ICE' for the above box.
- object {
- box { <230 -80 -360> <440 560 -240> }
- texture { Glass }
- bounded_by {box{<230 -80 -360><440 560 -240>}}
- }
-
- object {
- box { <-200 -80 350> <0 40 390> }
- texture { colour red 2 }
- bounded_by {box{<-200 -80 350><0 45 395>}}
- }
- object {
- box { <75 -80 350> <200 20 390> }
- texture { colour ForestGreen }
- bounded_by {box{<75 -80 340><200 20 400>}}
- }
- object {
- box { <125 -80 250> <0 30 290> }
- texture { colour LightGrey }
- bounded_by {box{<125 -80 250><0 35 295>}}
- }
- object { // Next some small boxes between blob and middle boxes
- union {
- box { <-125 -80 70> <-100 -55 110> }
- box { <-125 -80 170> <-100 -65 200> }
- box { <-125 -80 250> <-100 -75 300> }
- box { <-125 -80 350> <-100 -85 400> }
- }
- texture { Glass2 }
- bounded_by {box {<-125 -80 70> <-100 85 400>}}
- }
- object { // Box in the distance
- box { <200 -80 2500> <350 250 2800> }
- texture { colour Orange }
- bounded_by {box {<200 -80 2500> <350 250 2800>}}
- }
- // Some 'ICE' for the above box.
- object {
- box { <100 -80 2400> <450 280 2900> }
- texture { Glass2 }
- bounded_by {box {<100 -80 2400> <450 280 2900>}}
- }
-
- // ---------------- off into the distance
-
- object {
- union {
- box { <-525 -80 250> <-470 240 290> }
- box { <-525 -80 350> <-470 235 390> }
- box { <-525 -80 450> <-470 235 490> }
- box { <-525 -80 550> <-470 235 590> }
- box { <-525 -80 650> <-470 235 690> }
- }
- texture { colour ForestGreen }
- bounded_by
- {box { <-525 -80 250> <-470 240 690> }}
- }
-
- // ---------------- off into the distance II
- object {
- union {
- box { <325 -80 250> <340 240 290> }
- box { <325 -80 350> <340 235 390> }
- box { <325 -80 450> <340 235 490> }
- box { <325 -80 550> <340 235 590> }
- box { <325 -80 650> <340 235 690> }
- }
- texture { colour LightBlue }
- bounded_by
- {box { <325 -80 250> <340 240 690> }}
- }
-
- // ---------------- off into the distance III
- object {
- union {
- box { <525 -80 250> <575 240 290> }
- box { <525 -80 350> <575 235 390> }
- box { <525 -80 450> <575 235 490> }
- box { <525 -80 550> <575 235 590> }
- box { <525 -80 650> <575 235 690> }
- }
- texture { colour LightGrey }
- bounded_by
- {box { <525 -80 250> <575 240 690> }}
- }
- // ---------------- off into the distance IV
- object {
- union {
- box { <725 -80 250> <760 240 290> }
- box { <725 -80 350> <760 235 390> }
- box { <725 -80 450> <760 235 490> }
- box { <725 -80 550> <760 235 590> }
- box { <725 -80 650> <760 235 690> }
- }
- texture { colour Yellow reflection .3}
- bounded_by {box {<725 -80 250> < 760 240 690> }}
- }
-
- // ---------------- off into the distance V (what again ?)
- object {
- union {
- box { <-625 -80 250> <-570 240 290> }
- box { <-625 -80 350> <-570 235 390> }
- box { <-625 -80 450> <-570 235 490> }
- box { <-625 -80 550> <-570 235 590> }
- box { <-625 -80 650> <-570 235 690> }
- }
- texture { colour BlueViolet }
- bounded_by {box { <-625 -80 250> <-570 240 690> }}
- }
- // ---------------- off into the distance VI (Yes, again...)
- object {
- union {
- box { <-325 -80 750> <-270 240 790> }
- box { <-325 -80 850> <-270 235 890> }
- box { <-325 -80 950> <-270 235 990> }
- box { <-325 -80 1050> <-270 235 1090> }
- box { <-325 -80 1150> <-270 235 1190> }
- }
- texture { colour ForestGreen }
- bounded_by
- {box { <-325 -80 750> <-270 240 1190> }}
- }
- object { // Once more, with feeling !
- union {
- box { <785 -80 1850> <900 240 1890> }
- box { <785 -80 1950> <900 235 1990> }
- box { <785 -80 2050> <900 235 2090> }
- box { <785 -80 2150> <900 235 2190> }
- box { <785 -80 2250> <900 235 2290> }
- }
- texture { colour BlueViolet }
- bounded_by {box { <785 -80 1850> <900 240 2290> }}
- }
- object { // More, More !
- union {
- box { <585 -80 2250> <750 245 2390> }
- box { <585 -80 2350> <750 245 2490> }
- box { <585 -80 2450> <750 245 2590> }
- box { <585 -80 2550> <750 245 2690> }
- box { <585 -80 2650> <750 245 2790> }
- }
- texture { colour BlueViolet }
- bounded_by {box { <580 -80 2200> <760 250 2800> }}
- }
- // ---------- Now, put some tall 'buildings' on either side of the
- // ---------- central shapes.
- object {
- union {
- box { <-1150 -80 150> <-950 320 290> }
- box { <-1150 -80 350> <-950 320 490> }
- box { <-1150 -80 550> <-950 320 690> }
- box { <-1150 -80 750> <-950 320 890> }
- box { <-1150 -80 950> <-950 320 1090> }
- box { <-1150 -80 1150> <-950 320 1290> }
- box { <-1150 -80 1350> <-950 320 1490> }
- box { <-1150 -80 1550> <-950 320 1690> }
- box { <-1150 -80 1750> <-950 320 1890> }
- box { <-1150 -80 1950> <-950 320 2090> }
- box { <-1150 -80 2150> <-950 320 2290> }
- box { <-1150 -80 2350> <-950 320 2490> }
- box { <-1150 -80 2550> <-950 320 2690> }
- box { <-1150 -80 2750> <-950 320 2890> }
- box { <-1150 -80 2950> <-950 320 3090> }
- box { <-1150 -80 3150> <-950 320 3290> }
- box { <-1150 -80 3350> <-950 320 3490> }
- box { <-1150 -80 3550> <-950 320 3690> }
- box { <-1150 -80 3750> <-950 320 3890> }
- box { <-1150 -80 3950> <-950 320 4090> }
- box { <-1150 -80 4150> <-950 320 4290> }
- box { <-1150 -80 4350> <-950 320 4490> }
- box { <-1150 -80 4550> <-950 320 4690> }
- box { <-1150 -80 4750> <-950 320 4890> }
- box { <-1150 -80 4950> <-950 320 5090> }
- box { <-1150 -80 5150> <-950 320 5290> }
- box { <-1150 -80 5350> <-950 320 5490> }
- box { <-1150 -80 5550> <-950 320 5690> }
- box { <-1150 -80 5750> <-950 320 5890> }
- box { <-1150 -80 5950> <-950 320 6090> }
- box { <-1150 -80 6150> <-950 320 6290> }
- box { <-1150 -80 6350> <-950 320 6490> }
- box { <-1150 -80 6550> <-950 320 6690> }
- box { <-1150 -80 6750> <-950 320 6890> }
- box { <-1150 -80 6950> <-950 320 7290> }
- box { <-1150 -80 7150> <-950 320 7490> }
- box { <-1150 -80 7350> <-950 320 7690> }
- box { <-1150 -80 7550> <-950 320 7890> }
- box { <-1150 -80 7750> <-950 320 8090> }
- box { <-1150 -80 7950> <-950 320 8290> }
- box { <-1150 -80 8150> <-950 320 8490> }
- box { <-1150 -80 8350> <-950 320 8690> }
- box { <-1150 -80 8550> <-950 320 8890> }
- }
- texture { colour Brown }
- bounded_by {box { <-1150 -80 150> <-950 320 8890> }}
- }
- object {
- union {
- box { <950 -80 150> <1150 320 290> }
- box { <950 -80 350> <1150 320 490> }
- box { <950 -80 550> <1150 320 690> }
- box { <950 -80 750> <1150 320 890> }
- box { <950 -80 950> <1150 320 1090> }
- box { <950 -80 1150> <1150 320 1290> }
- box { <950 -80 1350> <1150 320 1490> }
- box { <950 -80 1550> <1150 320 1690> }
- box { <950 -80 1750> <1150 320 1890> }
- box { <950 -80 1950> <1150 320 2090> }
- box { <950 -80 2150> <1150 320 2290> }
- box { <950 -80 2350> <1150 320 2490> }
- box { <950 -80 2550> <1150 320 2690> }
- box { <950 -80 2750> <1150 320 2890> }
- box { <950 -80 2950> <1150 320 3090> }
- box { <950 -80 3150> <1150 320 3290> }
- box { <950 -80 3350> <1150 320 3490> }
- box { <950 -80 3550> <1150 320 3690> }
- box { <950 -80 3750> <1150 320 3890> }
- box { <950 -80 3950> <1150 320 4090> }
- box { <950 -80 4150> <1150 320 4290> }
- box { <950 -80 4350> <1150 320 4490> }
- box { <950 -80 4550> <1150 320 4690> }
- box { <950 -80 4750> <1150 320 4890> }
- box { <950 -80 4950> <1150 320 5090> }
- box { <950 -80 5150> <1150 320 5290> }
- box { <950 -80 5350> <1150 320 5490> }
- box { <950 -80 5550> <1150 320 5690> }
- box { <950 -80 5750> <1150 320 5890> }
- box { <950 -80 5950> <1150 320 6090> }
- box { <950 -80 6150> <1150 320 6290> }
- box { <950 -80 6350> <1150 320 6490> }
- box { <950 -80 6550> <1150 320 6690> }
- box { <950 -80 6750> <1150 320 6890> }
- box { <950 -80 6950> <1150 320 7090> }
- box { <950 -80 7150> <1150 320 7290> }
- box { <950 -80 7350> <1150 320 7490> }
- box { <950 -80 7550> <1150 320 7690> }
- box { <950 -80 7750> <1150 320 7890> }
- box { <950 -80 7950> <1150 320 8090> }
- box { <950 -80 8150> <1150 320 8290> }
- box { <950 -80 8350> <1150 320 8490> }
- box { <950 -80 8550> <1150 320 8690> }
- }
- texture { colour Brown }
- bounded_by {box { <950 -80 150> <1150 320 8690> }}
- }
- object {
- union {
- box { <-1450 -80 150> <-1250 460 290> }
- box { <-1450 -80 350> <-1250 460 490> }
- box { <-1450 -80 550> <-1250 460 690> }
- box { <-1450 -80 750> <-1250 460 890> }
- box { <-1450 -80 950> <-1250 460 1090> }
- box { <-1450 -80 1150> <-1250 460 1290> }
- box { <-1450 -80 1350> <-1250 460 1490> }
- box { <-1450 -80 1550> <-1250 460 1690> }
- box { <-1450 -80 1750> <-1250 460 1890> }
- box { <-1450 -80 1950> <-1250 460 2090> }
- box { <-1450 -80 2150> <-1250 460 2290> }
- box { <-1450 -80 2350> <-1250 460 2490> }
- box { <-1450 -80 2550> <-1250 460 2690> }
- box { <-1450 -80 2750> <-1250 460 2890> }
- box { <-1450 -80 2950> <-1250 460 3090> }
- box { <-1450 -80 3150> <-1250 460 3290> }
- box { <-1450 -80 3350> <-1250 460 3490> }
- box { <-1450 -80 3550> <-1250 460 3690> }
- box { <-1450 -80 3750> <-1250 460 3890> }
- box { <-1450 -80 3950> <-1250 460 4090> }
- box { <-1450 -80 4150> <-1250 460 4290> }
- box { <-1450 -80 4350> <-1250 460 4490> }
- box { <-1450 -80 4550> <-1250 460 4690> }
- box { <-1450 -80 4750> <-1250 460 4890> }
- box { <-1450 -80 4950> <-1250 460 5090> }
- box { <-1450 -80 5150> <-1250 460 5290> }
- box { <-1450 -80 5350> <-1250 460 5490> }
- box { <-1450 -80 5550> <-1250 460 5690> }
- box { <-1450 -80 5750> <-1250 460 5890> }
- box { <-1450 -80 5950> <-1250 460 6090> }
- box { <-1450 -80 6150> <-1250 460 6290> }
- box { <-1450 -80 6350> <-1250 460 6490> }
- box { <-1450 -80 6550> <-1250 460 6690> }
- box { <-1450 -80 6750> <-1250 460 6890> }
- box { <-1450 -80 6950> <-1250 460 7290> }
- box { <-1450 -80 7150> <-1250 460 7490> }
- box { <-1450 -80 7350> <-1250 460 7690> }
- box { <-1450 -80 7550> <-1250 460 7890> }
- box { <-1450 -80 7750> <-1250 460 8090> }
- box { <-1450 -80 7950> <-1250 460 8290> }
- box { <-1450 -80 8150> <-1250 460 8490> }
- box { <-1450 -80 8350> <-1250 460 8690> }
- box { <-1450 -80 8550> <-1250 460 8890> }
- }
- texture { colour Brown }
- bounded_by {box { <-1450 -80 150> <-1250 460 8890> }}
- }
- object {
- union {
- box { <1250 -80 150> <1450 460 290> }
- box { <1250 -80 350> <1450 460 490> }
- box { <1250 -80 550> <1450 460 690> }
- box { <1250 -80 750> <1450 460 890> }
- box { <1250 -80 1250> <1450 460 1090> }
- box { <1250 -80 1150> <1450 460 1290> }
- box { <1250 -80 1350> <1450 460 1490> }
- box { <1250 -80 1550> <1450 460 1690> }
- box { <1250 -80 1750> <1450 460 1890> }
- box { <1250 -80 1950> <1450 460 2090> }
- box { <1250 -80 2150> <1450 460 2290> }
- box { <1250 -80 2350> <1450 460 2490> }
- box { <1250 -80 2550> <1450 460 2690> }
- box { <1250 -80 2750> <1450 460 2890> }
- box { <1250 -80 2950> <1450 460 3090> }
- box { <1250 -80 3150> <1450 460 3290> }
- box { <1250 -80 3350> <1450 460 3490> }
- box { <1250 -80 3550> <1450 460 3690> }
- box { <1250 -80 3750> <1450 460 3890> }
- box { <1250 -80 3950> <1450 460 4090> }
- box { <1250 -80 4150> <1450 460 4290> }
- box { <1250 -80 4350> <1450 460 4490> }
- box { <1250 -80 4550> <1450 460 4690> }
- box { <1250 -80 4750> <1450 460 4890> }
- box { <1250 -80 4950> <1450 460 5090> }
- box { <1250 -80 5150> <1450 460 5290> }
- box { <1250 -80 5350> <1450 460 5490> }
- box { <1250 -80 5550> <1450 460 5690> }
- box { <1250 -80 5750> <1450 460 5890> }
- box { <1250 -80 5950> <1450 460 6090> }
- box { <1250 -80 6150> <1450 460 6290> }
- box { <1250 -80 6350> <1450 460 6490> }
- box { <1250 -80 6550> <1450 460 6690> }
- box { <1250 -80 6750> <1450 460 6890> }
- box { <1250 -80 6950> <1450 460 7090> }
- box { <1250 -80 7150> <1450 460 7290> }
- box { <1250 -80 7350> <1450 460 7490> }
- box { <1250 -80 7550> <1450 460 7690> }
- box { <1250 -80 7750> <1450 460 7890> }
- box { <1250 -80 7950> <1450 460 8090> }
- box { <1250 -80 8150> <1450 460 8290> }
- box { <1250 -80 8350> <1450 460 8490> }
- box { <1250 -80 8550> <1450 460 8690> }
- }
- texture { colour Blue }
- bounded_by {box { <1250 -80 150> <1450 460 8690> }}
- }
-
- // ----------------------------------------------------------------------
- // Create the stepped cone structure by piling clipped cones and disks.
- // ----------------------------------------------------------------------
-
- #declare Cone_Comp =
- composite {
- object {intersection { Cone_Y scale <50 120 50> translate <0 -80 0> }
- texture {colour Quartz}
- clipped_by {plane {<0 1 0> -60}} }
- // object { intersection { Disk_Y scale <15 1 15> translate <0 -60 0> }
- // texture {colour Quartz} }
- object { intersection { Cone_Y scale <30 90 30> translate <0 -61 0> }
- texture {colour Quartz}
- clipped_by {plane {<0 1 0> -40}} }
- // object { intersection { Disk_Y scale <6 1 6> translate <0 -40 0> }
- // texture {colour Quartz} }
- object { intersection { Cone_Y scale <25 70 25> translate <0 -61 0> }
- texture {colour Quartz} }
- }
-
- composite { Cone_Comp translate <570 45 60> scale <1.0 2.0 1.0> }
- // bounded_by {box { <270 -80 10> <380 170 100> } } }
- composite { Cone_Comp translate <570 45 150> scale <1.0 2.0 1.0> }
- // bounded_by {box { <230 -80 125> <430 170 175> } } }
-
- // Try some new ones closer to the camera 3/19/93
- composite { Cone_Comp translate <-340 45 -50> scale <1.0 2.0 1.0> }
- // bounded_by {box { <-445 -80 -55> <-140 170 0> } } }
- composite { Cone_Comp translate <-440 45 -50> scale <1.0 2.0 1.0> }
- // bounded_by {box { <-540 -80 -55> <-390 170 0> } } }
-
- // Some 'ICE' for the above cone structure.
- object {
- box { <-600 -80 -85> <-280 140 0> }
- texture { Glass2 }
- bounded_by {box {<-600 -80 -85> <-280 140 0>}}
- }
-
-
- // put some more off in the distance
-
- composite { Cone_Comp translate <-410 85 1200> scale <3.0 3.0 3.0> }
- // bounded_by {box { <-140 -80 2850> <160 280 3150> } } }
- composite { Cone_Comp translate <-560 85 1200> scale <3.0 3.0 3.0> }
- // bounded_by {box { <-90 -80 2850> <210 280 3150> } } }
-
- // ---------------------------------------------
- // Set up a pyramid structure
- // ---------------------------------------------
- #declare Pyramid_1 =
- union {
- intersection { Pyramid scale <50 110 50> translate <0 -80 0> }
- intersection { Square_Y scale <25 1 25> translate <0 -60 0> }
- intersection { Pyramid scale <30 100 30> translate <0 -60 0> }
- }
- object {
- union { Pyramid_1 }
- translate <650 0 560> scale <1.5 1.5 1.5>
- texture {colour Coral reflection .1}
- bounded_by {box { <550 -80 410> <750 110 710> }}
- }
- object {
- union { Pyramid_1 }
- translate <450 0 300> scale <1.5 1.5 1.5>
- texture {colour Orange}
- bounded_by {box { <350 -80 200> <550 110 400> }}
- }
- object {
- union { Pyramid_1 }
- translate <250 0 80> scale <1.5 1.5 1.5>
- texture {colour Green reflection 0.9}
- bounded_by {box { <150 -80 0> <250 250 160> }}
- }
- object {
- union { Pyramid_1 }
- translate <-350 30 100> scale <2 3 2>
- texture {colour Coral reflection .1}
- bounded_by {box { <-450 -80 0> <-250 300 200> }}
- }
- object {
- union { Pyramid_1 }
- translate <-100 0 -100> scale <5 5 5>
- texture {colour Coral reflection .1}
- bounded_by {box { <-200 -80 -200> <0 450 0> }}
- }
-
- // ---------------------------------------------
- // Now for a diamond structure (Rhomboid)
- // ---------------------------------------------
- object {
- intersection { Rhomboid
- scale <10 10 10>
- translate <-100 -80 0>
- rotate <0 45 0> }
- // texture { colour Quartz reflection .1 }
- texture { Glass2 }
- bounded_by {box { <-110 -80 -10> <-90 110 10> }}
- }
- object {
- intersection { Rhomboid
- scale <20 20 20>
- translate <150 -80 25>
- rotate <0 45 0> }
- texture { colour Blue reflection .3 }
- bounded_by {box { <230 -80 5> <270 30 35> }}
- }
- object {
- intersection { Rhomboid
- scale <30 30 30>
- translate <-20 -80 660>
- rotate <0 90 0> }
- texture { colour Gray35 reflection .3 }
- bounded_by {box { <-50 -80 630> <10 -30 690> }}
- }
- /*
-
- object {
- intersection { Rhomboid
- scale <90 100 90>
- translate <-300 -80 1690>
- rotate <0 90 0> }
- texture { colour Gray75 reflection .3 }
- bounded_by {box { <-800 -80 1550> <-100 100 1800> }}
- }
- */
-
- // ----------------------------------------------------------------------
- // Create a stepped cylinder structure by piling clipped cylinders.
- // ----------------------------------------------------------------------
-
- #declare Cyl_Comp =
- composite {
- object {quadric { Cylinder_Y scale <50 1 50> }
- texture {colour Gray25 }
- clipped_by {plane {<0 1 0> -40}} }
- // object { intersection { Disk_Y scale <15 1 15> translate <0 -60 0> }
- // texture {colour Gray25} }
- object { quadric { Cylinder_Y scale <30 1 30> }
- texture {colour Gray25}
- clipped_by {plane {<0 1 0> 0}} }
- // object { intersection { Disk_Y scale <6 1 6> translate <0 -40 0> }
- // texture {colour Gray25}
- object { quadric { Cylinder_Y scale <15 1 15> }
- texture {colour Gray25}
- clipped_by {plane {<0 1 0> 40}} }
- }
- #declare Cyl_Comp_Red =
- composite {
- object {quadric { Cylinder_Y scale <50 1 50> }
- texture {colour Red }
- clipped_by {plane {<0 1 0> -40}} }
- // object { intersection { Disk_Y scale <15 1 15> translate <0 -60 0> }
- // texture {colour Red} }
- object { quadric { Cylinder_Y scale <30 1 30> }
- texture {colour Red}
- clipped_by {plane {<0 1 0> 0}} }
- // object { intersection { Disk_Y scale <6 1 6> translate <0 -40 0> }
- // texture {colour Red}
- object { quadric { Cylinder_Y scale <15 1 15> }
- texture {colour Red}
- clipped_by {plane {<0 1 0> 40}} }
- // object { intersection { Disk_Y scale <6 1 6> translate <0 40 0> }
- // texture {colour Red} }
- }
-
- // ----------------------------------------------------------------------
- // Now put one in the scene.
- // ----------------------------------------------------------------------
-
- composite { Cyl_Comp translate <180.0 10.0 170.0> scale <1.5 1.5 1.5> }
- // bounded_by {box { <150 -80 140> <350 170 340> } } }
-
- // ---------- And put a sphere on top of the cylinder ------------
- object {
- sphere { < 255.0 115.0 245.0 > 55.0 }
- texture { // Mirror
- color White
- ambient 0.0
- diffuse 0.3
- reflection 1.0
- brilliance 3.0
- specular 1.0
- roughness 0.01
- }
- color White
- }
-
- // Put a 'blob' structure back behind the silvered sphere on the left
- // - two cylinders, a spfere on top of each, and blob the spheres.
-
- composite { Cyl_Comp translate <-250 10 70> scale <1.5 1.5 1.5> }
- composite { Cyl_Comp translate <-175 10 175> scale <1.5 1.5 1.5> }
-
- object {
- blob {
- threshold 0.6
- component 1.0 105.0 <-250 90 70>
- component 1.0 105.0 <-175 90 175>
- scale <1.5 1.5 1.5>
- sturm
- }
- texture { Glass2 }
- }
-
- // Put another set of cylinders farther back, and blob two spheres on top
-
- composite { Cyl_Comp translate <-200 10 1200> scale <1.5 1.5 1.5> }
- composite { Cyl_Comp translate <0 10 1200> scale <1.5 1.5 1.5> }
-
- object {
- blob {
- threshold 0.6
- component 1.0 160.0 <-200 100 1200>
- component 1.0 160.0 <0 100 1200>
- scale <1.5 1.5 1.5>
- sturm
- }
- texture { colour Red reflection .5}
- }
-
- // ---- OK, campers....let's now put a 'tower' structure way in the
- // ---- back, but make it really big. This is a crude attempt at
- // ---- showing the 'military' data systems depicted in Gibson's
- // ---- novel.
-
- #declare CParaboloid_Y = intersection {
- quadric { Paraboloid_Y texture {colour Gray75} }
- plane { <0.0 1.0 0.0> 10 }
- }
-
- #declare Military_Struct = union {
- intersection { CParaboloid_Y translate <0 10 0>}
- intersection { CParaboloid_Y translate <0 10 0> rotate <0 0 45> }
- intersection { CParaboloid_Y translate <0 10 0> rotate <0 0 90> }
- intersection { CParaboloid_Y translate <0 10 0> rotate <0 0 135> }
- intersection { CParaboloid_Y translate <0 10 0> rotate <0 0 180> }
- intersection { CParaboloid_Y translate <0 10 0> rotate <0 0 225> }
- intersection { CParaboloid_Y translate <0 10 0> rotate <0 0 270> }
- intersection { CParaboloid_Y translate <0 10 0> rotate <0 0 315> }
- }
-
- composite {
- object { quadric{ Cylinder_Y
- scale <100 100 100>
- translate <-400 0 4000>
- }
- texture {colour Blue}
- }
- object { sphere {<-400 1000 4000> 400}
- texture {colour Blue}}
- object { union { Military_Struct
- scale <25 25 25>
- rotate <22 0 0>
- translate <-400 1000 4000>
- }
- }
- }
-
- composite {
- object { quadric{ Cylinder_Y
- scale <100 100 100>
- translate <500 0 4000>
- }
- texture {colour Blue}
- }
- object { sphere {<500 1000 4000> 400}
- texture {colour Blue}
- }
- }
- object { union { Military_Struct
- scale <25 25 25>
- rotate <22 0 0>
- translate <500 1000 4000>
- }
- }
- // Now for the new twist: characters spelling 'Cyberspace"
- // to the left of the box in the foreground
- composite {
- object{ char_C texture {Glass2} translate <-60 0 0> }
- object{ char_Y texture {Glass2} translate <-55 0 0> }
- object{ char_B texture {Glass2} translate <-50 0 0> }
- object{ char_E texture {Glass2} translate <-45 0 0> }
- object{ char_R texture {Glass2} translate <-40 0 0> }
- object{ char_S texture {Glass2} translate <-35 0 0> }
- object{ char_P texture {Glass2} translate <-30 0 0> }
- object{ char_A texture {Glass2} translate <-25 0 0> }
- object{ char_C texture {Glass2} translate <-20 0 0> }
- object{ char_E texture {Glass2} translate <-15 0 0> }
-
- object{ char_B texture {Glass2} translate <-5 0 0> }
- object{ char_Y texture {Glass2} translate <0 0 0> }
-
- object{ char_T texture {Glass2} translate <10 0 0> }
- object{ char_O texture {Glass2} translate <15 0 0> }
- object{ char_M texture {Glass2} translate <20 0 0> }
-
- object{ char_C texture {Glass2} translate <30 0 0> }
- object{ char_L texture {Glass2} translate <35 0 0> }
- object{ char_I texture {Glass2} translate <40 0 0> }
- object{ char_F texture {Glass2} translate <45 0 0> }
- object{ char_F texture {Glass2} translate <50 0 0> }
- object{ char_O texture {Glass2} translate <55 0 0> }
- object{ char_R texture {Glass2} translate <60 0 0> }
- object{ char_D texture {Glass2} translate <65 0 0> }
-
- scale <3 8 12>
- translate <-40 -80 -190>
- bounded_by {box {<-280 -80 -200><180 100 -180>}}
- //rotate <0 -60 0>
- }
-
-