//Last edited on 2003-05-30 00:33:57 by stolfi #include "colors.inc" #include "textures.inc" #declare ctr = <0,0,2>; camera { location ctr + 1.2 * <12,3,8> right x up y look_at ctr } light_source { 10*<10, 1, 10> color 1.2*White } light_source { 10*<-10, -3, 10> color 0.8*White } light_source { 10*<20 ,50 , 5> color 0.6*White } plane{y,-6.5 texture{Cork scale 5}} #declare peesq= #switch (clock) #range (0,.25) cylinder {<0,0,0>,<0,0,2>, .5 } #break #range (0.26,.50) cylinder {<0,0,0>,<0,0,2>, .5 } #break #range(.51,.75) cylinder {<0,0,0>,<0,0,2>, .5 } #break #range(.76,1) cylinder {<0,0,0>,<0,0,2>, .5 } #end #declare pernaesq=union{ #switch (clock) #range(0,.25) object{peesq rotate x*-90*clock translate <0,-3,0>} cylinder {<0,0,0>,<0,-3,0>, .5}//perna #break #range(.26,.50) object{peesq rotate x*-90*clock translate <0,-3,0>} cylinder {<0,0,0>,<0,-3,0>, .5}//perna #break #range(.51,.75) object{peesq rotate x*-90*(1-clock) translate <0,-3,0>} cylinder {<0,0,0>,<0,-3,0>, .5}//perna #break #range(.76,1) object{peesq rotate x*90*(1-clock) translate <0,-3,0>} cylinder {<0,0,0>,<0,-3,0>, .5}//perna #end } #declare coxaesq=union{ #switch (clock) #range(0,.25) cylinder {<0,0,0>,<0,-3,0>, .5 } object{pernaesq rotate x*240*clock translate<0,-3,0>} #break #range(.26,.50) cylinder {<0,0,0>,<0,-3,0>, .5 } object{pernaesq rotate x*240*(.5-clock) translate<0,-3,0>} #break #range(.51,.75) cylinder {<0,0,0>,<0,-3,0>, .5 } object{pernaesq translate<0,-3,0>} #break #range(.76,1) cylinder {<0,0,0>,<0,-3,0>, .5 } object{pernaesq translate<0,-3,0>} #end } #declare pedir=cylinder {<0,0,0>,<0,0,2>, .5} #declare pernadir=union{ #switch (clock) #range(0,.25) object{pedir rotate x*-90*(clock) translate <0,-3,0>} cylinder {<0,0,0>,<0,-3,0>, .5 } #break #range(.26,.50) object{pedir rotate x*-90*clock translate <0,-3,0>} cylinder {<0,0,0>,<0,-3,0>, .5 } #break #range(.51,.75) object{pedir rotate x*-90*(1-clock) translate <0,-3,0>} cylinder {<0,0,0>,<0,-3,0>, .5 } #break #range(.76,1) object{pedir rotate x*-90*(1-clock) translate <0,-3,0>} cylinder {<0,0,0>,<0,-3,0>, .5 } #end } #declare coxadir=union{ #switch (clock) #range(0,.25) cylinder {<0,0,0>,<0,-3,0>, .5 } object{pernadir translate<0,-3,0>} #break #range(.26,.50) cylinder {<0,0,0>,<0,-3,0>, .5 } object{pernadir translate<0,-3,0>} #break #range(.51,.75) cylinder {<0,0,0>,<0,-3,0>, .5 } object{pernadir rotate x*240*(clock-.5) translate<0,-3,0>} #break #range(.76,1) cylinder {<0,0,0>,<0,-3,0>, .5 } object{pernadir rotate x*240*(1-clock) translate<0,-3,0>} #end } #declare corpo= union{ #if (clock<.51) object {coxadir translate <0,-3,0> rotate x*+45*clock translate<1,3,0>}//pigment {Blue}} object{coxaesq translate <0,-3,0> rotate x*-45*clock translate<-1,3,0>} cylinder {<0,0,0>,<0,5,0>,2 } #end #if (clock>.50) object {coxadir translate <0,-3,0> rotate x*45*(1-clock) translate<1,3,0>}//pigment{Blue}} object{coxaesq translate <0,-3,0> rotate x*-45*(1-clock) translate<-1,3,0>} cylinder {<0,0,0>,<0,5,0>,2 } #end } //-------------------------------------// union{ #if (clock<.51) object {corpo translate <0,0,clock*6>} pigment {Yellow} #else object {corpo translate <0,0,clock*6>}//3+(clock-.5)*3>} pigment {Yellow} #end }