// EXERCICIO 7 - Cidade / predio // By Daniel Salles de Araujo 16 Nov 2000 //#include "glass.inc" #include "colors.inc" //#include "metals.inc" #include "textures.inc" background{ color Black} light_source { < 10.00, 10.00, 10.00 > color rgb < 1.00, 1.00, 1.00 > } light_source { < -10.0, 10.00, 10.00 > color rgb < 1.00, 1.00, 1.00 > } camera { location < 12.00, 12.00, 12.00 > look_at < 0.00, 5.00, 5.00 > } #declare azul= texture { pigment { Blue } finish { phong 1 metallic } } #declare cinza2= texture { pigment { Gray10 } finish { metallic } } #declare luz= texture {pigment { White } finish { phong 1 } } #declare cinza= texture {pigment { Gray30 } finish { phong 1 } } #declare g=seed(pi); #declare r=int(10*rand(g))+4; //frente #declare n=int(10*rand(g)); //altura #declare j=1; //lado - Ainda nao funciona #declare porta= union { prism { linear_spline 0, 0.5, 4, <0,0>, <1,0>, <0,1>, <0,0> texture {cinza2} rotate <90, 0, -45> translate <0.5, 2.5, -0.25> } cylinder { <0.2, 0.0, 0.0 >, <0.2, 2.0, 0.0>, 0.1 open texture {cinza2} } cylinder { <0.8, 0.0, 0.0 >, <0.8, 2.0, 0.0>, 0.1 open texture {cinza2} } } //variaveis contadoras #declare m=0; //Caixa basica do predio. Falta teto box { <0,0,0> texture {cinza} } //Janelas acesas e apagadas #while (m <-0.05, 3.1+m, 1.9+i> #if (rand(g) < 0.75) texture {azul} #else texture {luz} #end } #declare i=i+1; #end #declare m=m+1; #end // Coloca a porta na frente do predio object { porta rotate <0, -90, 0> translate <1.5,0,0.6*r> }