// Last edited on DATE TIME by stolfi // Exemplo de arquivo de descricao de cena para POV-ray #include "colors.inc" // ====================================================================== #declare ctr = < -1.50, 0.00, 0.00 >; #declare camDir = (< 10.00, 6.00, 2.50 >) - (< -1.50, 0.00, 0.00 >); camera { location ctr + 1.00*camDir right 0.80*x up 0.60*y sky z look_at ctr } // ====================================================================== // FONTES DE LUZ light_source { 10 * < +50.0, +30.0, +50.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < +50.0, -10.0, +10.0 > // Posição da lâmpada. color rgb 0.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.75, 0.80, 0.85 > } #declare fonte = seed (234765); //rand(fonte) #declare comp = 30; #declare corpo = union{ sphere {<0,0,0>, comp/4 pigment{Blue}} cylinder { <0,0,0>, <-comp,0,0>, comp/4 pigment {Blue}} sphere {<-comp,0,0>, comp/4 pigment{Blue}} scale <1,1,0.6> } #declare final=5; #declare i=0; #while (i, 2.0 <0,5,0>, 0.1 pigment{Green}} #declare antemeio = union { cylinder{ <0,0,0>, <0,10,0>, 2 pigment{Blue}} sphere { <0,10,0>, 2 pigment{Red}} object {ponta rotate angponta*x translate <0,10,0>} } #declare angante = 360 - rand(fonte)*90; #declare posmeio = union { cylinder{ <0,0,0>, <0,15,0>, 2 pigment {Blue}} sphere { <0,15,0>, 2 pigment{Red}} object {antemeio rotate angante*x translate <0,15,0>} } #declare angpos = 360 - rand(fonte)*90; #declare outraponta = union { sphere{ <0,0,0>, 2 pigment{Red}} cylinder{ <0,0,0>, <0,15,0>, 2 pigment{Blue}} sphere { <0,15,0>, 2 pigment{Red}} object {posmeio rotate angpos*x translate <0,15,0>} } #declare angpatax = rand(fonte)*45; #declare angpataz = rand(fonte)*20; #declare pospata = comp - (comp*i)/(final-1); #declare pata = union{ object { outraponta rotate angpatax*x rotate angpataz*z translate <-pospata+2,comp/4,0> } object { outraponta rotate angpatax*x rotate (180-angpataz)*z translate <-pospata+2,-comp/4,0> } } object {pata scale 0.1} #declare i=i+1; #end object {corpo scale 0.1}