// Last edited on 2003-12-07 14:22:52 by stolfi // Exemplo de arquivo de descricao de cena para POV-ray // ====================================================================== #include "colors.inc" #declare ctr = < 2.50, 3.00, 1.50 >; #declare camDir = (< -20.00, -16.00, 10 >) - (< 2.00, 0.00, 1.50 >); camera { location ctr + 0.50*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.75, 0.80, 0.85 > } #declare fonte = seed(92488); #declare chao = plane { z,0 pigment {Green} } #declare pe_da_cama = cylinder { <0,0,1> <0,0,-1> 0.3 pigment { Brown } } #declare cama = union { box { <0,0,0> <5,6,1> pigment { White } } object { pe_da_cama translate <0,0,0> } object { pe_da_cama translate <5,0,0> } object { pe_da_cama translate <0,6,0> } object { pe_da_cama translate <5,6,0> } } #declare corpo = difference { sphere { <0,0,0> 2 } box { <-2,-2,0> <2,2,2> } pigment { Red } } #declare cabeca = sphere { <0,0,0> 0.8 } #declare pata4 = cone { <0,0,0>, 0.1 <1,0,0>, 0 } // Aqui está a cena, finalmente: union{ #declare i = 0; object { cama } object { corpo translate <2.5,3,3> } object { cabeca translate <2.5,0.5,3> } #while(i < 7) #declare alfa = -90*rand(fonte); #declare beta = -90*rand(fonte); #declare gama = -90*rand(fonte); #declare delta = -90*rand(fonte); #declare pata3 = union { cylinder { <0,0,0> <1,0,0> 0.1 } object { pata4 rotate delta*y translate <1,0,0> } } #declare pata2 = union { cylinder { <0,0,0> <1,0,0> 0.1 } object { pata3 rotate gama*y translate <1,0,0> } } #declare pata = union { cylinder { <0,0,0> <1,0,0> 0.1 } object { pata2 rotate beta*y translate <1,0,0> } } object { pata rotate alfa*y translate <2.5,3,3> + 2* } #declare i = i+1; #if (i = 3) #declare i = i+1; #end #end }