// Last edited on DATE TIME by stolfi //************************************************************************************** //*** Título: A visão de Samsa *** //*** Data: Campinas, 28 de outubro de 2003 *** //*** Aluno: Luciano Ludka Cordeiro - ra992077 *** //************************************************************************************** //************************************************************************************** //*** Setagem dos parâmetros gerais da cena: ******************************************* //************************************************************************************** #declare fonte = seed(75135982); //************************************************************************************** //*** Câmera: ************************************************************************** //************************************************************************************** #declare ctr = <0.00, 0.00, 0.00 >; #declare camDir = < 4.00, 4.00, 3.00>; camera { location ctr + 1.00*camDir right -1.00*x up 0.75*y sky z look_at ctr } //************************************************************************************** //*** Fontes de Luz: ******************************************************************* //************************************************************************************** light_source { < 0, -3.00, 7.00> // Posição da lâmpada. color rgb 0.9 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { < 4, 4.00, 0.00> // Posição da lâmpada. color rgb 0.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } //************************************************************************************** //*** Declaração das cores utilizadas: ************************************************* //************************************************************************************** #declare vermelho = texture { pigment { color rgb < 0.80, 0.16, 0.20 > } finish { diffuse 0.5 specular 0.2 roughness 0.005 ambient 0.3 } } #declare marrom = texture { pigment { color rgb < 0.60, 0.16, 0.20 > } finish { diffuse 0.5 specular 0.2 roughness 0.005 ambient 0.3 } } #declare marrom_2 = texture { pigment { color rgb < 0.60, 0.28, 0.25 > } finish { diffuse 0.3 specular 0.2 roughness 0.005 ambient 0.5 } } #declare azul = texture { pigment { color rgb < 0.20, 0.25, 1.20 > } finish { diffuse 0.4 specular 0.5 roughness 0.005 ambient 0.1 } } //************************************************************************************** //*** Declaração dos objetos utilizados: *********************************************** //************************************************************************************** #declare head = sphere { <0.00, 0.00, 0.00 >, 0.4 texture { vermelho } } #declare origem = < 0.00, 0.00, -0.03 >; //origem ligeiramente afastada para trás, para remover falha #declare ponto4 = < 0.00, 0.00, 0.08 >; #declare ponto3 = < 0.00, 0.00, 0.13 >; #declare ponto2 = < 0.00, 0.00, 0.21 >; #declare ponto1 = < 0.00, 0.00, 0.34 >; #declare pata4 = cylinder{ origem, ponto4, 0.01 texture { marrom_2 } } #declare patas = union{ #declare numParPatas = 0; #while (numParPatas < 4) #declare par = -1; #while (par < 2) #declare teta = rand(fonte); #declare pata3 = union{ cylinder{ origem, ponto3, 0.02 texture { marrom_2 }} object { pata4 rotate translate ponto3 } } #declare gama = rand(fonte); #declare pata2 = union{ cylinder{ origem, ponto2, 0.03 texture { marrom_2 }} object { pata3 rotate translate ponto2 } } #declare beta = rand(fonte); #declare pata1 = union{ cylinder{ origem, ponto1, 0.05 texture { marrom_2 }} object { pata2 rotate translate ponto1} } #declare alfa_x = rand(fonte); #declare alfa_y = rand(fonte); //último eixo com dois graus de movimento object{ pata1 rotate <20*alfa_x, 24.5-(45*alfa_y), 0.00> scale <2, 2*par, 2> translate } #declare par = par+2; #end #declare numParPatas = numParPatas+1; #end } #declare body = union{ object{ difference{ sphere { < 0.00, 0.00, 0.00 >, 1.0 texture {marrom}} box { < -2.00, -2.00, 0.00 >, < 2.00, 2.00, 2.00 > texture { vermelho } } } scale <3,1,1> } object { head translate <-3.20, 0.00, 0.00> } } //************************************************************************************** //*** DECLARAÇÃO DA CENA - OBJETOS MONTADOS ******************************************** //************************************************************************************** background{ color rgb < 0.10, 0.50, 0.90 > } union{ object { patas scale <1,1,1> } object { body } }