// LAB DO DIA 23/11 // PATRICIA FARAH CARRIAO // ====================================================================== // CÂMERA camera { location < 0.00, 50.00, 0.00 > // Posição do observador. right -0.75*x // Largura RELATIVA da imagem. up 1.00*y // Altura RELATIVA da imagem. sky z // Qual direção é "para cima"? look_at < 0.00, 0.00, 10.00 > // Para onde a câmera está apontando. } // Nota: os parâmetros "right" e "up" devem ter a mesma proporção // que os parâmetros ${WIDTH} e ${HEIGHT} no Makefile. // ====================================================================== // FONTES DE LUZ light_source { 10 * < +50.0, +30.0, +10.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. } light_source { 10 * < -50.0, -10.0, +10.0 > // Posição da lâmpada. color rgb 0.3 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.75, 0.80, 0.85 > } #declare verde = texture { pigment { color rgb < 0, 1, 0 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare azul = texture { pigment { color rgb < 0.30, 0.40, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare verm = texture { pigment { color rgb < 1, 0, 0 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare noh = sphere { <0,0,0>, 0.4 texture {azul}} #declare aresta = cylinder { <0,0,0>, <0,0,1> 0.2 texture {verde}} #macro arvore(px,py,pz,n) union { #if (n=1) object {noh translate} #else #if (mod(n,2)=0) #local px1 = px+0.9*n; #local py1 = py+0.9*n; #local pz1 = pz+0.9*n; #local px2 = px-0.9*n; #local py2 = py-0.9*n; #local pz2 = pz+0.9*n; #else #local px1 = px-0.9*n; #local py1 = py+0.9*n; #local pz1 = pz+0.9*n; #local px2 = px+0.9*n; #local py2 = py-0.9*n; #local pz2 = pz+0.9*n; #end object {noh translate} object {cylinder { , 0.2 texture {verde}}} object {cylinder { , 0.2 texture {verde}}} object {arvore(px1,py1,pz1,n-1)} object {arvore(px2,py2,pz2,n-1)} #end } #end object{arvore(0,0,0,5)}