// Exemplo de arquivo de descricao de cena para POV-ray
// Last edited on 2000-11-09 12:14:05 by Felipe de Alvarenga Leite
#include "colors.inc"
#include "stones.inc"

//plane{ y, 0
//	pigment{granite scale 1.5}
//}

/*sky_sphere {
    pigment {
      gradient y
      color_map {
        [0.000 0.002 color rgb <1.0, 0.2, 0.0>
                     color rgb <1.0, 0.2, 0.0>]
        [0.002 0.200 color rgb <0.8, 0.1, 0.0>
                     color rgb <0.2, 0.2, 0.3>]
      }
      scale 2
      translate -1
    }
    pigment {
      bozo
      turbulence 0.65
      octaves 6
      omega 0.7
      lambda 2
      color_map {
          [0.0 0.1 color rgb <0.85, 0.85, 0.85>
                   color rgb <0.75, 0.75, 0.75>]
          [0.1 0.5 color rgb <0.75, 0.75, 0.75>
                   color rgbt <1, 1, 1, 1>]
          [0.5 1.0 color rgbt <1, 1, 1, 1>
                   color rgbt <1, 1, 1, 1>]
      }
      scale <0.2, 0.5, 0.2>
    }
    rotate -135*x
  }
*/
background{ color rgb < 1, 1, 1 > }   


light_source {
  < 3.00, 30.00, -10.00 >
  color rgb < 1.00, 1.00, 1.00 >
} 


//light_source {
//  < 15.00, 40.00, -5.00 >
//  color rgb < 1.00, 1.00, 1.00 >
//} 

camera {
  location  <  -15.00, 30.00, -15.00 >
//  right     < 0.000, 0.00, 0.00 >
//  up        <  0.00, 0.00, 0.00 >
  sky       <  0.00, 1.00, 0.00 >
  look_at   <  10, 5, 20 >
} 

#declare azul=
	color rgb <0.9, 0.9, 1>

#declare base=
   union{
 	object{box{<0, 0, 0> <20, 4, 40> pigment{azul}}}
   	object{box{<0, 4, 0> <20, 6, 20> pigment{azul}}}
   	object{box{<0, 6, 0> <20, 8, 3> pigment {azul}}}
   	object{box{<4, 4, 20> <16, 8, 40> pigment {azul}}}
   	object{box{<4, 6, 0> <16, 8, 20> pigment {azul}}}
	object{box{<6, 8, 0> <14, 12, 3> pigment{azul}}}
	object{box{<8, 12, 0> <12, 16, 3> pigment {azul}}}
}

#declare torre1=
   union{ 
	object{box{<8.5, 16, 0> <11.5, 16.5, 3> pigment {azul}}}
	object{prism {
		conic_sweep
		linear_spline
		0, // height 1
		1, // height 2
		5, // the number of points making up the shape...
		<1,1>,<-1,1>,<-1,-1>,<1,-1>,<1,1>
		rotate <180, 0, 0>
		scale<2.15, 4, 1.7>
		translate<10, 20.5, 1.5>
    		pigment {Black}
		}
	}
	object{cylinder{<10, 20, 1.5> <10, 20.7, 1.5> 0.3 pigment {Black}}}
	object{sphere{<10, 21.1, 1.5> 0.5 pigment {Black}}}
	object{box{<10.05, 21.5, 1.55> <9.95, 23.1, 1.45> pigment {Black}}}
	object{box{<9.4, 22.65, 1.45> <10.6, 22.75, 1.55> pigment {Black}}}
}


#declare abobada=
   union{
	object{sphere{ <10, 10, 22> 2 pigment {Black}}}
	object{cylinder{ <10, 8, 22> <10, 10, 22> 2 pigment {azul}}}
}

#declare relogio=
   cylinder{<10, 10, 0> <10, 10, -0.01> 1 pigment {White}}

#declare monumento=
union{
object{base}
object{relogio}
object{torre1}
object{abobada}
}

object{monumento}