#include "colors.inc" background { color rgb <.6,.6,1> } camera { location <-24,4,-30> look_at <.3,5,1> angle 35 } plane { y,0 texture { pigment { Silver } finish { reflection .35 specular 1 } normal { ripples .35 turbulence .5 scale .25 } } } light_source { <200,2000,-2000> White } # declare g = seed (pi); # declare n = 5//int(rand(g) * 10); # declare r = 5//int(rand(g) * 10); # declare s = 5//int(rand(g) * 10); # declare predio = box { <0,0,0>, <(2*r) ,1 + (2 * (n+1)),(2*s)> pigment { White } } # declare xi = 1; # declare yi = 2; # declare zi = 1; # declare janela = //Tamanho fixo (1x1) - Posiçao varia box { <-0.5 ,0,-0.001>, <.5 ,1,-0.001 > pigment { Black } } # declare janela_lat = box { <-.001 ,0,-.5>, <-.001 ,1,.5 > pigment { Black } } # declare porta = //Posiçao varia de acordo com o nro de janelas frontais (r) box { , pigment { Black } } object {predio} object {porta} #while (yi < n + 2) //do 2nd ao ultimo andar #while (xi < r + 1) // desenhamos todas as janelas frontais object {janela translate < (2*xi) - 1 ,(2*yi) - 1,0>} #declare xi = xi + 1; #end #while (zi < s + 1) object {janela_lat translate <0, (2*yi) - 1, (2*zi) -1>} object {janela_lat translate <(2*r) + 0.002, (2*yi) - 1,(2*zi) -1>} #declare zi = zi + 1; #end #declare zi = 1 ; #declare xi = 1 ;//zeramos o x, voltando p/ a primeira janela #declare yi = yi + 1; // prox. andar #end