// Persistence of Vision Ray Tracer Scene Description File // File: .pov // Vers: 3 // Desc: // Date: May 19, 1997 // Auth: Beth Randall // A Medieval Domed Building. // ==== Standard POV-Ray Includes ==== #include "colors.inc" // Standard Color definitions #include "textures.inc" // Standard Texture definitions camera { angle 13 location <1, 20, -50> look_at <0, 2, 0> } light_source { <20, 20, -20> color White } #declare Dome = union { lathe { quadratic_spline 3, <0, -3.5>, <1.5, 0>, <0, 1.5> } lathe { quadratic_spline 3, <-0.5, 0>, <.25, 1.5>, <0, 1.9> } pigment {SteelBlue} } #declare UnderDome = union { // UnderDome reaches a height of y = 1.1. lathe { linear_spline 4, <2, 0>, <2, 0.75>, <1, 0.75>, <1.2, 1> pigment {Goldenrod} } torus { 1.9, 0.1 pigment {Red} translate <0, 0.75, 0> } lathe{ linear_spline 4, <1.2, 1>, <1.6, 1>, <1.6, 1.1>, <1.2, 1.1> pigment {SteelBlue} } } #declare Window = prism { linear_sweep linear_spline 0, 6, 5, <-0.10, 0.10>, <-0.10, 0.5>, <0.10, 0.5>, <0.10, 0.10>, <-0.10, 0.10> } #declare FullUnder = difference{ object {UnderDome} union { object {Window rotate <270, 0, 0> } object {Window rotate <270, 22.5, 0> } object {Window rotate <270, 45, 0> } object {Window rotate <270, 67.5, 0> } object {Window rotate <270, 90, 0> } object {Window rotate <270, 112.5, 0> } object {Window rotate <270, 135, 0> } object {Window rotate <270, 157.5, 0> } object {Window rotate <270, 180, 0> } object {Window rotate <270, 202.5, 0> } object {Window rotate <270, 225, 0> } object {Window rotate <270, 247.5, 0> } object {Window rotate <270, 270, 0> } object {Window rotate <270, 292.5, 0> } object {Window rotate <270, 315, 0> } object {Window rotate <270, 337.5, 0> } pigment {SemiSweetChoc} } } #declare Cube = prism { linear_sweep linear_spline 0, 3, 5, <-3, 0>, <3, 0>, <3, 3>, <-3, 3>, <-3, 0> pigment {Goldenrod} } #declare Niche = union { lathe{ linear_spline 4, <0, 0>, <.8, 0>, <.8, 1.6>, <0, 1.6> } lathe { quadratic_spline 3, <0, 0>, <.8, 1.6>, <0, 2.3> } pigment {SemiSweetChoc} } #declare NicheCube = difference { union { object {Cube translate <0, 0, -3>} object {Cube} } union { object {Niche translate <-3, 0, -3>} object {Niche translate <0, 0, -3>} object {Niche translate <3, 0, -3>} object {Niche translate <3, 0, 0>} object {Niche translate <3, 0, 3> } object {Niche translate <0, 0, 3> } object {Niche translate <-3, 0, 3> } object {Niche translate <-3, 0, 0> } } } #declare Pillar = union { lathe { linear_spline 4, <0, 0>, <0.15, 0>, <0.15, 0.1>, <0, 0.1> pigment {Black} } lathe { linear_spline 4, <0, 0.1>, <0.1, 0.1>, <0.1, 1.5>, <0, 1.5> pigment {Red} } lathe { linear_spline 4, <0, 1.5>, <0.15, 1.5>, <0.15, 1.6>, <0, 1.6> pigment {Black} } } #declare Octo = prism { linear_sweep linear_spline 0, 0.8, 9, <1, 0>, <2.414, 1.414>, <2.414, 3.414>, <1, 4.828>, <-1, 4.828>, <-2.414, 3.414>, <-2.414, 1.414>, <-1, 0>, <1, 0> pigment {Goldenrod} } #declare Arch = difference { torus { 0.8, 0.1 rotate -90*x pigment {Red} } box { <-5, -5, -1>, <5, 0, 1> pigment {Black} } } #declare PeakArch = union { difference { object {Arch} box { <0, -5, -5>, <5, 5, 5> pigment {Black} } rotate <0, 90, 0> translate <-3, 1.6, -3> } difference { object {Arch} box { <0, -5, -5>, <-5, 5, 5> pigment {Black} } translate <-3, 1.6, -3> } } #declare Ornament = union { object {Pillar translate <-0.8, 0, -3>} object {Pillar translate <0.8, 0, -3>} object {Pillar translate <-2.2, 0, -3>} object {Pillar translate <2.2, 0, -3>} object {Pillar translate <3, 0, -2.2>} object {Pillar translate <-3, 0, -2.2> } object {Pillar translate <-3, 0, -0.8>} object {Pillar translate <3, 0, -0.8>} object {Pillar translate <-3, 0, 0.8>} object {Pillar translate <3, 0, 0.8>} object {Pillar translate <3, 0, 2.2>} object {Pillar translate <-3, 0, 2.2> } object {Pillar translate <-2.2, 0, 3>} object {Pillar translate <2.2, 0, 3>} object {Pillar translate <-0.8, 0, 3>} object {Pillar translate <0.8, 0, 3> } object {Arch translate <0, 1.6, -3>} object {Arch translate <0, 1.6, 3>} object {Arch rotate <0, 90, 0> translate <-3, 1.6, 0>} object {Arch rotate <0, 90, 0> translate <3, 1.6, 0>} object {PeakArch} object {PeakArch rotate <0, 90, 0>} object {PeakArch rotate <0, 180, 0>} object {PeakArch rotate <0, 270, 0>} } #declare Building = union { object {NicheCube} object {Octo translate <0, 3, -2.414>} object {FullUnder translate <0., 3.8, 0>} object {Dome translate <0, 4.9, 0>} object {Ornament} } object {Building translate <0, 0, -2>} plane {z, 13 pigment {SkyBlue} } plane { <0, 1, 0>, 0 pigment {DarkGreen} }