// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2010-03-04 15:44:01 by stolfi // ====================================================================== // CORES E TEXTURAS background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_plastico = texture{ pigment{ color rgb < 0.10, 0.80, 1.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.5 ambient 0.5 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } // ====================================================================== // DESCRIÇÃO DA CENA #declare valores=array[16]; #declare valores[0]=0; #declare valores[1]=1; #declare valores[2]=2; #declare valores[3]=3; #declare valores[3]=3; #declare valores[4]=4; #declare valores[5]=5; #declare valores[6]=6; #declare valores[7]=7; #declare valores[8]=8; #declare valores[9]=9; #declare valores[10]=10; #declare valores[11]=11; #declare valores[12]=12; #declare valores[13]=13; #declare valores[14]=14; #declare valores[15]=15; #declare dice = seed(5846554); //gerador de randon #macro Abaco_Bin (bit,def) union{ cylinder {<0.5,0.5,0>,<0.5,0.5,2>,0.1 texture{tx_plastico}} box {<0,0,0>,<1,1,0.1> texture{tx_xadrez}} #if (def=0) //sem defeito #if (bit=0) sphere {<0.5,0.5,0.35>,0.25 texture{tx_fosca}} #else sphere {<0.5,0.5,2>,0.25 texture{tx_fosca}} #end #else cylinder {<0.5,0.5,0>,<0.5,0.5,2.1>,0.15} #end } #end #macro fileira (nbits,decimal,prob) #local i=0; #local valor=decimal; union{ #while (i} #else object {Abaco_Bin(1,d) translate} #end #local valor=int(valor/2); #local i=i+1; #end } #end #macro matriz (m,n,valores,prob) #local j=0; union{ #while (j} #local j=j+1; #end } #end #include "eixos.inc" // Aqui está a cena, finalmente: union{ object{matriz(16,4,valores,0.95) translate<-8,-2,0>} object{matriz(16,4,valores,0.33) translate<0,-1,0>} } #include "camlight.inc" #declare centro_cena = < 0.00, 8.00, 0.00 >; #declare raio_cena = 12; #declare dir_camera = < 5.00, 2.50, 5.00 >; #declare dist_camera = 12; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)