// MC930 - Trabalho prático 3 - 1s2003 // Last edited on 2003-05-27 20:40:28 by stolfi // Artur Manoel Passos RA 001388 #include "colors.inc" background{ Turquoise } plane{ <0,1,0>,-12 texture{ pigment{ checker color rgb <1,1,1>, color rgb <1,0.9,0.7> } finish { ambient 0.1 diffuse 0.9 specular 0.2 roughness 0.1 } scale 3 } } camera { location < 50.00, 0.00, 0.00 > right < 0.60, 0.00, 0.00 > up < 0.00, 0.00, 0.60 > sky < 0.00, 1.00, 0.00 > look_at < 0.00, 0.00, -3.00 > } light_source { 10*< 45.00, 30.00, 20.00 > color rgb < 1.20, 1.20, 1.20 > } light_source { 10*< 45.00, 20.00, -20.00 > color rgb < 0.60, 0.60, 0.60 > } #if (clock<=0.25) #declare GRAU2 = -clock*200; #declare GRAU2b = 0; #declare GRAU3 = -25 + (clock*400); #declare GRAU3b = 25 - (clock*100); #else #if (clock <=0.5) #declare GRAU2 = -50 + (clock-0.25)*200; #declare GRAU2b = 0; #declare GRAU3 = 50 - ((clock-0.25)*100); #declare GRAU3b = 25 - (clock*100); #else #if (clock <=0.75) #declare GRAU2 = 0; #declare GRAU2b = -(clock-0.5)*200; #declare GRAU3 = 25 - ((clock-0.5)*100); #declare GRAU3b = -25 + ((clock-0.5)*400); #else #declare GRAU2 = 0; #declare GRAU2b = -50 + (clock-0.75)*200; #declare GRAU3 = 25 - (clock-0.5)*100; #declare GRAU3b = 50 - ((clock-0.75)*100); #end #end #end #declare GRAU1 = -1*GRAU3 - GRAU2; #declare GRAU1b = -1*GRAU3b - GRAU2b; #declare peperna1 = union { cylinder{ <0, 0, 0> <0, 6, 0> 1.1 pigment {DarkBrown} } sphere { <0, 0, -0.5> 1.2 pigment {Copper} scale <1, 0.8, 2> rotate } // Pé } #declare perna1 = union { cylinder { <0, 6, 0> <0, 0, 0> 1.2 pigment {DarkBrown} } // Coxa sphere { <0, 0, 0> 1.3 pigment {DarkBrown}} // Joelho object {peperna1 translate <0, -6, 0> rotate } } #declare peperna2 = union { cylinder{ <0, 0, 0> <0, 6, 0> 1.1 pigment {DarkBrown} } sphere { <0, 0, -0.5> 1.2 pigment {Copper} scale <1, 0.8, 2> rotate } // Pé } #declare perna2 = union { cylinder { <0, 6, 0> <0, 0, 0> 1.2 pigment {DarkBrown} } // Coxa sphere { <0, 0, 0> 1.3 pigment {DarkBrown}} // Joelho object {peperna2 translate <0, -6, 0> rotate } } #declare cabeca = union { cylinder{ <0, 5, 0> <0, 6.5, 0> 1.1 pigment {DarkBrown}} // Pescoço sphere { <0, 8, 0> 2.2 pigment {DarkBrown}} // Cabeça sphere { <2.2, 4 ,-1> 0.5 pigment {Copper} scale <1, 2, 0.5> } // Orelha direita sphere { <-2.2, 4 ,-1> 0.5 pigment {Copper} scale <1, 2, 0.5> } // Orelha esquerda } #declare resto = union { sphere { <2.1, 4.2, 0>, 2 pigment {DarkBrown} } // Ombro direito sphere { <-2.1, 4.2, 0>, 2 pigment {DarkBrown} } // Ombro direito cylinder{ <2.1,4.2, 0> <5.6, 1.7, -3.5> 1 pigment {DarkBrown} } // Braço direito cylinder{ <-2.1,4.2, 0> <-6.6, 1.7, -1.5> 1 pigment {DarkBrown} } // Braço esquerdo sphere { <5.6, 1.7, -3.5> 1.1 pigment {DarkBrown} } // Cotovelo direito sphere { <-6.6, 1.7, -1.5> 1.1 pigment {DarkBrown} } // Cotovelo esquerdo cylinder{ <5.6, 1.7, -3.5> <2.2, 0.7, -6.5> 1 pigment {DarkBrown} } // Antebraço direito cylinder{ <-6.6, 1.7, -1.5> <-7, 5.8, -2.5> 1 pigment {DarkBrown} } // Antebraço esquerdo sphere { <2.2, 0.7, -6.5,> 1.2 pigment {Copper} } //Mão direita sphere { <-7, 5.8, -2.5> 1.2 pigment { Copper } } // Mão esquerda } #declare corpo = union { object {cabeca translate <0, 3, 0>} object {resto translate <0, 3, 0>} sphere { <0, 0, 0>, 2 pigment {DarkBrown} scale <1.5, 3, 1> translate <0, 3, 0> }// Tronco object {perna1 translate <0, -6, 0> rotate translate <0.9, 0.6, 0>} object {perna2 translate <0, -6, 0> rotate translate <-0.9, 0.6, 0>} } object {corpo translate <0, 0, -6*clock>}