// Last edited on DATE TIME by stolfi
// Exemplo de arquivo de descricao de cena para POV-ray
#include "colors.inc"
// ======================================================================
#declare ctr = < 0.00, 0.00, 0.00 >;
#declare camDir = < 18.00, 12.00, 4.00 >;
camera {
location ctr + 0.70*camDir
right -1.00*x
up 0.75*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.5, 0.70, 0.65 > }
#declare r=seed(1234);
#declare a1=rand(r)*45;
#declare a2=rand(r)*60;
#declare a3=rand(r)*90;
#declare corpo= difference{sphere{<0,0,0>,5 pigment{Red}}
box{<-5,5,0>,<5,-5,5> pigment {Black}}
}
#declare pt1=cylinder{<0,0,0>,<0,0,0.7>,0.5 pigment{Yellow}}
#declare pt2=union{cylinder{<0,0,0>,<0,0,1>,0.5 pigment{Cyan}}
object{pt1
rotate a1*y
translate<0,0,1>}
}
#declare pt3=union{cylinder{<0,0,0>,<0,0,1>,0.5 pigment{Blue}}
object{pt2
rotate -a2*y
translate<0,0,1>}
}
#declare pata=union{cylinder{<0,0,0>,<0,0,1.2>,0.5 pigment{Green}}
object{pt3
rotate a3*y
translate<0,0,1.2>}
}
// Aqui está a cena, finalmente:
#declare gerador=seed(235);
#declare a=0;
union{object{corpo}
#while (a<6)
#declare a4=rand(r)*90;
#declare a5=rand(r)*90;
object{pata
rotate -a4*y
translate}
object{pata
rotate -a5*y
translate
}
#declare a=a+1;
#end
}