// Exemplo de arquivo de descricao de ANIMAÇÃO para POV-ray // Last edited on 2009-09-24 15:40:22 by stolfi #macro quadro(tt) // Gera o quadro do filme (cena, luzes e câmera) // para o instante {tt} -- um número real entre 0 e 1. // ====================================================================== // CÂMERA background{ color rgb < 0.75, 0.80, 0.85 > } #include "eixos.inc" #include "textures.inc" object{ eixos(3.00) } #declare Logo = union{ text{ttf "arial.ttf" "Logo" .2, 0.0 texture{Aluminum} rotate <90 0 90> } //translate <-0.1, -1.2, 0.5,>}//translate<1 0 0>} difference{ box{<-0.2, -0.2, -.5>, <.2, 2.4, .8> texture{Aluminum}} box{<-10, -0.05, -.3>, <10, 2.2, .7> texture{Aluminum}} } } #declare Asa = box{<0, 0, 0> <0.4, 1, 0.2> texture{Aluminum} translate -.2*x} #declare Asa1 = object{Asa rotate x*45 translate 2.4*y } //Asa 1 // box{<-0.2, 2.4, 0.1> <0.2, 3.5, 0.3> texture{Aluminum} rotate x*45} //Asa 1 #declare Asa2 = object{Asa translate -1*y rotate -45*x translate -y*.2} // Criação dos objetos: #declare D = 1000; //Distancia union{ object{Logo} object{ Asa1 } object{ Asa2 } // Quadro 1 a 2: #if (tt < 0.25) translate y*D*tt //Quadro 2 a 3: #else #if ( (tt < 0.5) & (tt > 0.25) ) translate y*D*0.25 //Coloca no canto sup. direito translate <0, -D*(tt-0.25), -D*(tt-0.25)> //Quadro 3 a 4: #else #if ( (tt < 0.75) & (tt > 0.5) ) translate <0, -D*0.5, -D*0.5> //Coloca no canto inf. esquerdo. translate -y*(tt-0.5) //Quadro 4 a 5: #else #if ( (tt < 1) & (tt > 0.75) ) translate <0, -D*0.25 -D*0.25> //Coloca no canto inf. direito. translate <0, D*(tt-0.75), -4*tt> #end #end #end #end } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 7.0; #declare dir_camera = < 20.00, 0.00, 4.00 >; #declare dist_camera = 16.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz) #end // gera o quadro correspondente ao instante dado {clock}: quadro(clock)