// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2009-03-09 18:44:03 by stolfi // ====================================================================== // CÂMERA #declare new_location = vaxis_rotate(< 0.00, 0.00, 50.00 >,y,clock*360); #declare new_locationn = vaxis_rotate(< +50.0, +30.0, +50.0 > ,y,clock*360); #declare new_locationnn = vaxis_rotate(< +50.0, -10.0, +10.0 > ,y,clock*360); camera { location new_location // Posição do observador. right -0.75*x // Largura RELATIVA da imagem. up 1.00*y // Altura RELATIVA da imagem. //sky z // Qual direção é "para cima"? look_at < 10.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 * new_locationn // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * new_locationnn // 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 rgb < 0.75, 0.80, 0.85 > } // Tintas #declare tinta_vermelho = texture { pigment { color rgb < 0.65, 0.0, 0.0 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare tinta_verde = texture { pigment { color rgb < 0.00, 0.65, 0.0 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare tinta_azul = texture { pigment { color rgb < 0.00, 0.0, 0.65 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare tinta_preto = texture { pigment { color rgb < 0.00, 0.00, 0.0 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare tinta_branco = texture { pigment { color rgb < 1.0, 1.0, 1.0 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } //Objetos #macro barra_vertical_folha() union{ cylinder { < 0.00, 6.00, 0.00 >, < 0.00, -6.00, 0.00 >, 2.00 texture { tinta_azul } } } #end #macro suporte_horizontal(altura) union{ //suporte_horizontal box{ <0,-1,-1>, <10,1,1> texture { tinta_azul } } object{ barra_vertical_folha() rotate<0,0,0> translate<5,altura,0> } } #end #macro barra_horizontal(altura_suporte_horizontal_barra_vertical, dist_barra_horizontal_suporte_horizontal) union{ cylinder { < 0.00, 0.00, 0.00 >, < 16.00, 0.00, 0.00 >, 0.50 texture { tinta_verde } } object{ suporte_horizontal(altura_suporte_horizontal_barra_vertical) rotate<0,0,0> translate } } #end #macro colher(angulo, altura_suporte_horizontal_barra_vertical, dist_barra_horizontal_suporte_horizontal) union{ //colher cylinder { < 0.00, 0.00, 0.00 >, < 0.00, -3.00, 0.00 >, 0.50 texture { tinta_verde } rotate } cylinder{ <0.00, -3.5,0.00>, <0.00, -3.5, 0.1>, 0.50 texture { tinta_vermelho } rotate } object{ barra_horizontal(altura_suporte_horizontal_barra_vertical, dist_barra_horizontal_suporte_horizontal) rotate<0,0,0> translate<-0.5,0.5,0> } } #end //Constantes #declare c0 = 0.0; #declare c1 = 0.2; #declare c2 = 0.4; #declare c3 = 0.6; #declare c4 = 0.8; #declare c5 = 1.0; #declare passo = 0.3; #declare n_quadros = 4; #macro desenha(n_quadros) union{ //param #declare a = 0; #declare b = 0; #declare c = 0; #declare i = 0; #declare clockk = 0; #while(i=c0)&(clockk=c1)&(clockk=c2)&(clockk } } #declare clockk = clockk + passo; #declare i = i+ 1; #end } #end #macro quadro(clockk) //param #declare a = 0; #declare b = 0; #declare c = 0; union{ #if((clockk>=c0)&(clockk=c1)&(clockk=c2)&(clockk=c3)&(clockk=c4)&(clockk translate<20,0,0> } }