home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ray Tracing Box
/
RAY_CD.mdf
/
raytrace
/
_pov_dat
/
cyb2
/
cyb2.pov
< prev
Wrap
Text File
|
1993-04-26
|
37KB
|
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>
}