// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2010-03-04 15:44:01 by stolfi // ====================================================================== // CORES E TEXTURAS background{ color rgb < 0.75, 0.80, 0.85 > } #declare marrom = texture{ pigment{ color rgb < 1, 0.51, 0.23 > } finish{ diffuse 0.9 ambient 0.1 } } #declare verde = texture{ pigment{ color rgb < 0, 1, 0 > } finish{ diffuse 0.9 ambient 0.1 } } #declare solo = texture{ pigment{ color rgb < 0, 0.8, 0 > } finish{ diffuse 0.9 ambient 0.1 } } // ====================================================================== // DESCRIÇÃO DA CENA #declare tronco = cone{ < 0, 0, -4.00 >, 0.3, < 0, 0, +4.00 >, 0.01 } #declare dinheiro = box{ < 0.001, 0.25, 0.5 > < -0.001, -0.25, -0.5 > } #declare chao = box{ <-20,-20,-1>, <+20,+20,0> } // ====================================================================== object{ chao translate < 0,0,-5 > texture{ solo } } #macro folhas() union { object { dinheiro texture { verde } rotate 90 *x translate < 0, 0.5, -1.5 > } object { dinheiro texture { verde } rotate -90 *x translate < 0, -0.5, -1 > } object { dinheiro texture { verde } rotate 90 *x translate < 0, 0.5, -0.5 > } object { dinheiro texture { verde } rotate -90 *x translate < 0, -0.5, 0 > } object { dinheiro texture { verde } rotate 90 *x translate < 0, 0.5, 0.5 > } object { dinheiro texture { verde } rotate -90 *x translate < 0, -0.5, 1 > } object { dinheiro texture { verde } rotate 90 *x translate < 0, 0.5, 1.5 > } object { dinheiro texture { verde } rotate -90 *x translate < 0, -0.5, 2 > } object { dinheiro texture { verde } rotate 90 *x translate < 0, 0.5, 2.5 > } object { dinheiro texture { verde } rotate -90 *x translate < 0, -0.5, 3 > } object { dinheiro texture { verde } rotate -90 *x rotate 90 *y rotate 90 *z translate < 0.6, 0, -1.5 > } object { dinheiro texture { verde } rotate 90 *x rotate 90 *y rotate 90 *z translate < -0.6, 0, -1 > } object { dinheiro texture { verde } rotate -90 *x rotate 90 *y rotate 90 *z translate < 0.6, 0, -0.5 > } object { dinheiro texture { verde } rotate 90 *x rotate 90 *y rotate 90 *z translate < -0.6, 0, -0 > } object { dinheiro texture { verde } rotate -90 *x rotate 90 *y rotate 90 *z translate < 0.6, 0, 0.5 > } object { dinheiro texture { verde } rotate 90 *x rotate 90 *y rotate 90 *z translate < -0.6, 0, 1 > } object { dinheiro texture { verde } rotate -90 *x rotate 90 *y rotate 90 *z translate < 0.6, 0, 1.5 > } object { dinheiro texture { verde } rotate 90 *x rotate 90 *y rotate 90 *z translate < -0.6, 0, 2 > } object { dinheiro texture { verde } rotate -90 *x rotate 90 *y rotate 90 *z translate < 0.6, 0, 2.5 > } object { dinheiro texture { verde } rotate 90 *x rotate 90 *y rotate 90 *z translate < -0.6, 0, 3 > } } #end #macro arvore(n) #if(n=0) union { object { tronco texture { marrom } } object { folhas() } } #else union { object { arvore(n-1) scale < 0.4, 0.4, 0.5 > rotate -45 *x translate < 0, 1.4, 2> } object { arvore(n-1) scale < 0.4, 0.4, 0.5 > rotate 45 *x translate < 0, -1.4, 2> } object { arvore(n-1) scale < 0.4, 0.4, 0.5 > rotate -45 *y translate < -1.4, 0, 2> } object { arvore(n-1) scale < 0.4, 0.4, 0.5 > rotate 45 *y translate < 1.4, 0, 2> } object { arvore(n-1) scale < 0.4, 0.4, 0.5 > rotate -45 *x translate < 0, 1.4, 0> } object { arvore(n-1) scale < 0.4, 0.4, 0.5 > rotate 45 *x translate < 0, -1.4, 0> } object { arvore(n-1) scale < 0.4, 0.4, 0.5 > rotate -45 *y translate < -1.4, 0, 0> } object { arvore(n-1) scale < 0.4, 0.4, 0.5 > rotate 45 *y translate < 1.4, 0, 0> } #if(n=3) object { arvore(n-1) scale < 0.2, 0.2, 0.3 > rotate -45 *x translate < 0, 1.4, 3> } object { arvore(n-1) scale < 0.2, 0.2, 0.3 > rotate 45 *x translate < 0, -1.4, 3> } object { arvore(n-1) scale < 0.2, 0.2, 0.3 > rotate -45 *y translate < -1.4, 0, 3> } object { arvore(n-1) scale < 0.2, 0.2, 0.3 > rotate 45 *y translate < 1.4, 0, 3> } #end object { tronco texture { marrom } } } #end #end object{ arvore(3) } //object { tronco scale < 0.2, 0.2, 0.2 > rotate -55 *x translate < 0, 0.65, 3> } //object { tronco scale < 0.2, 0.2, 0.2 > rotate 55 *x translate < 0, -0.65, 3> } //object { tronco scale < 0.2, 0.2, 0.2 > rotate -55 *y translate < -0.65, 0, 3> } //object { tronco scale < 0.2, 0.2, 0.2 > rotate 55 *y translate < 0.65, 0, 3> } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 6.0; #declare dir_camera = < 1.5, 0.5, 0.5 >; #declare dist_camera = 16.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)