// // ====================================================================== // CÂMERA camera { location < 18.00, 15.00, 7.50 > // Posição do observador. right -1.00*x // Largura RELATIVA da imagem. up 0.75*y // Altura RELATIVA da imagem. sky z // Qual direção é "para cima"? look_at < -1.50, 0.00, 3.00 > // Para onde a câmera está apontando. } // Nota: os parâmetros "right" e "up" devem ter a mesma proporção // que os parâmetros ${WIDTH} e ${HEIGHT} no Makefile. // ====================================================================== // FONTES DE LUZ light_source { 10 * < +50.0, +60.0, +50.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < +50.0, -10.0, +10.0 > // Posição da lâmpada. color rgb 0.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.75, 0.80, 0.85 > } #declare raio = 2.000; #declare tinta_A = texture { pigment { color rgb < 0.10, 0.80, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_B = texture { pigment { color rgb < 1.00, 0.00, 0.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.001 ambient 0.1 } } #declare tinta_C = texture { pigment { color rgb < 0.00, 1.00, 0.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_D = texture { pigment { color rgb < 1.00, 0.80, 0.25 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tx_amarelo = texture { pigment { color rgb < 1.00, 1.00, 0.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare furo_lateral = box { < 10.00, -1.25, -2.15> < -10.00, 1.25, 2.15> texture { tx_amarelo } } #declare base1 = box { < 5.00, 0.00, 0.00 > < -5.00, 6.00, 2.00> texture { tinta_A } } #declare base2 = box { < 5.00, 0.00, 2.00 > < -5.00, 6.00, 4.00> texture { tx_amarelo } } #declare lateral21 = cylinder { < 5.00, 0.00, 3.00 >, <-5.00, 0.00, 3.00 >, 1.0 texture { tx_amarelo } } #declare lateral22 = cylinder { < 5.00, 6.00, 3.00 >, <-5.00, 6.00, 3.00 >, 1.00 texture { tx_amarelo } } #declare base3 = box { < 5.00, 0.00, 4.00 > < -5.00, 6.00, 6.00> texture { tinta_A } } #declare base4 = box { < 5.00, 0.00, 6.00 > < -5.00, 6.00, 8.00> texture { tx_amarelo } } #declare lateral41 = cylinder { < 5.00, 0.25, 7.00 >, <-5.00, 0.25, 7.00 >, 1.00 texture { tx_amarelo } } #declare lateral42 = cylinder { < 5.00, 6.00, 7.00 >, <-5.00, 6.00, 7.00 >, 1.00 texture { tx_amarelo } } #declare teto = box { < 5.00, 0.00, 8.00 > < -5.00, 6.00, 10.00> texture { tinta_D } } #declare corteD = box { < 5.50, 0.00, 8.00 > < -5.50, 6.00, 10.00> texture { tinta_D } rotate 20*x translate <0,1.5,0.30> } #declare corteE = box { < 5.50, 0.00, 8.00 > < -5.50, 6.00, 10.00> texture { tinta_D } rotate -20*x translate <0,-0.75,2.25> } #declare janelona_quadrada = box { < 5.00, 2.75, 0.00> < 5.25, 3.75, 1.75> texture { tinta_C } } #declare janelona_quadrada2 = box { < 5.00, 2.70, 4.20> < 5.25, 3.80, 5.75> texture { tinta_C } } #declare janela_quadrada = box { < 0.00, 0.00, 0.00> < 0.25, 0.75, 0.75> texture { tinta_C } rotate 90*z } #declare gerador = seed (2); #declare fileira1 = union{ #declare i =0; #while (i<8) object { janela_quadrada translate <4.50-i, 6.00, 0.75+(0.5*rand(gerador))> } #declare i = i + 1.25; #end #declare i =0; #while (i<8) object { janela_quadrada translate <4.50-i, 6.00, 4.75+(0.3*rand(gerador))> } #declare i = i + 1.25; #end } #declare janelona_redonda1 = cylinder { < 5.00, 3.00, 3.00 >, < 5.25, 3.00, 3.00 >, 0.75 texture { tinta_B } } #declare janelona_redonda2 = cylinder { < 5.00, 3.00, 7.00 >, < 5.25, 3.00, 7.00 >, 0.75 texture { tinta_B } } #declare janela_redonda = cylinder { < 0.00, 0.00, 1.00 >, < 0.50, 0.00, 1.00 >, 0.5 texture { tinta_B } rotate 90*z } #declare fileira2 = union{ #declare i =0; #while (i<8) object { janela_redonda translate <4.00-i, 6.50, 2.00> } #declare i = i + 1.25; #end #declare i =0; #while (i<8) object { janela_redonda translate <4.00-i, 6.50, 6.00> } #declare i = i + 1.25; #end } plane {z,0 texture { pigment { checker <0,0,0>, <1,1,1> } finish {ambient 0.1 diffuse 0.9 } scale 2 rotate 45*y } } // Aqui está a cena, finalmente: difference { union { object { base1 } object { base2 } object { base3 } object { base4 } object { lateral21 } object { lateral22 } object { lateral41 } object { lateral42 } difference { object { teto } object { corteD } object { corteE } } //object { janela_quadrada } object { fileira1 } object { janelona_quadrada } object { janelona_quadrada2 } //object { janela_redonda } object { fileira2 } object { janelona_redonda1 } object { janelona_redonda2 } } } //OBS: //cilinder, cone, sphere, box, torus //rotate 30*x -> 30 graus em x, a partir da origem //translate <0,-6,-3.5> -> move para esse ponto //rotate 30*x //translate <0, 6, 3.5> -> volta para o mesmo pto, porém agora deslocada. // object {pino} // object {pino translate <2,3,4>} // object {pino rotate 30*z} // union {object {a} object{b} rotate 3*y}