// CORES E TEXTURAS background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_pecas = texture{ pigment{ color rgb < 0.5, 0.30, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_tab = texture{ pigment{ color rgb < 1.00, 1.00, 1.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_casas_brancas = texture{ pigment{ color rgb < 0.80, 0.80, 0.80 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_casas_pretas = texture{ pigment{ color rgb < 0.20, 0.20, 0.20 > } finish{ diffuse 0.9 ambient 0.1 } } // Pecas #declare raio_peao = 2.000; #declare peao = union { sphere{ < -3.00, +3.00, 0.00 >, raio_peao*1.5 } cylinder{ < -3.00, +3.00, 0.00 >, < -3.00, +3.00, 6.00 >, raio_peao*0.75 } cylinder{ < -3.00, +3.00, 6.00 >, < -3.00, +3.00, 7.00 >, raio_peao*2 } } #declare raio_dama = 3.000; #declare dama = union { cylinder{ < -4.00, +4.00, 0.00 >, < -4.00, +4.00, 8.00 >, raio_dama*0.75 } cylinder { < -4.00, +4.00, 8.00 >, < -4.00, +4.00, 9.00 >, raio_dama*1.5 } cylinder { < -4.00, +4.00, 9.00 >, < -4.00, +4.00, 10.00 >, raio_dama } } // Tabuleiro #declare raio_tab = 50.0; #declare fileira = cylinder { <0, 0, -1>, <0, 0, 0>, raio_tab texture { tx_tab } } #declare raio_casa = raio_tab/10; #declare casas = cylinder { <0, 0, -1>, <0, 0, 0.1>, raio_casa } #macro build_casas(n, tamanho_fileira, h) #local j=0; #local angulo = (2*pi)/n; #while (j texture {tx_casas_brancas} } #else object {casas translate texture {tx_casas_pretas} } #end #local j=j+1; #end #end #declare dz = 5; #macro build_fileiras(m, n) #local i = 0; #while (i translate<0, 0, dz*i> } #local i = i+1; #end #end #declare chao = box{ <-100,-100,-1>, <+100,+100,0> } #include "eixos.inc" // Cena #declare ncasas = 7; #declare nfileiras = 5; union{ object{ eixos(3.00) } object{ peao rotate <180, 0, 0> translate <0, 0, 35> texture { tx_pecas } } object{ dama translate <0, 5, 35> texture { tx_pecas } } build_fileiras(nfileiras, ncasas) } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 0.00 >; #declare raio_cena = 1.3*raio_tab; #declare dir_camera = < 9.00, 7.00, 9.00 >; #declare dist_camera = 15*raio_cena; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)