// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare roleta = seed(2134); #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_terra = texture{ pigment{ color rgb <0.58,0.37,0.18>} finish{ diffuse 0.8 ambient 0.1} } #declare tx_cimento = texture{ pigment{ color rgb <0.71,0.71,0.71>} finish{ diffuse 0.8 ambient 0.1} } #declare tx_grama = texture{ pigment{ color rgb <0.6,0.8,0.2>} finish{ diffuse 0.8 ambient 0.1} } #declare tx_madeira = texture{ pigment{ color rgb <0.8,0.7,0.5>} finish{ diffuse 0.8 ambient 0.1} } #macro caixa(n) difference{ box{<-0.5,2.5,0>,<0.5,-3*(n-1)-2.5,4>} box{<-1,2,0.5>,<1,-3*(n-1)-2,3.5>} texture { tx_madeira } } #end #declare espeto= union{ cylinder{<0,0,0.2>,<0,0,3.8>,0.2} texture {tx_plastico} } #macro bit(valor,defeito) union{ intersection{ #if(defeito) difference { box{<-1.2,-1.2,-2>,<1.2,1.2,2>} cylinder{<0,0,-2>,<0,0,2>,0.5} } #else difference { sphere {<0,0,0> 1.2} cylinder{<0,0,-2>,<0,0,2>,0.5} } #end box{<-2,-2,-0.5>,<2,2,0.5>} texture { tx_cimento } translate <0,0,1+valor*2> } object {espeto} } #end #macro fileira(n,valor,prob) union{ #local i=0; #local atual = 0; #local resto = int(valor); #local f = valor - resto; #while(i} #local f = 0; #else object{ bit(1-f,def) translate <0,-3*i,0>} #end #local i = i+1; #end object{caixa(n)} } #end #macro abaco(m,n,valorA,valorB,prob) union{ #local i=0; #while(i} #local i = i+1; #end translate <0,((n-1)/2)*3,((m-1)/2)*3> } #end #include "eixos.inc" #declare m1 = 5; #declare valoresA = array[m1]; #declare valoresA[0]=11; #declare valoresA[1]=52; #declare valoresA[2]=13; #declare valoresA[3]=22; #declare valoresA[4]=51; #declare m2 = 5; #declare valoresB = array[m2]; #declare valoresB[0]=31; #declare valoresB[1]=59; #declare valoresB[2]=26; #declare valoresB[3]=19; #declare valoresB[4]=26; union{ object {abaco(m1,6,valoresA,valoresB,0.1) scale 1 translate <0,-2,0>} } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 25.0; #declare dir_camera = <1,-0.5+sin(pi*clock/2) , 0.5 >; #declare dist_camera = 25; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)