// Last edited on 2019-07-17 03:00:50 by stolfilocal // Processed by remove-cam-lights 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 } #declare cx = 0; #declare cz = 0; #declare cy = 0; #macro interpolaLin (t0, v0, t1, v1, tt) #local r = (tt-t0)/(t1-t0); #local s = 1-r; #local vv = s*v0 + r*v1; vv #end #macro arcobezier (t0, t1, A, B, C, D, tt) #local AB = interpolaLin(t0,A,t1,B,tt); #local BC = interpolaLin(t0,B,t1,C,tt); #local CD = interpolaLin(t0,C,t1,D,tt); #local ABC = interpolaLin(t0,AB,t1,BC,tt); #local BCD = interpolaLin(t0,BC,t1,CD,tt); #local ABCD = interpolaLin(t0,ABC,t1,BCD,tt); ABCD #end #macro c (P, R) #declare cy = sqrt(pow(R, 2) - pow(cx, 2)); #declare cz = 0; #end #macro poligono (N) #local ini = <0.0, 0.0, 0.0>; #local tt = 0; #local ii = 1/N; #local AD = <0,0,0>; #local A2 = <100,200,0>; #local A3 = <300,-200,0>; #local AB = <400,0,0>; #local B2 = <500,200,0>; #local B3 = <300,200,0>; #local BC = <400,400,0>; #local C2 = <500,600,0>; #local C3 = <150,300,0>; #local CD = <000,400,0>; #local D2 = <-150,500,0>; #local D3 = <-100,-200,0>; #while (tt < 1) object {sphere {arcobezier(0.0, 1.0, AD, A2, A3, AB,tt), 20.00 texture{tx_fosca}}} object {sphere {arcobezier(0.0, 1.0, AB, B2, B3, BC,tt), 20.00 texture{tx_fosca}}} object {sphere {arcobezier(0.0, 1.0, BC, C2, C3, CD,tt), 20.00 texture{tx_fosca}}} object {sphere {arcobezier(0.0, 1.0, CD, D2, D3, AD,tt), 20.00 texture{tx_fosca}}} #local tt = tt + ii; #end #end poligono(1000) #macro circulo (R, N) #declare centro = <0.0, 0.0, 0.0>; #declare nX = N/2; #declare d = 2*R/nX; #declare cx = -R; #while (cx, 20.00 texture{tx_fosca}}} object {sphere {, 20.00 texture{tx_fosca}}} #declare cx = cx + d; #end #end #include "eixos.inc" // object{ eixos(500) } #include "camlight.inc" #declare centro_cena = < 200.00, 200.00, 0.00 >; #declare raio_cena = 550; #declare dir_camera = < 10.00, 10.00, 10.00 >; #declare dist_camera = 5*raio_cena; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)