#include "colors.inc"

background { color rgb < 0.0, 0.0, 0.0 > }

light_source { < -3.00, 1.8, -2.0 >
               color rgb < 1.00, 1.00, 1.00 >
	}

light_source { < 0.00, 5.8, 0.00 >
               color rgb < 1.00, 1.00, 1.00 >
	}

camera {  location < -5.00, 3.8, -3.0 >
          look_at  < 0.00, 2.00, 0.00 >
	  sky <0,0,1>
	  rotate <0,5,-25>
	  translate <0,0,4>
       }

#declare n=5;
#declare r=3;

#declare g=seed(6.52);

#declare predio=
box{
	<0,0,0>,
	<2,5,2>
	pigment {color rgb <0 0.5 0>}
}

#declare caixadagua=
box{
	<0.5,5,0.5>,
	<1.5,5.3,1.5>
	pigment {color rgb <0.5 0 0>}
}


#declare cone_alto =
cone{
	<1,5.3,1>,
	0.3
	<1,5.8,1>,
	0
	pigment {color rgb <1 1 0>}
}

#declare porta =
box {
	<0,0,0.5>,
	<-0.05,0.5,1.5>
	pigment {color rgb <1 1 1>}
}

#declare janela=
box{
	<0,0.8,0>,
	<-0.05,1.8,1>
	pigment {color rgb <1 1 1>}
}

#declare janela_lat=
box{
	<0,0.8,0>,
	<1,1.8,-0.05>
	pigment {color rgb <1 1 1>}
}

# declare rua=
box {
	<-20,0,0>,
	<20,0.1,-1.6>
	pigment {color rgb <0.5 0.5 0.5>}
}


#declare a=0;

#declare p=4;
#declare q=4;

#while (a<p)

#declare b=0;

#while (b<q)

#if (rand(g)<0.75)

union {

object {predio}
object {caixadagua}
object {cone_alto}
object {porta}

#declare j=0;

#declare n=(int(5*rand(g)))+2;
#declare r=(int(3*rand(g)))+2;
#declare s=(int(3*rand(g)))+2;

#declare tam_x=(1.8-(r*0.2))/r;
#declare tam_x_lat=(1.8-(s*0.2))/s;
#declare altura=(3.2-(n*0.2))/n;

#while (j<n)

	#declare i=0;
	#while (i<r)
		object {janela
		 scale <1,altura,tam_x>
		 translate <0,0.3+((altura+0.2)*j),0.2+((tam_x+0.2)*i)>
		}
		#declare i=i+1;
		
	#end

	#declare i=0;
	#while (i<s)
		object {janela_lat
		 scale <tam_x_lat,altura,1>
		 translate <0.2+((tam_x_lat+0.2)*i),0.3+((altura+0.2)*j),0>
		}
		#declare i=i+1;
		
	#end

	#declare j=j+1;

#end

scale <0.6,0.6,0.6>

translate <3*a,0,3*b>

}

#end

#declare b=b+1;
#end

#declare a=a+1;

object {rua
translate <0,0,3*a>}

#end