home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ray Tracing Box
/
RAY_CD.mdf
/
raytrace
/
_pov_dat
/
slug1
/
tower.inc
< prev
Wrap
Text File
|
1992-12-28
|
10KB
|
361 lines
//--- Ancient Towers
//--- Torus For Dome Base
#declare T20 =
quartic {
< 1.000000 0.000000 0.000000 0.000000 2.000000
0.000000 0.000000 2.000000 0.000000 -50.320000
0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 0.000000 0.000000 0.000000 0.000000
1.000000 0.000000 0.000000 2.000000 0.000000
49.680000 0.000000 0.000000 0.000000 0.000000
1.000000 0.000000 -50.320000 0.000000 617.025600 >
sturm
}
//--- Hersey Kiss Shape
#declare Piriform =
quartic {
< 4.0 0.0 0.0 -4.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0
0.0 0.0 1.0 0.0 0.0 >
}
//--- Bright Metallic Gold
#declare Gold2 =
texture {
0.02
ambient 0.3
diffuse 0.5
colour red 0.64 green 0.51 blue 0.05
reflection 0.6
brilliance 8
specular 0.5
}
#declare DomeTexture =
texture {
gradient <0 1 0>
color_map {
[0 1 color Gold color Gray60]
}
scale <2 2 2>
turbulence .3
ambient .1
phong 1
.1
}
#declare FrameTexture =
texture {
color Feldspar
ambient .1
phong 1
.15
}
#declare Muck = color red .76 green .74 blue .67
#declare Body2Texture =
texture {
color Muck
ambient .1
phong 1
.15
}
#declare BodyTexture =
texture {
color Gray50
ambient .1
phong 1
.15
}
//--- Kiss shaped Object
#declare Kiss =
object {
quartic { Piriform rotate <0 0 -90> }
texture { DomeTexture }
bounded_by {
box { UnitBox scale <.66 .6 .66> translate <0 -.55 0> }
}
}
//--- Kiss shape for Rib
#declare RKiss =
quartic { Piriform rotate <0 0 -90> }
//--- Dome Ribs
#declare DRib =
object {
intersection {
quartic { RKiss scale <11 11 11> }
plane { <0 0 1> .3 }
plane { <0 0 1> -.3 inverse }
}
texture { Gold2 }
bounded_by {
box { UnitBox scale <7 6 3> translate <0 -5.5 0> }
}
}
//---- Tower Type1
#declare Tower1 =
composite {
//--- Dome
composite {
object { Kiss scale <10 10 10> translate <0 10 0> }
object { Kiss scale <2.9 2.9 2.9> translate <0 10.7 0> texture { Gold2 }}
object { Kiss scale <1.07 6 1.07> translate <0 14.3 0> texture { Gold2 }}
object { DRib rotate <0 0 0> translate <0 10.5 0> }
object { DRib rotate <0 60 0> translate <0 10.5 0> }
object { DRib rotate <0 120 0> translate <0 10.5 0> }
bounded_by {
box { UnitBox scale <7 7.5 7> translate <0 7.3 0> }
}
translate <0 42 0>
}
//--- Torus Base
object {
quartic { T20 }
texture { Gold2 }
bounded_by {
box { UnitBox scale <5.5 .5 5.5> }
}
translate <0 42 0>
}
//--- Tower Body
object {
difference {
intersection { Disk_Y scale <5 21 5> translate <0 21 0> }
quadric { Cylinder_Y scale <4 1 4> }
quadric { Cylinder_Z scale <3 3 1> translate <0 35.2 0> }
box { UnitBox scale <1.8 3.4 6> translate <0 33.2 0> }
}
texture { BodyTexture }
bounded_by {
box { UnitBox scale <5.5 22 5.5> translate <0 21 0> }
}
}
//--- Tower Window
object {
difference {
union {
quadric { Cylinder_Z scale <3.8 3.8 1> translate <0 35.2 0> }
box { UnitBox scale <2.6 4.2 6> translate <0 33.2 0> }
}
quadric { Cylinder_Z scale <3 3 1> translate <0 35.2 0> }
box { UnitBox scale <1.8 3.4 6> translate <0 33.2 0> }
quadric { Cylinder_Y scale <5.5 1 5.5> inverse }
}
texture { FrameTexture }
bounded_by {
box { UnitBox scale <4.2 6 6> translate <0 33.9 0> }
}
}
object {
union {
intersection { Disk_Y scale <5.5 1 5.5> translate <0 40.6 0> }
intersection { Disk_Y scale <5.5 13 5.5> translate <0 13 0> }
}
texture { FrameTexture }
}
bounded_by {
box { UnitBox scale <7 30 7> translate <0 29 0> }
}
}
//---- Tower Type2
#declare Tower2 =
composite {
//--- Dome
composite {
object { Kiss scale <10 10 10> translate <0 10 0> texture { BodyTexture } }
object { Kiss scale <2.9 2.9 2.9> translate <0 10.7 0> texture { Gold2 }}
object { Kiss scale <1.07 6 1.07> translate <0 14.3 0> texture { Gold2 }}
object { DRib rotate <0 0 0> translate <0 10.5 0> }
object { DRib rotate <0 60 0> translate <0 10.5 0> }
object { DRib rotate <0 120 0> translate <0 10.5 0> }
bounded_by {
box { UnitBox scale <7 7.5 7> translate <0 7.3 0> }
}
translate <0 42 0>
}
//--- Torus Base
object {
quartic { T20 }
texture { Gold2 }
bounded_by {
box { UnitBox scale <5.5 .5 5.5> }
}
translate <0 42 0>
}
//--- Tower Body
object {
difference {
intersection { Disk_Y scale <5 21 5> translate <0 21 0> }
quadric { Cylinder_Y scale <4 1 4> }
quadric { Cylinder_Z scale <3 3 1> translate <0 35.2 0> }
box { UnitBox scale <1.8 3.4 6> translate <0 33.2 0> }
}
texture { BodyTexture }
bounded_by {
box { UnitBox scale <5.5 22 5.5> translate <0 21 0> }
}
}
//--- Tower Window
object {
difference {
union {
quadric { Cylinder_Z scale <3.8 3.8 1> translate <0 35.2 0> }
box { UnitBox scale <2.6 4.2 6> translate <0 33.2 0> }
}
quadric { Cylinder_Z scale <3 3 1> translate <0 35.2 0> }
box { UnitBox scale <1.8 3.4 6> translate <0 33.2 0> }
quadric { Cylinder_Y scale <5.5 1 5.5> inverse }
}
texture { Body2Texture }
bounded_by {
box { UnitBox scale <4.2 6 6> translate <0 33.9 0> }
}
}
object {
union {
intersection { Disk_Y scale <5.5 1 5.5> translate <0 40.6 0> }
intersection { Disk_Y scale <5.5 13 5.5> translate <0 13 0> }
}
texture { Body2Texture }
}
bounded_by {
box { UnitBox scale <7 30 7> translate <0 29 0> }
}
}
//--- Post for Bridge
#declare Post1 = intersection { Disk_Y scale <.2 1.8 .2> }
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//--- Complete Tower
composite {
composite {
composite { Tower1 translate <-22 0 0> }
composite { Tower1 translate <22 0 0> }
composite { Tower1 scale <3 2 3> translate <0 -61 0> }
composite { Tower2 scale <1.6 1.6 1.6> translate <14.3 0 23> }
bounded_by {
box { UnitBox scale <33 50 30> translate <0 49 7.7> }
}
}
composite {
composite { Tower1 scale <1 1 1> translate <64.6 0 0> }
composite { Tower2 scale <1.6 1.6 1.6> translate <75 0 23.1> }
composite { Tower2 scale <1.6 1.6 1.6> translate <75 -49.5 -9.1> }
bounded_by {
box { UnitBox scale <19 50 30> translate <72.5 49 7.7> }
}
}
//--- Bridge Span
composite {
composite {
//--- Bridge Trim
object {
union {
difference {
intersection { Disk_Z scale <12 12 2> translate <0 -14 0> }
quadric { Cylinder_Z scale <11 11 1> translate <0 -14 0> }
plane { <0 1 0> -14 }
}
box { UnitBox scale <16.5 .6 2> translate <0 -.6 0> }
box { UnitBox scale <1.9 1.1 2> translate <-14.7 -15 0> }
box { UnitBox scale <1.9 1.1 2> translate <14.7 -15 0> }
}
texture { FrameTexture }
bounded_by {
box { UnitBox scale <17.5 9 3> translate <0 -8 0> }
}
}
//--- Bridge Wall
object {
difference {
box { UnitBox scale <16.5 6.45 1.6> translate <0 -7.6 0> }
quadric { Cylinder_Z scale <12 12 1> translate <0 -14 0> }
}
texture { BodyTexture }
bounded_by {
box { UnitBox scale <17.5 9 3> translate <0 -8 0> }
}
}
bounded_by {
box { UnitBox scale <17.5 9 3> translate <0 -8 0> }
}
}
object {
union {
intersection { Post1 translate <-15 1.8 0> }
intersection { Post1 translate <-13.5 1.8 0> }
intersection { Post1 translate <-12 1.8 0> }
intersection { Post1 translate <-10.5 1.8 0> }
intersection { Post1 translate <-9 1.8 0> }
intersection { Post1 translate <-7.5 1.8 0> }
intersection { Post1 translate <-6 1.8 0> }
intersection { Post1 translate <-4.5 1.8 0> }
intersection { Post1 translate <-3 1.8 0> }
intersection { Post1 translate <-1.5 1.8 0> }
intersection { Post1 translate <0 1.8 0> }
intersection { Post1 translate <15 1.8 0> }
intersection { Post1 translate <13.5 1.8 0> }
intersection { Post1 translate <12 1.8 0> }
intersection { Post1 translate <10.5 1.8 0> }
intersection { Post1 translate <9 1.8 0> }
intersection { Post1 translate <7.5 1.8 0> }
intersection { Post1 translate <6 1.8 0> }
intersection { Post1 translate <4.5 1.8 0> }
intersection { Post1 translate <3 1.8 0> }
intersection { Post1 translate <1.5 1.8 0> }
}
texture { Gold2 }
bounded_by {
box { UnitBox scale <16 2.3 .5> translate <0 1.7 0> }
}
}
translate <43.6 30.6 0>
}
bounded_by {
box { UnitBox scale <65 50 30> translate <28.8 49 7.7> }
}
scale <16.6666 16.6666 16.6666>
translate <290 1040 1100>
}