// Exemplo de arquivo de descricao de cena para POV-ray
// Last edited on 2020-09-30 19:57:13 by jstolfi
// ======================================================================
// CORES E TEXTURAS
background{ color rgb < 0.75, 0.80, 0.85 > }
#declare tx_verde =
texture{
pigment{ color rgb < 0.15, 1.00, 0.15 > }
finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 }
}
#declare tx_vermelho =
texture{
pigment{ color rgb < 1.00, 0.10, 0.10 > }
finish{ diffuse 0.9 ambient 0.1 }
}
#declare tx_azul =
texture{
pigment{ color rgb < 0.10, 0.10, 1.00 > }
finish{ diffuse 0.9 ambient 0.1 }
}
// ======================================================================
// DESCRIÇÃO DA CENA
// MACROS QUE CONSTITUEM OS OBJETOS DA CENA
#macro arvore(P, A, K)
#local R_cilindro = K;
#if(K = 0)
union{
cylinder{
<0, 0, 0>,
,
R_cilindro
texture{ tx_verde }
}
sphere{
,
R_cilindro/2
texture{ tx_vermelho }
}
translate P
}
#else
union{
cylinder{
<0, 0, 0>,
,
R_cilindro
texture{ tx_verde }
translate P
}
object{ arvore(P + , A/1.5, K - 1) }
object{ arvore(P + , A/1.5, K - 1) }
object{ arvore(P + , A/1.5, K - 1) }
}
#end
#end
#include "eixos.inc"
#declare K = 4;
#declare P = <0, 0, 0>;
#declare A = 30;
object{ arvore(P, A, K) }
#include "camlight.inc"
#declare centro_cena = < 0, 0, 0 >;
#declare raio_cena = 100;
#declare dir_camera = < 20, 20, 0 >;
#declare dist_camera = 5*raio_cena;
#declare intens_luz = 1.20;
camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)