// Last edited on 2003-12-09 03:20:59 by stolfi // 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" // ====================================================================== #declare ctr = < 7, 0, -5>; #declare camDir = < 20, 30, 20>; // sphere{ ctr, 10 texture{ pigment{ color rgb <1,0,1> } finish { ambient 0.6 diffuse 0.4 } } } camera { location ctr + 2.00*camDir right -1.00*x up 0.75*y sky z look_at ctr } // ====================================================================== // FONTES DE LUZ light_source { 10 * < +30.0, +10.0, +90.0 > // Posição da lâmpada. color rgb 1.0 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < +10.0, +40.0, +90.0 > // Posição da lâmpada. color rgb 0.4 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < +10.0, +10.0, +90.0 > // Posição da lâmpada. color rgb 0.4 * < 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> } } scale 2 rotate 90 * z } plane { z, -20 texture{ pigment{ checker color rgb <0.7,0.6,0.5>, color rgb <0.6,0.5,0.2> } finish{ diffuse 0.7 ambient 0.3 } scale 2 } }