 #include "colors.inc"
 #include "stones.inc"
  #include "woods.inc"
    #include "textures.inc"
 global_settings {
   assumed_gamma 1.5
   noise_generator 2
    charset utf8
}
  camera {
    location <5, 3, -10>
    look_at 0
    #if (clock<0)
    angle 70-35*(clock+1)
    #end
    #if (clock>=0)
    angle 35
    #end
  }  
  light_source { <-500,500,-1000> White }
  light_source { <500,-500,-1000> White }
  light_source { <-500,-500,-1000> White }
  light_source { <500,500,-1000> White }
  

background { color rgb<0.5,0.5,1> }   
  #declare Steinmetz=intersection
  {cylinder{<-2,0,0><2,0,0>2
  texture{ pigment{ color rgb<1,0,0>}
           finish { phong 1 }
  }}  
   cylinder{<0,0,-2><0,0,2>2
  texture{ pigment{ color rgb<0,1,0>}
           finish { phong 1 }
  }}
  }
  
  #declare rulpidon=
  difference
  {
  object{Steinmetz
  } 
  union
  { 
  cylinder{<-2,0,0><2,0,0>1.001-sqrt(abs(clock-1))
  texture{ pigment{ color rgb<1,1,0>}
           finish { phong 1 }
  }}  
  cylinder{<0,0,-2><0,0,2>1.001-sqrt(abs(clock-1))
  texture{ pigment{ color rgb<0,0,1>}
           finish { phong 1 }
  }}}  
  
  }  
 
 
  #if (clock>=0)
  object{rulpidon rotate -360*clock*y}
  #end
  #if (clock<0)
  object{Steinmetz
  rotate -360*clock*y
  }
  difference
  {
  cylinder{<-4,0,0><4,0,0>2 }
  box{<-5,-2-5*clock,-2>,<5,3,2>}  
  texture{ pigment{ color rgb<0,1,0>}           
  }rotate -360*clock*y} 
  difference
  { 
   cylinder{<0,0,-4><0,0,4>2} 
   box{<-2,-2-5*clock,-5>,<2,3,5>}  
  texture{ pigment{ color rgb<1,0,0>}
  }rotate -360*clock*y}
  #end
  

      

     
  
                   

     
 
