// Last edited on DATE TIME by USER // Processed by remove-cam-lights #macro quadro(tt) #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 6.0; #declare dir_camera = < 14.00, 7.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) background{ color rgb < 0.75, 0.80, 0.85 > } #declare raio = 2.000; #declare ctt = cos(pi*tt); #declare stt = sin(2*pi*tt); #declare stt2 = sin(-2*pi*tt); #declare t0 = 0.00; #declare teta0 = 0.00; #declare alfa0 = 0.00; #declare gama0 = 0.00; #declare h0 = 0; #declare d0 = -3; #declare t1 = 0.25; #declare teta1 = 45.0; #declare alfa1 = -90; #declare gama1 = 45.0; #declare h1 = -1; #declare d1 = -3; #declare t2 = 0.50; #declare teta2 = 0.00; #declare alfa2 = 0.00; #declare gama2 = 0.00; #declare h2 = 0; #declare d2 = -3; #declare t3 = 0.75; #declare teta3 = 0.00; #declare alfa3 = 0.00; #declare gama3 = 0.00; #declare h3 = 3; #declare d3 = 2; #declare t4 = 1.00; #declare teta4 = 45.0; #declare alfa4 = -90; #declare gama4 = 45.0; #declare h4 = -1; #declare d4 = 4; #macro interpole (ta, va, tb, vb, tt) #local s = (tt-ta)/(tb-ta); ((1-s)*va + s*vb) #end #declare tinta_A = texture { pigment { color rgb < 0.55 + 0.45*ctt, 0.80, 0.55 - 0.5*ctt > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #macro corpo (teta, alfa, gama) union { box { < +1, 1, 0.3 >, < -1, -1, 0 > } } object {perna ( alfa, gama) rotate teta*x translate <1,1,-0.25>} object {perna ( alfa, gama) rotate teta*x translate <1,-1,-0.25>} object {perna ( alfa, gama) rotate teta*x translate <-1,-1,-0.25>} object {perna (alfa, gama) rotate teta*x translate <-1,1,-0.25>} #end #macro perna ( alfa, gama) union { sphere { < 0.00, 0.00, 0.0 >, 0.3 } cylinder { < 0, 0, 0 >, < 0, 0, -1 >, 0.2 } object{ anteperna ( gama) rotate alfa*x translate <0,0,-1>} } #end #macro anteperna (gama) union { sphere { < 0.00, 0.00, 0.0 >, 0.3 } cylinder { < 0, 0, 0 >, < 0, 0, -1 >, 0.2 } object{ pe () rotate gama*x translate <0,0,-1>} } #end #macro pe () union { sphere { < 0.00, 0.00, 0.2 >, 0.3 } cylinder { < 0, 0.5, 0.0 >, < 0, -0.5, 0.0 >, 0.2 } } #end #include "eixos.inc" union { #if ((tt >= t0) & (tt <= t1)) #declare teta = interpole(t0, teta0, t1, teta1, tt); #declare alfa = interpole(t0, alfa0, t1, alfa1, tt); #declare gama = interpole(t0, gama0, t1, gama1, tt); #declare h = interpole(t0, h0, t1, h1, tt); #declare d = interpole(t0, d0, t1, d1, tt); #end #if ((tt >= t1) & (tt <= t2)) #declare teta = interpole(t1, teta1, t2, teta2, tt); #declare alfa = interpole(t1, alfa1, t2, alfa2, tt); #declare gama = interpole(t1, gama1, t2, gama2, tt); #declare h = interpole(t1, h1, t2, h2, tt); #declare d = interpole(t1, d1, t2, d2, tt); #end #if ((tt >= t2) & (tt <= t3)) #declare teta = interpole(t2, teta2, t3, teta3, tt); #declare alfa = interpole(t2, alfa2, t3, alfa3, tt); #declare gama = interpole(t2, gama2, t3, gama3, tt); #declare h = interpole(t2, h2, t3, h3, tt); #declare d = interpole(t2, d2, t3, d3, tt); #end #if ((tt >= t3) & (tt <= t4)) #declare teta = interpole(t3, teta3, t4, teta4, tt); #declare alfa = interpole(t3, alfa3, t4, alfa4, tt); #declare gama = interpole(t3, gama3, t4, gama4, tt); #declare h = interpole(t3, h3, t4, h4, tt); #declare d = interpole(t3, d3, t4, d4, tt); #end corpo(teta, alfa, gama ) texture { tinta_A } translate h*z translate d*y } #end quadro(clock)