// MC930 A, S2 2003 // Autor: Leonel Aguilar Gayard // RA 009103 // Data 04/11/2003 // Tema: A visão de Samsa (Animado) #include "colors.inc" #include "metals.inc" #include "textures.inc" #include "finish.inc" // ====================================================================== // CÂMERA camera { location < 50 , 0, 20> right -1.0 * x // Largura RELATIVA da imagem. up 0.75 * y // Altura RELATIVA da imagem. sky z // Qual direção é "para cima"? look_at < 0, 0, 0> // Para onde a câmera está apontando. } /* camera { location < -15, -15, 10> right -1.0 * x // Largura RELATIVA da imagem. up 0.75 * y // Altura RELATIVA da imagem. sky z // Qual direção é "para cima"? look_at < 0, 0, 0> // Para onde a câmera está apontando. } */ // Nota: os parâmetros "right" e "up" devem ter a mesma proporção // que os parâmetros ${WIDTH} e ${HEIGHT} no Makefile. // ====================================================================== // FONTES DE LUZ light_source { 0.5 * < +30.0, +10.0, +90.0 > // Posição da lâmpada. color rgb 1.3 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 0.5 * < +10.0, -10.0, +10.0 > // Posição da lâmpada. color rgb 0.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 0.5 * < 0, -10, 10> // Posição da lâmpada. color rgb 0.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // --------------------------------------------------------------------------------- // AQUI TERMINA O ARQUIVO DO PROFESSOR E COMECA O MEU EXERCICIO background { color White } // #declare semente = seed(31415926535); // #declare semente = seed(12347890679); #declare semente = seed(1); #declare corpo = sphere { <0,0,0>, 3 } #declare i = 0; #declare clock0 = mod(clock + 0.5, 1); #declare alfa = 45 * -cos( 2 * pi * clock ); #if ( clock < 0.25) #declare beta = -45 + 4 * clock *45; #else #if (clock < 0.50) #declare beta = -(clock - 0.25) * 4 * 45; #else #declare beta = -45; #end #end #declare gamma = 10 * (pi * clock) * x; object { union { #while ( i < 10 ) #declare mao = union { object { sor { 5, <0.0, -0.5>, <0.5, 4.0>, <1.0, 5.0>, <3.0, 10.0>, <4.0, 11.0> pigment { Flesh } } scale 0.5 rotate 90 * x translate <0, 0, -2> } sphere { <0,0,0>, 0.3 pigment { Flesh } } } #declare anteantebraco = union { object { // leve tique na mao mao rotate gamma * x translate <0, 0, 5> } cylinder { <0, 0, 0>, <0, 0, 5>, 0.5 texture { Dark_Wood } } #declare j = 0; // declarando os cilios #while ( j < 20 ) #declare r2 = rand(semente); // cilios do lado esquerdo e direito do anteantebraco cylinder { <0,0,0>, <1,0,0>, 0.04 translate <0,0, 0.5 + 0.19 * j> rotate (r2 * 10 - 5) * x } cylinder { <0,0,0>, <1,0,0>, 0.04 translate <0,0, 0.5 + 0.19 * j> rotate 90 * z rotate (r2 * 10 - 5) * x } #declare j = j + 1; #end sphere { <0,0,0>, 0.5 texture { Tom_Wood } } } #declare antebraco = union { #declare r = rand(semente); #declare r2 = rand(semente); #declare r3 = rand(semente); object { anteantebraco rotate < r * 30, r2 * 30, r3 * 30> rotate -45 * x translate <0,0,3> } sphere { <0,0,0>, 0.5 texture { Pine_Wood } } cylinder { <0,0,0>, <0,0,3>, 0.6 pigment { Flesh } } } #declare pata = object { union { #declare r = rand(semente); #declare r2 = rand(semente); #declare r3 = rand(semente); object { union { object { antebraco rotate x * beta } } } object { lathe { bezier_spline 8, <1,0> <0,1> <0,2> <1,3> <1,3> <0,4> <0,5> <1,6> } pigment { Flesh } rotate 90 * x translate <0,0,-6> scale 0.7 } } // angulo que faz o bicho se movimentar rotate y * alfa } // patas direitas object { pata rotate -90 * z rotate 90 * y translate <4.5, 10 - 2 * i, 0>} // patas esquerdas object { pata rotate -90 * y translate <-4.5, 10 - 2 * i , 0> scale <1,-1,1> translate <0,0,-2> } #declare i = i + 1; #end // o corpo object { sphere { <0,0,0>, 3 pigment { color Brown } } scale <1, 5, 1> } } // rotate 180 * y scale 2 rotate 90 * z // rotate 90 * z // rotate 90 * z // rotate 90 * z // translate <-20, -5, 0> } plane { <0, 0, 1>, -20 pigment { color Green } }