// CORES E TEXTURAS background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_grey = texture{ pigment{ color rgb < 0.6, 0.6, 0.7 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } // ====================================================================== // MACROS #macro interpola(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_bezier(t0, t1, tt, A, B, C, D) #local AB = interpola(t0, A, t1, B, tt); #local BC = interpola(t0, B, t1, C, tt); #local CD = interpola(t0, C, t1, D, tt); #local ABC = interpola(t0, AB, t1, BC, tt); #local BCD = interpola(t0, BC, t1, CD, tt); #local ABCD = interpola(t0, ABC, t1, BCD, tt); ABCD #end // ====================================================================== // CONSTRUCAO DA CENA //object{ gerar_quadrado(1)} //object{ gerar_circulo(1, 1, 0.5)} #declare length = 10; #declare tt_ = -length; #while(tt_ < length) //object{ sphere{<0, 0, 0>, 0.5 texture{tx_grey}} translate interpola(-1, <-1, -1, -1>, 1, <1, 1, 1>, tt_)} object{ sphere{<0,0,0>, 0.5 texture{tx_grey}} translate arco_bezier(-length, length, tt_, <0,0,0>, , , <0,length,0>)} #declare tt_ = tt_ + 0.1; #end #local PEA = <3,5,7>; #local VEA = <-2,2,0>; #local PAB = <5,8,10>; #local VAB = <1,-3,2>; #local A1 = PEA; #local A2 = A1-VEA; #local A4 = PAB; #local A3 = A4-VAB; // ====================================================================== // CAMERA E ILUMINACAO: #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 0.00 >; #declare raio_cena = 20; #declare dir_camera = < 0.00, 2.00, 4.00 >; #declare dist_camera = 5*raio_cena; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)