// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_vidro = texture{ pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.40 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.90, 0.12, 0.20 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #declare tx_outra = texture{ pigment{ checker color rgb < 0.70, 0.72, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #declare pinicial = sphere{ < 0,0,0 >, 0.5 } #macro inter(t0,v0,t1,v1,f) #local aa = (f-t0)/(t1-t0); #local bb = 1-aa; (bb*v0 + aa*v1) #end #macro inter4(t0, v0, v1, v2, v3, t1, tt) #local va = inter(t0, v0, t1, v1, tt); #local vb = inter(t0, v1, t1, v2, tt); #local vc = inter(t0, v2, t1, v3, tt); #local vd = inter(t0, va, t1, vb, tt); #local ve = inter(t0, vb, t1, vc, tt); #local vf = inter(t0, vd, t1, ve, tt); vf #end #macro calc_pos(x0, y0, y1, y2, y3, x3, n, clk) #local yy = inter4(x0, y0, y1, y2, y3, x3, clk); yy #end #macro pos(clk) #local y01=<3,-2,1>; #local y02=<3,-2,1>; #local y11=<0,0,6>; #local y12=<0,0,6>; #local y21=<1,0,1>; #local y22=<1,0,1>; #local y31=<0,9,7>; #local y32=<4,9,7>; #local y00=(y32+y01)/2; #local y10=(y02+y11)/2; #local y20=(y12+y21)/2; #local y30=(y22+y31)/2; #local y03=(y02+y11)/2; #local y13=(y12+y21)/2; #local y23=(y22+y31)/2; #local y33=(y32+y01)/2; #local ret=0; #if (clk < 0.25) #local ret=calc_pos(0, (y32+y01)/2, y01, y02, (y02+y11)/2, 0.25, 300, clk); #else #if (clk < 0.5) #local ret=calc_pos(0.25, (y02+y11)/2, y11, y12, (y12+y21)/2, 0.5, 300, clk); #else # if (clk < 0.75) #local ret=calc_pos(0.5, (y12+y21)/2, y21, y22, (y22+y31)/2, 0.75, 300, clk); #else #local ret=calc_pos(0.75, (y22+y31)/2, y31, y32, (y32+y01)/2, 1, 300, clk); #end #end #end ret #end #macro calc_dt(clk,qty) #local dt = 0.1; #local ret = clk-qty*dt; #if (ret<0) #local ret = ret+1; #end ret; #end #include "eixos.inc" #include "retalho.inc" union{ object { eixos(10.00) } #local dp = <1,0,0>; #local dt0 = calc_dt(clock,0); #local pa11 = pos(dt0); #local pa12 = pos(dt0) + dp; #local pa13 = pos(dt0) + 2*dp; #local pa14 = pos(dt0) + 3*dp; #local dt1 = calc_dt(clock,1); #local pa21 = pos(dt1); #local pa22 = pos(dt1) + dp; #local pa23 = pos(dt1) + 2*dp; #local pa24 = pos(dt1) + 3*dp; #local dt2 = calc_dt(clock,2); #local pa31 = pos(dt2); #local pa32 = pos(dt2) + dp; #local pa33 = pos(dt2) + 2*dp; #local pa34 = pos(dt2) + 3*dp; #local dt4 = calc_dt(clock,4); #local pb21 = pos(dt4); #local pb22 = pos(dt4) + dp; #local pb23 = pos(dt4) + 2*dp; #local pb24 = pos(dt4) + 3*dp; #local dt5 = calc_dt(clock,5); #local pb31 = pos(dt5); #local pb32 = pos(dt5) + dp; #local pb33 = pos(dt5) + 2*dp; #local pb34 = pos(dt5) + 3*dp; #local dt6 = calc_dt(clock,6); #local pb41 = pos(dt6); #local pb42 = pos(dt6) + dp; #local pb43 = pos(dt6) + 2*dp; #local pb44 = pos(dt6) + 3*dp; #local px1 = (pa31 + pb21)/2; #local px2 = (pa32 + pb22)/2; #local px3 = (pa33 + pb23)/2; #local px4 = (pa34 + pb24)/2; object{ retalho (pa11,pa12,pa13,pa14,pa21,pa22,pa23,pa24,pa31,pa32,pa33,pa34,px1,px2,px3,px4, 0.03,tx_xadrez,tx_outra) } object{ retalho (px1,px2,px3,px4,pb21,pb22,pb23,pb24,pb31,pb32,pb33,pb34,pb41,pb42,pb43,pb44, 0.03,tx_outra,tx_xadrez) } } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena =15; #declare dir_camera = < 1.00, 2.00, 4.00 >; #declare dist_camera = 40.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , y, intens_luz)