#include "textures.inc" #include "colors.inc" background{ color White } // ====================================================================== // FONTES DE LUZ light_source { 10 * < +50.0, +30.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, -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 { 10 * < -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. } // ====================================================================== camera { location 0.55*< 45.00, 35.00, 25.00 > right < -0.60, 0.00, 0.00 > up < 0.00, 0.00, 0.80 > sky < 0.00, 0.00, 1.00 > look_at < 0.00, 0.00, 0.00 > } //eixos #declare eixox = cylinder { < -5.00, 0.00, 0.00 >, < 5.00, 0.00, 0.00 >, 0.05 pigment { color Red } } #declare eixoy = cylinder { < 00, -5.00, 0.00 >, < 00, 5.00, 0.00 >, 0.05 pigment { color Black } } #declare eixoz = cylinder { < 0.0, 00, -5.00 >, < 0.0, 00, 5.00 >, 0.05 pigment { color Blue } } #declare cor_espelho = <0,0,1>; #declare tx_espelho = texture{ pigment { rgb cor_espelho } finish { ambient 0.05 diffuse 0.05 reflection Gray specular 0.20 roughness 0.05 } } #declare chao = plane {z,0 texture{ tx_espelho } } #declare corpo = sphere { < 0, 0, 0 >,4 pigment{color 0.8*Brown} scale<1,1,0.6> } #declare cabeca = sphere { < 0, 0, 0 >,2 pigment{color 0.8*Brown} scale<1,1,0.6> translate<0,4,0> } #declare antena = difference{ torus { 2, 0.3 scale<0.8,0.8,0.8> } box { < -5.00, -5.00, 1.00 >, < 5.00, 5.00, -4.00 > rotate 45*y } pigment{color 0.8*Brown} rotate -90*z rotate -20*x } #declare fonte1=seed(123456); #declare i=0; #declare j=1; #while(i<6) #declare beta = 0+(45)*rand(fonte1);//angulo pernoide-preperna #declare gama = 70+(110-70)*rand(fonte1); //angulo pe-pernoide #declare alfa = 30+(120-30)*rand(fonte1);//angulo preperna-antiperna #declare delta = 30+(90-30)*rand(fonte1); //angulo perna-corpo #declare L1=2; #declare L2=2.5; #declare L3=4; #if((i=0)|(i=3)) #declare B=0; #declare A=-3.5; #end #if((i=1)|(i=4)) #declare B=1.5; #declare A=-3; #end #if((i=2)|(i=5)) #declare B=-1.5; #declare A=-3; #end //#declare A=-3.5; #declare C=0; #declare pe = box { < -1.00, -1.00, -1.00 >, < 1.00, 1.00, 0.30 > scale 0.6*<1,1,1> pigment{color Brown} rotate gama*x translate<0,L1,0> } #declare pernoide = union{ cylinder { < 0.0, 0, 0.00 >, < 0.0, L1, 0.00 >, 0.5 pigment{color Brown} } object{pe} rotate beta*x translate<0,L2,0> } #declare preperna = union{ cylinder { < 0.0, 0, 0.00 >, < 0.0, L2, 0.00 >, 0.5 } sphere { < 0, L2, 0 >,0.5 pigment{color Brown} } object{pernoide} pigment{color Brown} rotate alfa*x translate<0,L3,0> } #declare perna = union{ cylinder { < 0.0, 0, 0.00 >, < 0.0, L3, 0.00 >, 0.5 } sphere { < 0, L3, 0 >,0.5 pigment{color Brown} } object{preperna} pigment{color Brown} rotate -180*x rotate -90*z rotate -20*y } object{corpo} object{cabeca} object{antena translate<-0.8,6,0> } object{antena translate<0.8,6,0> } #if(i<3) //pernadireita object{ perna rotate delta*y translate //posicao da perna } #else //perna esquerda object{perna rotate delta*y translate //posicao da perna scale <-1,1,1> } #end #declare i=i+1; #end