// Last edited on 2010-12-16 00:40:07 by stolfilocal // Processed by remove-cam-lights #include "textures.inc" background{ color rgb < 0.15, 0.40, 0.95 > } #declare tx_verde = texture{ pigment{ color rgb < 0.10, 0.90, 0.10 > } } #declare tx_azul = texture{ pigment{ color rgb < 0.15, 0.30, 1.00 > } } #declare tx_2 = texture{ pigment{ color rgb < 0.85, 0.90, 0.30 > } } #declare tx_3 = texture{ pigment{ color rgb < 0.85, 0.60, 0.30 > } } #declare chao = box{ <-50,-50,-10>, <+20,+20,0> } #declare cilindro = cylinder { <0,0,0> <0,0,1> 0.1 texture { tx_3 } } #macro chassis(alfa, beta, gama) union { box { <-1,-1,0>, <1,1,0.2> texture { tx_2 } } object { pernaA(beta, gama) translate <0,-0.5,-1> rotate alfa*y } object { pernaA(beta, gama) translate <0,0.5,-1> rotate alfa*y } } #end #macro pernaA(beta, gama) union { object { cilindro } sphere { <0,0,0> 0.1 texture {tx_3} } object { pernaB(gama) translate <0,0,-1> rotate beta*y } } #end #macro pernaB(gama) union { object { cilindro } object { pe() rotate gama*y } } #end #macro pe() cone { <0,0,0> 0.3 <1,0,0> 0 texture { tx_3 } } #end #macro interpola(ta, va, tb, vb, tt) #local s = (tt - ta) / (tb-ta); ((1-s)*va + s*vb) #end #declare alfa0 = 0; #declare alfa1 = -30; #declare alfa2 = 0; #declare alfa3 = -30; #declare alfa4 = 0; #declare beta0 = 0; #declare beta1 = 90; #declare beta2 = 0; #declare beta3 = 45; #declare beta4 = 0; #declare gama0 = 90; #declare gama1 = 90; #declare gama2 = 90; #declare gama3 = 30; #declare gama4 = 90; #declare t0 = 0.000; #declare t1 = 0.250; #declare t2 = 0.500; #declare t3 = 0.750; #declare t4 = 1.000; #include "eixos.inc" #macro armacao(fase) #local fase0 = 0.00; #local fase1 = 0.50; #local fase2 = 1.00; #if ((fase >= fase0) & (fase <= fase1)) #declare alfa = interpola(fase0, alfa0, fase1, alfa1, fase); #declare beta = interpola(fase0, beta0, fase1, beta1, fase); #declare gama = interpola(fase0, gama0, fase1, gama1, fase); #end #if ((fase > fase1) & (fase <= fase2)) #declare alfa = interpola(fase1, alfa1, fase2, alfa2, fase); #declare beta = interpola(fase1, beta1, fase2, beta2, fase); #declare gama = interpola(fase1, gama1, fase2, gama2, fase); #end object { chassis(alfa, beta, gama) } #end #macro voo(h, fase) #local fase0 = 0.00; #local fase1 = 0.50; #local fase2 = 1.00; #if ((fase >= fase0) & (fase <= fase1)) #declare alfa = interpola(fase0, alfa2, fase1, alfa3, fase); #declare beta = interpola(fase0, beta2, fase1, beta3, fase); #declare gama = interpola(fase0, gama2, fase1, gama3, fase); #end #if ((fase > fase1) & (fase <= fase2)) #declare alfa = interpola(fase1, alfa3, fase2, alfa4, fase); #declare beta = interpola(fase1, beta3, fase2, beta4, fase); #declare gama = interpola(fase1, gama3, fase2, gama4, fase); #end object { chassis(alfa, beta, gama) translate <0,0, sin(fase* (pi))*h> } #end #macro voo_geral(h, p, q, fase) #local r = interpola(0, p, 1, q, fase); object {voo(h, fase) translate r} #end #macro armacao_geral(p, fase) object {armacao(fase) translate p} #end #macro quadro(tt) #local t0 = 0.0000; #local t1 = 0.1500; #local t2 = 0.5000; #local t3 = 0.6500; #local t4 = 1.0000; #local A = < 0, 0, 0>; #local B = < 0, 3, 1>; #local C = < 0, 6, 0>; #local hAB = 0; //0.5 #local hBC = 0; //-0.5 #if ((tt >= t0) & (tt <= t1)) #local fase = interpola(t0, 0, t1, 1, tt); object {armacao_geral(A, fase)} #end #if ((tt > t1) & (tt <= t2)) #local fase = interpola(t1, 0, t2, 1, tt); object {voo_geral(hAB, A, B, fase)} #end #if ((tt > t2) & (tt <= t3)) #local fase = interpola(t2, 0, t3, 1, tt); object {armacao_geral(B, fase)} #end #if ((tt > t3) & (tt <= t4)) #local fase = interpola(t3, 0, t4, 1, tt); object {voo_geral(hBC, B, C, fase)} #end #end union{ object{ eixos(3.00) } object{ chao translate < 0,0,-5 > texture{ tx_verde } } object { quadro (clock)} scale 2 } #include "camlight.inc" #declare centro_cena = interpola(0, < 0.00, 0.00, 1.00 >, 1, < 0.00, 6.00, 1.00 >, clock); #declare raio_cena = 10.0; #declare dir_camera = < 15.00, 16.00, 2.00 >; #declare dist_camera = 32.0; #declare intens_luz = 1.25; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)