// Laboratorio 3 - Andreia Silva Donalisio - ra026898 // HIPERXADRES =) // ====================================================================== camera { location < 0.00, 0.00, 6.00 > // Posi�o do observador. right 2.00*x // Largura RELATIVA da imagem. up 2.00*y // Altura RELATIVA da imagem. sky z // Qual dire�o �"para cima"? look_at < 10.00, 10.00, 0.00 > // Para onde a c�era est�apontando. } // Nota: os parametros "right" e "up" devem ter a mesma proporcao // que os parametros ${WIDTH} e ${HEIGHT} no Makefile. // ====================================================================== // FONTES DE LUZ light_source { 10 * < +50.0, +30.0, +50.0 > // Posicao da lampada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < +50.0, -10.0, +10.0 > // Posicao da lampada. color rgb 0.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRICAO DA CENA background{ color rgb < 0.75, 0.80, 0.85 > } #declare raio = 2.000; #declare tinta_azul = 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_amarelo = texture { pigment { color rgb < 1.00, 0.80, 0.10 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_vermelho = texture { pigment { color rgb < 1.00, 0.00, 0.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_preto = texture { pigment { color rgb < 0.00, 0.00, 0.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_branco = texture { pigment { color rgb < 1.00, 1.00, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare peao = union { cone { <0.00, 0.00, 0.00>, 0.25 <0.00, 0.00, 1.00>, 0 } sphere { < 0.00, 0.00, 1.00 >, 0.15 } } #declare torre = cylinder { < 0.00, 0.00, 0.00 >, < 0.00, 0.00, 1.50 >, 0.25 } #declare rei = union { cylinder { < 0.00, 0.00, 0.00 >, < 0.00, 0.00, 1.75 >, 0.25 } cylinder { < 0.00, 0.00, 1.75 >, < 0.00, 0.00, 2.30 > 0.10 } cylinder { < 0.325, 0.00, 2.075 >, < 0.00, 0.325, 2.075 > 0.10 } } #declare tabuleiro = box { < 1.00, 0.00, 0.00 >, < 0.00, 1.00, 0.02 > } //cenario: //criacao do tabuleiro #declare i = 0; #declare j = 0; #while (i < 30) #while (j < 30) object { tabuleiro translate #if (mod(i+j, 2) = 0) texture {tinta_preto} #else texture {tinta_branco} #end } #declare j = j + 1; #end #declare i = i + 1; #declare j = 0; #end //colocacao das pecas #declare i = 0; #declare j = 0; #declare roleta = seed (12345); #while (i < 30) #while (j < 30) #declare va = 1000*rand(roleta); #if (va < 100) object { peao translate #if (mod (i,2) = 0) texture {tinta_azul} #else texture {tinta_vermelho} #end } #else #if (va < 200) object { torre translate #if (mod(i,2) = 0) texture {tinta_azul} #else texture {tinta_vermelho} #end } #else #if (va < 215) //menos chances de aparecer um rei object { rei translate #if (mod (i,2) = 0) texture {tinta_azul} #else texture {tinta_vermelho} #end } #end #end #end #declare j = j + 1; #end #declare i = i + 1; #declare j = 0; #end