#include "textures.inc"
#include "colors.inc"
background{ color Grey }
// ======================================================================
// 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.7*< 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 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>
}
#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 dy = 0;
#declare i=0;
#declare j=1;
#declare k=0;
#while(i<6)
#if((i=1)|(i=2)|(i=3))
#declare clockp=clock;
#else
#if(clock>=0.75)
#declare clockp=clock-0.75;
#declare k=0;//1;
#else
#declare clockp=clock+0.25;
#end
#end
#if(clockp<=0.25) //levanta e encolhe
#declare pas = clockp / (0.25);//passo variando de 0 a 1 em 0 - 0.25
#declare beta = 45+15*pas;
#declare gama = 90;
#declare alfa = 90+20*pas;
#declare delta = 65+30*pas;
#declare frente = 0;
#else
#if(clockp<=0.5)//pra frente e avante!
#declare pas = (clockp-0.25)/(0.25);//passo variando de 0 a 1 em 0.25 - 0.5
#declare beta = 60;//+15*pas;
#declare gama = 90;
#declare alfa = 110;;
#declare delta = 95;
#declare frente = -20*pas; // rotate em z
#else
#if(clockp<=0.75)// coloca a perna no chao
#declare pas =(clockp-0.5)/(0.25);//passo variando de 0 a 1 em 0.5 - 0.75
#declare beta = 60-15*pas;
#declare gama = 90;
#declare alfa = 110-20*pas;
#declare delta = 95-30*pas;
#declare frente = -20;
#else //e anda
#declare pas =(clockp-0.75)/(0.25);//passo variando de 0 a 1 em 0.75 - 1
#declare beta = 45;
#declare gama = 90;
#declare alfa = 90;
#declare delta = 65;
#declare frente = -20+20*pas;
#declare dy = 0;//1*pas;
#end
#end
#end
#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
translate<0,k+dy,0>}
object{cabeca
translate<0,4+k+dy,0>}
object{antena
translate<-0.8,6+k+dy,0>
}
object{antena
translate<0.8,6+k+dy,0>
}
#if(i<3)
//pernadireita
object{ perna
rotate delta*y
rotate frente*z
translate //posicao da perna
}
#else
//perna esquerda
object{perna
rotate delta*y
rotate frente*z
translate //posicao da perna
scale <-1,1,1>
}
#end
#declare i=i+1;
#end