// MC930 - Laboratorio 7 - A visão de Samsa // Martim Carbone - RA:002193 camera { location < 3, 3, 3 > look_at < 0, 0, 0> sky <0,1,0> } light_source { <0, 5, 5> color rgb <1, 1, 1>} light_source { <3, 5, 0> color rgb <1, 1, 1>} background{ color rgb < 1, 1, 1 > } plane { <0, 1, 0>, -3 pigment { rgb <0.6,0.7,0.4> } } #declare fonte = seed(27118); #declare cama = box { <1.5,-3,-3.5>, <-1.5, -1, 3.5> texture{pigment{ checker <1,0,0>, <1,1,1>}} } #declare corpo = difference{ sphere { <0,0,0>, 1 scale 2*z } box { <3,0,-3>, <-3,1,3> } } #declare olho = sphere { <0,0,0>, 0.1 texture{pigment{color rgb <0,1,0>}} } object {cama} object{ corpo texture {pigment {color rgb <1, 0.5, 0.5>}} } // olho esquerdo object{ olho translate <0.65, -0.1, 1.5> } // olho direito object{ olho translate <-0.65, -0.1, 1.5> } #declare xcoord = 0.75; #while (xcoord >= -0.75) #declare zcoord = -0.75; #while (zcoord<=1) #declare alfa = 30+50*rand(fonte); // min 30 max 80 (valores biologicamente sanos :)) #declare beta = 30+50*rand(fonte); #declare teta = 30+50*rand(fonte); #declare gama = 30+50*rand(fonte); #declare parte3 = // quarta parte da perna cylinder { <0,0,0>, <0.25,0,0>, 0.03 texture{pigment{color rgb <0.8, 0.5, 0.5>}} } #declare parte2 = union { // terceira parte da perna cylinder { <0,0,0>, <0.5,0,0>, 0.05 texture{pigment{color rgb <0.8, 0.5, 0.5>}} } object{ sphere{ <0.5,0,0> 0.05 texture{pigment{color rgb <0.8, 0.5, 0.5>}} } } object { parte3 rotate gama*z translate <0.5,0,0> } } #declare parte1 = union { // segunda parte da perna cylinder { <0,0,0>, <0.75,0,0>, 0.07 texture{pigment{color rgb <0.8, 0.5, 0.5>}} } object{ sphere{ <0.75,0,0> 0.07 texture{pigment{color rgb <0.8, 0.5, 0.5>}} } } object { parte2 rotate teta*z translate <0.75,0,0> } } #declare perna = union { //primeira parte da perna cylinder { <0,0,0>, <1,0,0>, 0.1 texture{pigment{color rgb <0.8, 0.5, 0.5>}} } object{ sphere{ <1,0,0> 0.1 texture{pigment{color rgb <0.8, 0.5, 0.5>}} } } object { parte1 rotate beta*z translate <1,0,0> } } object { perna #if (xcoord = -0.75) rotate <0,180,-alfa> #else rotate alfa*z #end translate } #declare zcoord = zcoord + 0.25; #end #declare xcoord = xcoord - 1.5; #end