// Last edited on 2003-12-08 20:36:21 by stolfi #include "colors.inc" // Exemplo de arquivo de descricao de cena para POV-ray // ====================================================================== #declare ctr = < 5, 30, -7 >; #declare camDir = < 40, 130, 35 >; // sphere{ ctr, 3 texture{ pigment{ color rgb <1,0,1> } finish { ambient 0.6 diffuse 0.4 } } } camera { location ctr + 0.60*camDir right 0.64*x up 0.48*y sky z look_at ctr } plane{ z,-25 texture{ pigment{ checker color rgb <0.6,0.7,0.5>, color rgb <0.5,0.6,0.2> } finish{ diffuse 0.7 ambient 0.3 } scale 2 } } light_source { < +80.0, +110.0, +150.0 > // Posição da lâmpada. color rgb 1.1 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { < +110.0, -10.0, +150.0 > // Posição da lâmpada. color rgb 0.6 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 1, 1, 0.85 > } #declare raio = 2.000; #declare tinta_vermelho = texture { pigment { color rgb < 1, 0, 0 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_verde = texture { pigment { color rgb < 0, 1, 0 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_azul= texture { pigment { color rgb < 0.60, 0.60, 1.00 > filter 1 } finish { diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 ambient 0.1 } } #declare cor_fundo= texture { pigment { color rgb < 0.4, 0.4, 0.85 > } // finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } //#declare cor_metal=<0.75,0.8,0.85> //#declare tinta_metal= // texture { // pigment { color rgb cor_metal } // finish { diffuse 0.05 specular 0.2 roughness 0.05 ambient 0.05 reflection cor_metal } // } /////////////////////////////////// #declare fonte = seed(12345); #declare i=0; #while(i<6) #declare largura_corpo = 7; #declare compr4 = 4; #declare compr3 = 6; #declare compr2 = 14; #declare compr1 = 10; #declare gama = 30; #declare beta = 45; #declare alfa = 60; #if (mod(i,2)=0) //penas impares 0,1,2 #declare clockp=clock; #else //demais pernas 3,4,5 #declare clockp=clock;//clockp=mod(clock+0.5 , 1); #end #switch (clock) #range (0,0.25) #declare teta= -60 + (200*clockp); #break #range (0.25,0.75) #declare teta=-10; #break #range (0.75,1) #declare teta=-10 - (200*(clockp-0.75)); #break #end #switch (clock) #range (0,0.25) #declare novo=(clockp*180); #break #range (0.25,0.75) #declare novo=(45-((clockp-0.25)*180)); #break #range (0.75,1) #declare novo=(-45+((clockp-0.75)*180)); #break #end #declare parte4 = cylinder{ <0,0,0> , , 1 pigment{Red}} #declare parte3 = union{ sphere { , 1 pigment{Red} } cylinder{ <0,0,0> , , 1pigment{Red} } object{ parte4 rotate gama*y translate pigment{Red} } } #declare parte2 = union{ sphere { ,1 pigment{Red} } cylinder{ <0,0,0> , , 1 pigment{Red}} object{ parte3 rotate beta*y translate pigment{Red} } } #declare parte1 = union{ sphere { , 1} cylinder{ <0,0,0> , , 1 pigment{Red}} object{ parte2 rotate alfa*y translate pigment{Red} } } // #declare perna = // union{ // object{ parte1 rotate teta*y rotate novo*x translate pigment{Red}} // object{ parte1 rotate teta*y rotate -novo*x rotate 180*z translate pigment{Red} } // } #if (i<3) #declare perna = object{ parte1 rotate teta*y rotate novo*x translate pigment{Red}} #else #declare perna = object{ parte1 rotate teta*y rotate -novo*x rotate (180-teta)*z translate pigment{Red} } #end object{perna} #declare i=i+1; #end //while #declare corpo=box{ <2,5,2> , <8,45,-2> pigment{Gray}} #declare eixos=union{ cylinder {<0,0,0> , <0,50,0> , 0.2 pigment{Red}} //y cylinder {<0,0,0> , <50,0,0> , 0.2 pigment{Blue}} //x cylinder {<0,0,0> , <0,0,50> , 0.2 pigment{Green}} //z } //object{eixos} object{corpo}