// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2003-05-29 00:05:17 by stolfi // Last edited on 2003-03-18 18:00:00 by evandro #include "colors.inc" background{White} camera { location 0.95*<0,2,10> right x up y look_at <0,0,0> } light_source { 10*<-5, 15, 5> color 0.6*White } light_source { 100*<-5, 4, 10> color 1.2*White } light_source { 100*< 5, 5, 10> color 0.8*White } plane { y,-3.4 pigment { checker color rgb < 1, 0.8, 0.6 > color rgb < 0.6, 0.8, 1.0 > }} #if (clock < 0.25) #declare angulo_tornozelo_esquerdo = 200 * clock; #declare angulo_tornozelo_direito = 0; #declare angulo_joelho_esquerdo = -100 * clock; #declare angulo_joelho_direito = 0; #declare angulo_quadril_esquerdo = 50 * clock; #declare angulo_quadril_direito = 0; #else #if (clock < 0.50) #declare angulo_tornozelo_esquerdo = 50 - ( 200 * (clock - 0.25)); #declare angulo_tornozelo_direito = 0; #declare angulo_joelho_esquerdo = -25 + ( 100 * (clock - 0.25)); #declare angulo_joelho_direito = 0; #declare angulo_quadril_esquerdo = 12.5 - ( 50 * (clock - 0.25)); #declare angulo_quadril_direito = 0; #else #if (clock < 0.75) #declare angulo_tornozelo_esquerdo = 0; #declare angulo_tornozelo_direito = 200 * (clock - 0.50); #declare angulo_joelho_esquerdo = 0; #declare angulo_joelho_direito = -100 * (clock - 0.50); #declare angulo_quadril_esquerdo = 0; #declare angulo_quadril_direito = 50 * (clock - 0.50); #else #declare angulo_tornozelo_esquerdo = 0; #declare angulo_tornozelo_direito = 50 - ( 200 * (clock - 0.75)); #declare angulo_joelho_esquerdo = 0; #declare angulo_joelho_direito = -25 + ( 100 * (clock - 0.75)); #declare angulo_quadril_esquerdo = 0; #declare angulo_quadril_direito = 12.5 - ( 50 * (clock - 0.75)); #end #end #end #declare metade_cabeca_robo = union { sphere { <0, 1.5, 0>, 0.5 scale <1, 2, 1> pigment {Grey} normal {granite 1 scale 0.9} } sphere { <-0.2, 3.5, 0.4>, 0.1 pigment {Red} } sphere { <+0.2, 3.5, 0.4>, 0.1 pigment {Red} } difference { cylinder { <0, 3.25, 0>, <0, 2.75, 2>, 0.1 pigment {Green} } union { sphere { <-0.5, 2.7, 2>, 0.04 pigment {Black} } sphere { <+0.5, 2.7, 2>, 0.04 pigment {Black} } } } } #declare boca_robo = sphere { <0, 2.5, 0.5>, 0.2 scale <2, 1, 1> pigment {White} } #declare cabeca_robo = difference { object { metade_cabeca_robo } object { boca_robo } } #declare corpo_robo = difference { cylinder { <0, -1, 0>, <0, +2, 0>, 1 pigment {Grey} normal {granite 1 scale 0.9} } cylinder { <-1, 1, 0.15>, <+1, 1, 0.15>, 0.5 pigment {Blue} } } #declare braco_robo = union { sphere { <-1.2, 1, 0>, .3 pigment {SkyBlue} } cylinder { <-4, 1, 0>, <-1.2, 1, 0>, 0.3 pigment {SkyBlue} normal {granite 1 scale 0.9} } cylinder { <-3.9, 1.35, 0>, <-3.9, 1.6, 0>, 0.1 pigment {SkyBlue} } cylinder { <-4.1, 0.8, 0>, <-4.4, 0.8, 0>, 0.05 pigment {SkyBlue} } cylinder { <-4.1, 1.0, 0>, <-4.4, 1.0, 0>, 0.05 pigment {SkyBlue} } cylinder { <-4.1, 1.2, 0>, <-4.4, 1.2, 0>, 0.05 pigment {SkyBlue} } } #declare tornozelo_robo = sphere { <0, 0, 0>, 0.3 pigment {Green} normal {granite 1 scale 0.9} } #declare pe_robo = box { <0.8, -0.15, 0.15>, <0.0, +0.15, -0.15> pigment {Green} normal {granite 1 scale 0.9} } #declare canela_robo = cylinder { <0, 0, 0>, <0, 1, 0>, 0.3 pigment {SeaGreen} normal {granite 1 scale 0.9} } #declare metade_perna_esquerda = union { object { canela_robo } object { tornozelo_robo } object { pe_robo rotate <0, 0, angulo_tornozelo_esquerdo> } } #declare metade_perna_direita = union { object { canela_robo } object { tornozelo_robo } object { pe_robo rotate <0, 0, angulo_tornozelo_direito> } } #declare joelho_robo = sphere { <0, 0, 0>, 0.45 pigment {Green} normal {granite 1 scale 0.9} } #declare coxa_robo = cylinder { <0, 0, 0>, <-0.5, 2, 0>, 0.3 pigment {SeaGreen} normal {granite 1 scale 0.9} } #declare perna_esquerda = union { object { coxa_robo } object { joelho_robo } object { metade_perna_esquerda translate <0, -1, 0> rotate <0, 0, angulo_joelho_esquerdo> } } #declare perna_direita = union { object { coxa_robo } object { joelho_robo } object { metade_perna_direita translate <0, -1, 0> rotate <0, 0, angulo_joelho_direito> } } #declare robo = union { object { cabeca_robo } object { corpo_robo } object { braco_robo scale <1, 1, 1> } object { braco_robo scale <-1, 1, 1> } object { perna_esquerda translate <0.5, -2, 0> rotate <0, 0, angulo_quadril_esquerdo> } object { perna_direita translate <0.5, -2, 0> rotate <0, 0, angulo_quadril_direito> scale <-1,1,1> } } union { object { robo } }