// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2017-05-07 20:10:09 by stolfilocal // ====================================================================== // 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 } // ====================================================================== #declare p5 = union { object{sphere{<0,0,0>, 20 texture{tx_plastico}}} object{cylinder{<10,0,0>, <100,0,0>, 20 texture{tx_fosca}}} } #macro art4 (et) #declare p4 = union { object{sphere{<0,0,0>, 20 texture{tx_plastico}}} object{cylinder{<10,0,0>, <100,0,0>, 20 texture{tx_fosca}}} object{p5 rotate <0,et,0> translate <100,0,0>} } #end #macro art3 (dt, et) #declare p3 = union { object{sphere{<0,0,0>, 20 texture{tx_plastico}}} object{cylinder{<10,0,0>, <100,0,0>, 20 texture{tx_fosca}}} art4(et) object{p4 rotate <0,dt,0> translate <100,0,0>} } #end #macro art2 (ct,dt,et) #declare p2 = union { object{sphere{<0,0,0>, 20 texture{tx_plastico}}} object{cylinder{<10,0,0>, <100,0,0>, 20 texture{tx_fosca}}} art3(dt,et) object{p3 rotate <0,ct,0> translate <100,0,0>} } #end #macro art1 (bt,ct,dt,et) #declare p1 = union { object{sphere{<0,0,0>, 20 texture{tx_plastico}}} object{cylinder{<10,0,0>, <100,0,0>, 20 texture{tx_fosca}}} art2(ct,dt,et) object{p2 rotate <0,bt,0> translate <100,0,0>} } #end #declare at = array[6]; #declare bt = array[6]; #declare ct = array[6]; #declare dt = array[6]; #declare et = array[6]; #declare at[0] = 30; #declare at[1] = 30; #declare at[2] = 30; #declare at[3] = 30; #declare at[4] = 30; #declare at[5] = 30; #declare bt[0] = 45; #declare bt[1] = 45; #declare bt[2] = 45; #declare bt[3] = 45; #declare bt[4] = 45; #declare bt[5] = 45; #declare ct[0] = 50; #declare ct[1] = 50; #declare ct[2] = 50; #declare ct[3] = 50; #declare ct[4] = 50; #declare ct[5] = 50; #declare dt[0] = 15; #declare dt[1] = 30; #declare dt[2] = 40; #declare dt[3] = 45; #declare dt[4] = 50; #declare dt[5] = 50; #declare et[0] = 45; #declare et[1] = 45; #declare et[2] = 45; #declare et[3] = 45; #declare et[4] = 45; #declare et[5] = 45; #macro corpo (at,bt,ct,dt,et) object{cylinder{<-300,0,0>, <300,0,0>, 100 texture{tx_fosca}}} object{cone{<300,0,0>, 100, <450,0,0>, 0 texture{tx_fosca}}} art1 (bt[0],ct[0],dt[0],et[0]) object{p1 rotate <0,at[0],90> translate <-200,110,0>} art1 (bt[1],ct[1],dt[1],et[1]) object{p1 rotate <0,at[1],90> translate <0,110,0>} art1 (bt[2],ct[2],dt[2],et[2]) object{p1 rotate <0,at[2],90> translate <200.110,0>} art1 (bt[3],ct[3],dt[3],et[3]) object{p1 scale <-1,1,1> rotate <0,at[3],90> translate <-200,-110,0>} art1 (bt[4],ct[4],dt[4],et[4]) object{p1 scale <-1,1,1> rotate <0,at[4],90> translate <0,-110,0>} art1 (bt[5],ct[5],dt[5],et[5]) object{p1 scale <-1,1,1> rotate <0,at[5],90> translate <200,-110,0>} #end #declare chao = box{ <-20,-20,-1>, <+20,+20,0> } corpo (at,bt,ct,dt,et) #include "eixos.inc" #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 850; #declare dir_camera = < 14.00, 7.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)