// Last edited on DATE TIME by USER // Processed by remove-cam-lights #macro quadro(tt) #include "textures.inc" background{ color rgb < 0.75, 0.80, 0.85 > } #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_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_espelho = texture{ pigment{ color rgb < 1.00, 0.85, 0.30 > } finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.1 } } #declare tx_vidro = texture{ pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.02 ambient 0.02 specular 0.25 roughness 0.005 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 2 } #declare arquibancada = texture{ pigment{ color rgb < 0, 1, 1.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_escada = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_pele = texture{ pigment{ color rgb < 1.00, 0.721, 0.513 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_camisa_1 = 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_camisa_2 = texture{ pigment{ checker color rgb < 0, 0, 0 >, color rgb < 1, 1, 1 > } finish{ diffuse 0.9 ambient 0.1 } scale 0.15 } #declare tx_junta = texture{ pigment{ color rgb < 1.00, 0.00, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_verde = texture{ pigment{ color rgb < 0, 1, 0 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_chao = texture { pigment { color rgb < 0.30, 0.80, 0.20 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare chao = box{ < 10, 10, -17>, < -10, -10, -16 > texture{tx_chao} } #declare chassi = union { box{<2,-2,0,> , <-2,2,1> texture{tx_verde} } sphere { <0,0,2> , 1.5 texture {tx_fosca} } cylinder{ <3, 0, 0.5>, <-3, 0, 0.5>, 0.5 texture {tx_plastico} } sphere { <3,0,0.5> , 0.5 texture {tx_plastico} } sphere { <-3,0,0.5> , 0.5 texture {tx_plastico} } } #macro pe() union{ cylinder{ <0, 0, 0>, <0, +2, 0> 0.5 texture {tx_pele} } sphere{ <0,2,0> 0.5 texture {tx_pele} } sphere{ <0,0,0> 0.5 texture {tx_verde} } } #end #macro anteperna (gama) union{ cylinder{ <0, 0, 0>, <0, 0, -5> 0.5 texture {tx_pele} } sphere{ <0,0,0> 0.5 texture {tx_verde} } object{pe() rotate gama*x translate -5*z} } #end #macro perna (teta, gama) union{ cylinder{ <0, 0, 0>, <0, 5, 0> 0.5 texture {tx_pele} } sphere{ <0,0,0> 0.5 texture {tx_junta} } object{anteperna(gama) rotate teta*x translate 5*y} } #end #macro corpo (alfa ,teta, gama) union{ object{chassi translate <0, 0, -0.5>} object{perna(teta, gama) rotate (-1)*alfa*x translate 3*x} object{perna(teta, gama) rotate (-1)*alfa*x translate -3*x} } #end #macro interpola (ta, va, tb, vb, tt) #local s= (tt-ta)/(tb-ta); ((1-s)*va+s*vb) #end #declare t0 = 0.000; #declare t1 = 0.250; #declare t2 = 0.500; #declare t3 = 0.750; #declare t4 = 1.000; #declare gama0 = 0; #declare gama1 = 60; #declare gama2 = 0; #declare gama3 = 0; #declare gama4 = 0; #declare teta0 = 60; #declare teta1 = -40; #declare teta2 = 0; #declare teta3 = 60; #declare teta4 = 60; #declare alfa0 = 70; #declare alfa1 = 10; #declare alfa2 = 0; #declare alfa3 = 70; #declare alfa4 = 70; #declare altura0 = 0; #declare altura1 = -10; #declare altura2 = 0; #declare altura3 = 15; #declare altura4 = 0; #if ((clock >= t0) & (clock <= t1)) #declare gama = interpola (t0, gama0, t1, gama1, clock); #declare teta = interpola (t0, teta0, t1, teta1, clock); #declare alfa = interpola (t0, alfa0, t1, alfa1, clock); #declare altura = interpola (t0, altura0, t1, altura1, clock); #end #if ((clock >= t1) & (clock <= t2)) #declare gama = interpola (t0, gama1, t1, gama2, clock); #declare teta = interpola (t1, teta1, t2, teta2, clock); #declare alfa = interpola (t1, alfa1, t2, alfa2, clock); #declare altura = interpola (t1, altura1, t2, altura2, clock); #end #if ((clock >= t2) & (clock <= t3)) #declare gama = interpola (t0, gama2, t1, gama3, clock); #declare teta = interpola (t1, teta2, t2, teta3, clock); #declare alfa = interpola (t1, alfa2, t2, alfa3, clock); #declare altura = interpola (t2, altura2, t3, altura3, clock); #end #if ((clock >= t3) & (clock <= t4)) #declare gama = interpola (t0, gama3, t1, gama4, clock); #declare teta = interpola (t1, teta3, t2, teta4, clock); #declare alfa = interpola (t1, alfa3, t2, alfa4, clock); #declare altura = interpola (t3, altura3, t4, altura4, clock); #end background{ color rgb < 1, 1, 1 > } union { object {corpo (alfa, teta, gama) translate <0,0, altura>} object {chao} } #include "eixos.inc" #include "eixos.inc" #include "camlight.inc" #declare centro_cena = < 6.00, 6.00, 5.00 >; #declare raio_cena = 15; //40.0; #declare dir_camera = <4 ,2, 2>; //< 30, 12, 25.00 >; #declare dist_camera = 20; //40.0; #declare intens_luz = 1.50; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz) #end quadro(clock)