// Last edited on 2003-04-12 09:59:26 by stolfi
#include "colors.inc"

background{ color rgb 0.8*< 1.00, 1.00, 1.00 > }

#declare cam = < 15.00, 4.00, 20.00>;
#declare ctr = < 0.00, -1.00, -4.00>;

camera {
  location  ctr + 1.8*cam
  right 1.2*x up 0.4*y
  look_at ctr
} 

light_source {
  ctr + 10*(vrotate(cam, 20*y) + 10*y)
  color rgb < 1.00, 1.00, 1.00 >
} 

light_source {
  30*< 5, 4, -20>
  color rgb < 1.00, 1.00, 1.00 >
} 

light_source {
  30*< 5, 4, 20>
  color rgb < 1.00, 1.00, 1.00 >
} 



// cores 
#declare cor_vermelho = color rgb <1,0,0>;
#declare cor_verde = color rgb <0,1,0>;
#declare cor_azul = color rgb <0,0,1>;


#declare esfera =
	sphere{<0,0,0>,0.5 pigment{cor_vermelho}}

// Pigments estavam faltando, acrescentados pro stolfi
//lado esquerdo pratileira
box{<-20,-5,2>,<-20.2,6.5,-2> pigment{color White}}

//lado direito pratileira
box{<20,-5,2>,<20.2,6.5,-2> pigment{color White}}

//pratileira baixo
box{<-20,-4,2>,<20,-3.5,-2> pigment{color White}}

//pratileira meio
box{<-20,-0.5,2>,<20,0,-2> pigment{color White}}

//pratileira cima
box{<-20,3,2>,<20,3.5,-2> pigment{color White}}

//teto ultima pratileira
box{<-20,6,2>,<20,6.5,-2> pigment{color White}}

//produto esfera (cima)
#declare i = -9;
#while (i < 10)

	#declare resto = mod(i+30,3);

	#if (resto=0) 
		object { sphere{<0,0,0>,0.5 pigment{cor_vermelho} } translate <2*i,4,0>}
	#end

	#if (resto=1) 
		object { sphere{<0,0,0>,0.5 pigment{cor_verde} } translate <2*i,4,0>}
	#end	

	#if (resto=2) 
		object { sphere{<0,0,0>,0.5 pigment{cor_azul} } translate <2*i,4,0>}
	#end

	#declare i = i + 1;
#end


//produto cilindro (meio)
#declare i = -9;
#while (i < 10)	

	#declare resto = mod(i+31,3);

	#if (resto=0) 
		object { cylinder{<0,0,0>,<0,2,0>,0.5 pigment{cor_vermelho} } translate <2*i,0,0>}
	#end

	#if (resto=1) 
		object { cylinder{<0,0,0>,<0,2,0>,0.5 pigment{cor_verde} } translate <2*i,0,0>}
	#end	

	#if (resto=2) 
		object { cylinder{<0,0,0>,<0,2,0>,0.5 pigment{cor_azul} } translate <2*i,0,0>}
	#end


	#declare i = i + 1;
#end



//produto caixa (baixo)
#declare i = -6;
#while (i < 6)

	#declare resto = mod(i+32,3);

	#if (resto=0) 
		object {box{<0,0,0>,<2,2,2> pigment{cor_vermelho} } translate <3*i,-3.5,1>}
	#end

	#if (resto=1) 
		object {box{<0,0,0>,<2,2,2> pigment{cor_verde} } translate <3*i,-3.5,1>}
	#end	

	#if (resto=2) 
		object {box{<0,0,0>,<2,2,2> pigment{cor_azul} } translate <3*i,-3.5,1>}
	#end

	#declare i = i + 1;
#end








//circulo central
//sphere{ <0,5,0>, 5 texture{textura_cristal_vermelha}}

//quadrado central
//box{ <-4,9,4>, <4,1,-4> texture{textura_metalica_cinza}}

//plane {<0,1,0>, -5 texture{ pigment {color rgb <1,0,0>}}}

//haste
//cylinder{<0,1,0>,<0,-3,0>,1 texture{textura_metalica_cinza}}

//base
//box{<5,-3,5>,<-5,-5,-5> texture{textura_metalica_cinza}}

//torus
//torus {8, .4  pigment{ Yellow} rotate  45*z translate <0,5,0>}
//torus {8, .4  pigment{ Yellow} rotate 135*z translate <0,5,0>}
//torus {5,1 pigment{ Yellow} translate <0,10,0>}