// ====================================================================== // CORES E TEXTURAS 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.25 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.0 } // ====================================================================== // DESCRIÇÃO DA CENA // Partes da cena: #macro Make_No(nVoltas,raio,espacamento) union{ cylinder{<0,0,0> <+1,+2,0> 0.1 texture{tx_plastico}} sphere{<+1,+2,0> 0.1 texture{tx_plastico}} cylinder{<+1,+2,0> <+3,+1,-0.5> 0.1 texture{tx_plastico}} sphere{<+3,+1,-0.5> 0.1 texture{tx_plastico}} cylinder{<+3,+1,-0.5> <+2,-0.5,0> 0.1 texture{tx_plastico}} sphere{<+2,-0.5,0>0.1 texture{tx_plastico}} cylinder{<+2,-0.5,0> <+1,+1,+0.5> 0.1 texture{tx_plastico}} sphere{<+1,+1,+0.5> 0.1 texture{tx_plastico}} cylinder{<+1,+1,+0.5> <+3,+2,0> 0.1 texture{tx_plastico}} sphere{<+3,+2,0> 0.1 texture{tx_plastico}} cylinder{<+3,+2,0> <+4,0,0> 0.1 texture{tx_plastico}} sphere{<+4,0,0> 0.1 texture{tx_plastico}} cylinder{<+4,0,0> <0,0,0> 0.1 texture{tx_plastico}} sphere{<0,0,0> 0.1 texture{tx_plastico}} } #end #macro interp(t0,v0,t1,v1,tt) #local r = (tt-t0)/(t1-t0); #local s = 1-r; #local vv = s*v0+r*v1; vv #end #macro arco(t0,t1,a,b,c,d,tt) #local ab = interp(t0,a,t1,b,tt); #local bc = interp(t0,b,t1,c,tt); #local cd = interp(t0,c,t1,d,tt); #local abc = interp(t0,ab,t1,bc,tt); #local bcd = interp(t0,bc,t1,cd,tt); #local abcd = interp(t0,abc,t1,bcd,tt); abcd #end #macro curvas(t0,t1,a,b,c,d) #declare i=0; #while (i,<+1,+2,0>,<+3,+1,-0.5>,<+2,-0.5,0>) curvas(0,100,<+2,-0.5,0>,<+1,+1,+0.5>,<+3,+2,0>,<+4,0,0>) cylinder{<0,0,0> <+4,0,0> 0.1 texture{tx_plastico}} sphere{<+4,0,0> 0.1 texture{tx_plastico}} } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 00 >; #declare raio_cena = 7.0; #declare dir_camera = < +20, +20, +20 >; #declare dist_camera = 5*raio_cena; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)