// Last edited on 2005-01-06 00:24:11 by stolfi // Processed by remove-cam-lights #declare gerador = seed(12345); #declare clorofila = texture { pigment { rgb < 0.00, 1.00, 0.00> } finish { ambient 0.05 diffuse 0.05 } } #declare maduro = texture { pigment { rgb < 1.00, 0.50, 0.50> } finish { ambient 0.05 diffuse 0.05 } } #declare madeira = texture { pigment { rgb < 1.0, 0.60, 0.60> } finish { diffuse 0.05 } } #declare cimento = texture { pigment { rgb < 0.90, 0.90, 0.90> } finish { diffuse 0.05 } } #declare folha = union { sphere { <0,0,0>, 0.15 texture{ clorofila } } } #macro galho(n) union { #if(n=0) #local i = 0; #while(i < 5) union { cylinder { <0,0,0>, <0,0,0.8>, 0.05 texture{ madeira } } object{ folha translate 0.8*z } rotate 72*i } #local i = i + 1; #end #else cylinder { <0,0,0>, <0,0,1.3*n>, n*0.15 texture{ madeira } } #local i = 0; #while(i < 360) #local i = i + rand(gerador)*90; object{ galho(n - 1) rotate 60*rand(gerador)*y translate 1.3*n*z rotate i*z } #end #end } #end background{ color rgb <0.75, 0.80, 1.0> } union{ object { galho(3) } cylinder { <0,0,0>, <0,0,0.3>, 0.9 texture{ clorofila } } cylinder { <0,0,0>, <0,0,0.3>, 0.9 texture{ madeira } } cylinder { <0,0,0>, <0,0,0.3>, 1.0 texture{ cimento } } } plane { z, 0 pigment { checker color rgb <0.6, 0.6, 0.6> color rgb <0.0, 0.0, 0.0> scale 2 } } #include "camlight.inc" camlight(<0,0,4.5>,vrotate(<13,13,8.5>,30*z),1.00,z,1.0)