// Last edited on 2003-12-07 15:09:35 by stolfi // ====================================================================== #declare ctr = < 0.00, -10.00, 0.00 >; #declare camDir = 10*< 10, 18, 15 >; camera { location ctr + 1.00*camDir right -1.00*x up 0.75*y sky y look_at ctr } // ====================================================================== // FONTES DE LUZ light_source { 10 * < -50.0, +35.0, +50.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < 50.0, 50.0, 50.0 > // Posição da lâmpada. color rgb 0.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.5, 0.5, 0.5 > } #declare source=seed(2718281828); #declare marrom = texture { pigment { color rgb < 0.4, 0.2, 0 > } finish { diffuse 0.9 specular 0.5 roughness 0.005 ambient 0.1 } } #declare preto = texture { pigment { color rgb < 0, 0, 0 > } finish { diffuse 0.9 specular 0.5 roughness 0.005 ambient 0.1 } } #declare marromtransp = texture { pigment { rgb <0.4,0.2,0> filter 1 } finish { diffuse 0.1 reflection 0.25 specular 0.7 roughness 0.001 } } #declare vermelho = texture { pigment { color rgb < 0.8, 0, 0 > } finish { diffuse 0.9 specular 0.5 roughness 0.005 ambient 0.1 } } /*#declare alpha4 = 45; #declare alpha3 = 45; #declare alpha2 = 45; #declare alpha1 = 45; #declare theta1 = 15; */ #declare perna4 = union { cone { <0,0,0>,2 <10,0,0>,1.5 } sphere { <10,0,0>,1.5 } cone { <10,0,0>,1.5 <15,0,-5>,0 } } #macro perna3(alpha4) union { cylinder { <0,0,0>, <20,0,0>,2 } sphere { <20,0,0>,2 } object { perna4 rotate alpha4*y translate <20,0,0> } } #end #declare pelo = cone { <0,0,0>,1 <0,0,10>,0 } #macro perna2(alpha3,alpha4) union { cone { <0,0,0>,3 <40,0,0>,2 } #declare j=0; #while(j<6) object { pelo rotate 30*y translate <5+j*6,0,2> } #declare j=j+1; #end sphere { <40,0,0>,2 } object { perna3(alpha4) rotate alpha3*y translate <40,0,0> } } #end #macro perna1(alpha2,alpha3,alpha4) union { cone { <0,0,0>,4 <10,0,0>,3 } sphere { <10,0,0>,3 } object { perna2(alpha3,alpha4) rotate alpha2*y translate<10,0,0> } } #end #macro perna(x0,y0,z0,theta1,alpha1,alpha2,alpha3,alpha4) object { perna1(alpha2,alpha3,alpha4) rotate translate texture { preto } } #end #macro pernav(x0,y0,z0,theta1,alpha1,alpha2,alpha3,alpha4) object { perna1(alpha2,alpha3,alpha4) rotate translate texture { preto } } #end #declare olho = sphere { <0,0,0>,3 texture { vermelho } } #declare antena = cone { <0,0,0>,1 <70,0,0>,0 } #declare diametro=50; #declare distorcaox=4; #declare totalx=diametro*distorcaox; #declare casca = intersection { difference { sphere { <0,0,0>,(diametro/2)*1.01 } sphere {<0,-0.1,0>,(diametro/2)*1.01 } scale texture { marromtransp } interior { ior 1.5 } } union { box { <-4*diametro,-diametro/2,0.1> } box { <-4*diametro,-diametro/2,-0.1> } } } #declare corpo = union { sphere { <0,0,0>,diametro/2 scale } object { olho translate } object { olho translate } object { antena rotate 20*z translate (0.5*diametro/2)* } object { antena rotate 20*z translate (0.5*diametro/2)* } object { casca translate <0.1,0,0> } texture { marrom } } #declare x0 = -totalx/2 + 0.1*totalx; #declare npernas = 5; #declare incx = 0.7*totalx/(npernas-1); #declare deltaa = 70; object { corpo } //um lado da barata #declare i=0; #while(i < npernas) perna(x0+i*incx,-5,10,-deltaa/2+deltaa*rand(source),-60-30*rand(source),-deltaa/2+deltaa*rand(source),-deltaa/2+deltaa*rand(source),-deltaa/2+deltaa*rand(source)) #declare i=i+1; #end //outro lado da barata #declare i=0; #while(i < npernas) pernav(x0+i*incx,-5,-10,-deltaa/2+deltaa*rand(source),60+30*rand(source),-deltaa/2+deltaa*rand(source),-deltaa/2+deltaa*rand(source),-deltaa/2+deltaa*rand(source)) #declare i=i+1; #end