// 7o. Exercicio de MC930 // Editado em 05/10/2000 // Alexandre Piccolo - RA 961871 #include "colors.inc" #include "textures.inc" background{ color rgb < 1,1,1 > } light_source { < -50.00, -50.00, 30.00 > color rgb < 1.0, 1.0, 1.0 > } camera { location < -50.00, -50.00, 50.00 > right < -1.20, 0.00, 0.00 > up < 0.00, 0.00, 0.90 > sky < 0.00, 0.00, 1.00 > look_at < 5.00, 5.00, 5.00 > } #declare tinta_red = texture { pigment { color rgb < 1, 0, 0 > } finish { diffuse 0.5 specular 0.5 roughness 0.070 ambient 0.1 } } #declare tinta_green = texture { pigment { color rgb < 0, 1, 0 > } finish { diffuse 0.5 specular 0.5 roughness 0.007 ambient 0.1 } } #declare tinta_blue = texture { pigment { color rgb < 0, 0, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.050 ambient 0.1 } } #declare tinta_window = texture { pigment { color rgb < 0, 1, 0 > } finish { diffuse 0.5 specular 0.5 roughness 0.007 ambient 0.1 reflection 0.6 metallic} } #declare tinta_vidro = texture { Ruby_Glass } #declare DGG = texture { Dark_Green_Glass } #declare base = box { <-7.0, 5.0, -5.0>, < 7.0, -5.0, 14.0> texture { tinta_blue } } #declare porta = box { <-1.5, -5.0, -5.0>, < 1.5, -5.5, -2.0> texture { tinta_window } } #declare janela = box { <2.3, -5.0, -1.0>, <5.5, -5.5, 0.0> texture { DGG } } #declare janela_lat = box { <-7.0, -2.3, -1.0>, <-7.5, -4.8, 0.0> texture { DGG } } #declare max_andar = 5; #declare max_janela_frente = 3; #declare max_janela_lat = 2; #declare max_ruasNS = 7; #declare max_ruasLO = 7; #declare predio = union { object { base } object { porta } #declare andar = 0; #while (andar < max_andar) #declare janela_frente = 0; #while (janela_frente < max_janela_frente) object { janela translate <-4.4 * janela_frente, 0, 3 * andar> } #declare janela_frente = janela_frente +1; #end #declare janela_latV = 0; #while (janela_latV < max_janela_lat) object { janela_lat translate <0, 4.1* janela_latV, 3 * andar> } #declare janela_latV = janela_latV +1; #end #declare andar = andar + 1; #end } #declare rua = union { object { predio } #declare ruasNS = 0; #while (ruasNS < max_ruasNS) object { predio translate <25 * ruasNS, 0, 0> } #declare ruasNS = ruasNS + 1; #end } #declare bairro = union { object { rua } #declare ruasLO = 0; #while (ruasLO < max_ruasLO) object { rua translate <0, 25* ruasLO, 0> } #declare ruasLO = ruasLO + 1; #end } //Real scene object { bairro }