#include "colors.inc" #include "textures.inc" // ====================================================================== // CÂMERA camera { location < -50.00, 0.00, 20.00 > // Posição do observador. right <-0.80, 0.00, 0.00> // Largura RELATIVA da imagem. up <0.00, 0.00, 0.60> // Altura RELATIVA da imagem. sky <0.00, 0.00, 1.00> // Qual direção é "para cima"? look_at < 0.00, 0.00, 0.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 * < -30.0, 18.0, 0.0 > // Posição da lâmpada. color rgb 1.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < 20.0, -20.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 SkyBlue } #declare raio = 2.000; #declare tx_cristal = texture { pigment{color White filter 1} finish { specular 1 roughness 0.001 ambient 0.1 diffuse 0.1 reflection 0.25 } } #declare tx_espelho = texture { pigment { color Gray20 } finish { specular 0.20 roughness 0.05 ambient 0.05 diffuse 0.05 reflection Gray20 } } #declare tx_gold = texture { pigment { color Gold } finish { specular 0.20 roughness 0.55 ambient 0.05 diffuse 0.05 reflection Gold } } #declare no1 = union{ sphere{<0,0,2>, 2 texture{tx_gold} //hollow interior{ior 1.3} } box{<-2,-2,0>,<2,2,2> texture{tx_gold} interior{ior 0.8} } translate<0,0,-0.5> } #declare no2 = torus{1, 1 rotate<90,0,0> translate<0,0,0.5> scale<1,1,2> texture{tx_espelho} } #declare no3 = cylinder{<0,0,0>,<0,0,3>,2 translate<0,0,-0.4> pigment{checker color Red color Green} } #declare no4 = union{ cylinder {<0,0,0>,<0,0,2>,2 texture{White_Wood}} box {<-1.7,-1.7,0><1.7,1.7,2> texture{White_Wood} } } #declare no5 = lathe { bezier_spline 4, <8,-15>, <1,-5>, <10,0>, <1, 5> texture { tx_gold } scale<0.3,0.3,0.3> rotate<90,0,0> translate<0,0,4> } #declare liaison = cylinder{<1,0,0.5>,<9,0,0.5>,0.5 texture{tx_cristal} interior{ior 1.3} } plane { z, 0 //texture{tx_espelho} pigment { checker color Black color White scale 5 } finish{ambient 0.7 diffuse 0.7} } // exibiçao #declare i=0; #declare linhas = 4; #declare colunas = 4; #declare npackets = 6; #declare semente = seed(0); #while (i < linhas) #declare j=0; #while (j} #break #case (1) object{no2 translate <10*i-18, 8*j-12, 0>} #break #case (2) object{no3 translate <10*i-18, 8*j-12, 0>} #break #case (3) object{no4 translate <10*i-18, 8*j-12, 0>} #break #case (4) object{no5 translate <10*i-18, 8*j-12, 0>} #break #end #if (i} #declare k=0; #while (k-15) & (pos<10*linhas)) object{no1 scale<0.2,0.2,0.2> translate } #end #break #case (1) #declare deslocamento = 12*clock; #declare pos = posi+deslocamento; #if ((pos>-15) & (pos<10*linhas)) object{no2 scale<0.2,0.2,0.2> translate } #end #break #case (2) #declare deslocamento = 12*clock; #declare pos = posi+deslocamento; #if ((pos>-15) & (pos<10*linhas)) object{no3 scale<0.2,0.2,0.2> translate } #end #break #case (3) #declare deslocamento = 12*clock; #declare pos = posi+deslocamento; #if ((pos>-15) & (pos<10*linhas)) object{no4 scale<0.2,0.2,0.2> translate } #end #break #case (4) #declare deslocamento = 12*clock; #declare pos = posi+deslocamento; #if ((pos>-15) & (pos<10*linhas)) object{no5 scale<0.2,0.2,0.2> translate } #end #break // de vez em quando nao poe nenhum pacote #end #declare k=k+1; #end #end #if (j translate<10*i-18, 8*j-12, 0>} #declare k=0; #while (k-15) & (pos<10*colunas-30)) object{no1 scale<0.2,0.2,0.2> translate<10*i-18, pos, 0.5> } #end #break #case (1) #declare deslocamento = 12*clock; #declare pos = posi+deslocamento; #if ((pos>-15) & (pos<10*colunas-30)) object{no2 scale<0.2,0.2,0.2> translate<10*i-18, pos, 0.5> } #end #break #case (2) #declare deslocamento = 12*clock; #declare pos = posi+deslocamento; #if ((pos>-15) & (pos<10*colunas-30)) object{no3 scale<0.2,0.2,0.2> translate<10*i-18, pos, 0.5> } #end #break #case (3) #declare deslocamento = 12*clock; #declare pos = posi+deslocamento; #if ((pos>-15) & (pos<10*colunas-30)) object{no4 scale<0.2,0.2,0.2> translate<10*i-18, pos, 0.5> } #end #break #case (4) #declare deslocamento = 12*clock; #declare pos = posi+deslocamento; #if ((pos>-15) & (pos<10*colunas-30)) object{no5 scale<0.2,0.2,0.2> translate<10*i-18, pos, 0.5> } #end #break #end #declare k=k+1; #end #end #declare j=j+1; #end #declare i=i+1; #end