#include "colors.inc"
#include "textures.inc"
#include "stones.inc"
  #include "Hhead3.inc"

//background {White}

//#declare CClock=2*clock
#declare leng=18
//cabmera {location <-38,3,0>look_at <0,1,0>  angle 39}

//light_source {<0, 0, -251.8056> color Blue}
//light_source {<0, 251.8056, 0> color Blue}
//light_source {<204, 444.8056, 0> color Blue}

//background { Black}
#declare ydelt=.7
#declare larmx=5+50*cos(CClock*2*pi)   //was +25
#declare larmz=20
#declare rarmx=5+50*cos(CClock*2*pi+pi)   //was +25
#declare rarmz=-20
#declare lelbow=37.5+22.5*cos(CClock*2*pi+pi/3)
#declare relbow=37.5+22.5*cos(CClock*2*pi+pi/3+pi)
#declare foreL=1.02
#declare llegx=-40*cos(CClock*2*pi)-5
#declare llegy=-15/3             //was -15
#declare rlegx=-40*cos(CClock*2*pi+pi)-5
#declare rlegy=15/3             //was 15
//#declare lshinx=-10+(cos(CClock*4*pi)-1)*(2*pi-mod(CClock*2*pi,2*pi))*13
//#declare rshinx=-10+(cos(CClock*4*pi*pi)-1)*(2*pi-mod(CClock*2*pi+pi,2*pi))*13
#declare lshinx=-5+45*(-1+cos(CClock*4*pi))/pow((int(sin(2*CClock*pi+pi)+.999)+1),2)
#declare rshinx=-5+45*(-1+cos(CClock*4*pi))/pow((int(sin(2*CClock*pi)+.999)+1),2)
#declare thighL=2.65
#declare shinL=2.3
#declare bicepL=2.2
#declare boost=1
#declare joint=1
#declare footA=90
#declare chestY=4.5
#declare headA=0
#declare fingRA=-30
#declare fingLA=30

#declare body2=
blob {
threshold 0.4


     sphere {<0,0,0>,1.35*boost,1                   //shoulder ball
            scale <1,1,1>
            translate <2,chestY+.15,0>
            }
     sphere {<0,0,0>,1.35*boost,1                   //shoulder ball
            scale <1,1,1>
            translate <-2,chestY+.15,0>
            }
     cylinder {<-1.0,0,0>,<1.0,0,0>,2,1                 //shouldertop
              scale <1,.4,.3>
              translate <0,chestY+.15,0>
              }
     cylinder {<0,chestY-.3,0>,<0,chestY+2.7,-.23>,1,1   //neck
              }

     sphere {<0,-bicepL,0>,bicepL*1*boost,1                   //biceps
            scale <1,1.4,1>
            translate <0.2,.75,-.1>
            scale <0.55,1,0.65>
            rotate <larmx,0,larmz>
            translate <2,chestY,0>
            }
     cylinder {<0,0-ydelt*1.6,0>,<0,-bicepL-ydelt,0>,bicepL*boost,1                   //biceps
            scale <0.3,1,0.3>
            rotate <larmx,0,larmz>
            translate <2,chestY,0>
            }
     sphere {<0,-bicepL,0>,bicepL*1*boost,1
            scale <1,1.4,1>
            translate <-.2,.75,-.1>
            scale <0.55,1,0.65>
            rotate <rarmx,0,rarmz>
            translate <-2,chestY,0>
            }
     cylinder{<0,0-ydelt*1.6,0>,<0,-bicepL-ydelt,0>,bicepL*boost,1
            scale <0.3,1,0.3>
            rotate <rarmx,0,rarmz>
            translate <-2,chestY,0>
            }
     sphere {<0,0,0>,foreL*1.75*boost,1
              scale <.45,1,.5>
              translate <0,-foreL+.55,0>
              rotate <lelbow,0,-.20>
              translate <0,-2*bicepL,0-.2>
              rotate <larmx,0,larmz>
              translate <2,chestY,0>
              }

     cylinder{<0,0-ydelt,0>,<0,-foreL-ydelt,0>,foreL*1.5*boost,1
              scale <.35,1,.375>
              rotate <lelbow,0,0>
              translate <0,-2*bicepL,0-.2>                //
              rotate <larmx,0,larmz>
              translate <2,chestY,0>
              }
     sphere {<0,0,0>,foreL*1.75*boost,1
              scale <.35,1,.5>
              translate <0,-foreL+.55,0>
              rotate <relbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <rarmx,0,rarmz>
              translate <-2,chestY,0>
              }
      cylinder{<0,0-ydelt,0>,<0,-foreL-ydelt,0>,foreL*1.5*boost,1
              scale <.35,1,.375>
              rotate <relbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <rarmx,0,rarmz>
              translate <-2,chestY,0>
              }

/*
     cylinder{<-.6,0,-.15>,<.6,0,-.15>,1,1                //hand
              scale <.5,1,1>
              translate <.2,-2*foreL-.3,-.2>
              //scale <.5,1,.375>
              rotate <lelbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <larmx,0,larmz>
              translate <2,chestY,0>
              }
 */
  cylinder{<-.6,0,-.15>,<.6,0,-.15>,1,1                //hand
              scale <.225,.9,1.1>
              translate <-.2,-2*foreL-.3,-.2>
              //scale <.5,1,.375>
              rotate <relbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <rarmx,0,rarmz>
              translate <-2,chestY,0>
              }

      cylinder{<-0,.13,-1.15>,<0,.13-.5,-1.65>,.4,1              //thumb
              scale <.5,1.3,.5>
              translate <-.2,-2*foreL-.3,-.2>
              //scale <.5,1,.375>
              rotate <relbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <rarmx,0,rarmz>
              translate <-2,chestY,0>
              }
#declare fingD=.65
#declare fingS=-1

 cylinder{<-0,-.2,fingS>,<0,-.2-.85,fingS>,.4,1                 //finger
              scale <.45,0.8,.45>
               rotate <0,0,-fingRA>
              translate <-.2,-2*foreL-.8,-.2>
              //scale <.5,1,.375>
              rotate <relbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <rarmx,0,rarmz>
              translate <-2,chestY,0>
              }


cylinder{<-0,-.2,fingS+fingD*1>,<0,-.2-.85,fingS+fingD*1>,.4,1          //finger
              scale <.45,0.9,.45>
               rotate <0,0,-fingRA>
              translate <-.2,-2*foreL-.8,-.2>
              //scale <.5,1,.375>
              rotate <relbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <rarmx,0,rarmz>
              translate <-2,chestY,0>
              }
cylinder{<-0,-.2,fingS+fingD*2>,<0,-.2-.85,fingS+fingD*2>,.4,1           //finger
               scale <.45,0.8,.45>
                rotate <0,0,-fingRA>
              translate <-.2,-2*foreL-.8,-.2>
              //scale <.5,1,.375>
              rotate <relbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <rarmx,0,rarmz>
              translate <-2,chestY,0>
              }
 cylinder{<-0,-.2,fingS+fingD*3>,<0,-.2-.85,fingS+fingD*3>,.4,1         //finger
              scale <.45,0.7,.45>
               rotate <0,0,-fingRA>
              translate <-.2,-2*foreL-.8,-.2>
              //scale <.5,1,.375>
              rotate <relbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <rarmx,0,rarmz>
              translate <-2,chestY,0>
              }

cylinder{<.6,0,-.15>,<-.6,0,-.15>,1,1                //hand
              scale <.225,.9,1.1>
              translate <.2,-2*foreL-.3,-.2>
              //scale <.5,1,.375>
              rotate <lelbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <larmx,0,larmz>
              translate <2,chestY,0>
              }

    cylinder{<-0,.13,-1.15>,<0,.13-.5,-1.65>,.4,1                //thumb
              scale <.5,1.3,.5>
              translate <.2,-2*foreL-.3,-.2>
              //scale <.5,1,.375>
              rotate <lelbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <larmx,0,larmz>
              translate <2,chestY,0>
              }
#declare fingD=.65
#declare fingS=-1

 cylinder{<-0,-.2,fingS>,<0,-.2-.85,fingS>,.4,1                 //finger
              scale <.45,0.8,.45>
               rotate <0,0,-fingLA>
              translate <.2,-2*foreL-.8,-.2>
              //scale <.5,1,.375>
              rotate <lelbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <larmx,0,larmz>
              translate <2,chestY,0>
              }


 cylinder{<-0,-.2,fingS+fingD*1>,<0,-.2-.85,fingS+fingD*1>,.4,1                //finger
              scale <.45,0.9,.45>
               rotate <0,0,-fingLA>
              translate <.2,-2*foreL-.8,-.2>
              //scale <.5,1,.375>
              rotate <lelbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <larmx,0,larmz>
              translate <2,chestY,0>
              }
 cylinder{<-0,-.2,fingS+fingD*2>,<0,-.2-.85,fingS+fingD*2>,.4,1                //finger
              scale <.45,0.8,.45>
               rotate <0,0,-fingLA>
              translate <.2,-2*foreL-.8,-.2>
              //scale <.5,1,.375>
              rotate <lelbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <larmx,0,larmz>
              translate <2,chestY,0>
              }
 cylinder{<-0,-.2,fingS+fingD*3>,<0,-.2-.85,fingS+fingD*3>,.4,1                //finger
              scale <.45,0.7,.45>
               rotate <0,0,-fingLA>
              translate <.2,-2*foreL-.8,-.2>
              //scale <.5,1,.375>
              rotate <lelbow,0,0>
              translate <0,-2*bicepL,0-.2>
              rotate <larmx,0,larmz>
              translate <2,chestY,0>
              }


cylinder {<0,15,0>,<0,0,0>,3.2*boost,1                        //torso
              scale <.9,.333,.4>
              translate <0,-1,0>
              }
cylinder {<0,5,0>,<0,0,0>,3.2*boost,1                        //torso
              scale <.9*.8,1*.46,.4*.78>
              translate <0,1,-.6>
              }


  sphere {<0,-thighL-ydelt*0,0>,thighL*1.2*boost,1                 //thigh
            scale <0.55,1.2,0.55>
            rotate <llegx,llegy,0>
            translate <0.7,-0.7,0>
            }
  cylinder{<0,0-ydelt,0>,<0,-thighL-ydelt,0>,thighL*boost,1          //thigh
            scale <0.55,1,0.55>
            rotate <llegx,llegy,0>
            translate <0.7,-0.7,0>
            }
  sphere {<0,-thighL-ydelt*0,0>,thighL*1.2*boost,1                 //thigh
            scale <0.55,1.2,0.55>
            rotate <rlegx,rlegy,0>
            translate <-0.7,-0.7,0>
            }
 cylinder{<0,0-ydelt,0>,<0,-thighL-ydelt,0>,thighL*boost,1          //thigh
            scale <0.55,1,0.55>
            rotate <rlegx,rlegy,0>
            translate <-0.7,-0.7,0>
            }
  sphere {<0,-shinL-ydelt,0>,shinL*boost*.65,1
            translate <-.0,shinL/2,.220>
            scale <.8,1,.8>
            rotate <lshinx,0,0>
            translate <0,-2*thighL,0>
            rotate <llegx,llegy,0>
            translate <0.7,-0.7,0>
            }
cylinder{<0,0-ydelt,0>,<0,-shinL-ydelt,0>,shinL*boost,1
          translate <0,0,.6>
            scale <.4,1,.4>
            rotate <lshinx,0,0>
            translate <0,-2*thighL,0>
            rotate <llegx,llegy,0>
            translate <0.7,-0.7,0>
            }
   sphere {<0,-shinL-ydelt,0>,shinL*boost*.65,1
            translate <0,shinL/2,.220>
            scale <.8,1,.8>
            rotate <rshinx,0,0>
            translate <0,-2*thighL,0>
            rotate <rlegx,rlegy,0>
            translate <-0.7,-0.7,0>
            }
  cylinder{<0,0-ydelt,0>,<0,-shinL-ydelt,0>,shinL*boost,1
            translate <0,0,.6>
            scale <.4,1,.4>
            rotate <rshinx,0,0>
            translate <0,-2*thighL,0>
            rotate <rlegx,rlegy,0>
            translate <-0.7,-0.7,0>
            }
    sphere {<0,-shinL-ydelt,0>,shinL*.5,1         //foot
            translate <0,-shinL*.5,.220>
            scale <.8,1,.8>
            rotate <lshinx,0,0>
            translate <0,-2*thighL,0>
            rotate <llegx,llegy,0>
            translate <0.7,-0.7,0>
            }
     cylinder {<0,0,0>,<0,-shinL,0>,shinL*.5,1         //foot
            scale <1,.8,.5>
            rotate <footA,0,0>
            translate <0,-shinL*1.6-ydelt,.220>
            rotate <lshinx,0,0>
            translate <0,-2*thighL,0>
            rotate <llegx,llegy,0>
            translate <0.7,-0.7,0>
            }
     sphere {<0,-shinL-ydelt,0>,shinL*.5,1         //foot
            translate <0,-shinL*.5,.220>
            scale <.8,1,.8>
            rotate <rshinx,0,0>
            translate <0,-2*thighL,0>
            rotate <rlegx,rlegy,0>
            translate <-0.7,-0.7,0>
            }
     cylinder {<0,0,0>,<0,-shinL,0>,shinL*.5,1         //foot
            scale <1,.8,.5>
            rotate <footA,0,0>
            translate <0,-shinL*1.6-ydelt,.220>
            rotate <rshinx,0,0>
            translate <0,-2*thighL,0>
            rotate <rlegx,rlegy,0>
            translate <-0.7,-0.7,0>
            }
     sphere {<0,0,0>,1.9*boost,1                   //but
            scale <1,1,1>
            translate <-.6,-1.1,.051>
            }
     sphere {<0,0,0>,1.9*boost,1                   //but
            scale <1,1,1>
            translate <.6,-1.1,.051>
            }
     sphere {<0,0,0>,1.9*boost,1                   //but
            scale <1,1,1>
            translate <-.6,-1.1,.151>
            }
     sphere {<0,0,0>,1.9*boost,1                   //but
            scale <1,1,1>
            translate <.6,-1.1,.151>
            }
     sphere {<0,0,0>,1.5*boost,-1.52                   //anti-but
            scale <.4,1,1>
            translate <-2,-1,0>
            }
     sphere {<0,0,0>,1.5*boost,-1.52                  //anti-but
            scale <.4,1,1>
            translate <2,-1,0>
            }
/*
     sphere {<0,0,0>,1.2*boost,1                   //chestmusc
            scale <1.4,1.,1.5>
            translate <.7,chestY-.6,-.31>
            }
//     sphere {<0,0,0>,1.2*boost,1                   //chest musc
            scale <1.4,1.,1.5>
            translate <-.7,chestY-.6,-.3>
            }
*/

cylinder{<-1.,.0,.0>,<-.3,-0,0>,1.0,1                  //chest musc
         scale <1,1.2,1.1>                      //was z 1.2
         //translate <-.2,chestY-.7,-1.>
         translate <-.175,chestY-.7,-1.>
         }

cylinder{<.3,-0,0>,<1.,0.0,.0>,1.0,1                  //chest musc
         scale <1,1.2,1.1>                      //was z 1.2
         //translate <-.2,chestY-.7,-1.>
         translate <0.175,chestY-.7,-1.>
         }



   //    texture {T_Chrome_1B}
   //   pigment {Pink}
      }

#declare B=
union {
      object {body2}
      object {Hhead
            rotate <-10,headA,0>
            scale <.40,.40,.405>
            translate <0,6.7,-1.25>}
      translate <0,2.*abs(sin(CClock*2*pi)),0>
      rotate <5, 0,5>
      pigment{White}
      finish {ambient rgb <.2,.2,.2> }

      }

object {B rotate <   0    ,0,0>   // translate <0,0,5-25*CClock>
}


