title: Manim: How to update function with defined time interval
body: <p>I am currently learning manim and I am trying to replicate 3b1b's fourier drawing animations. (<a href="https://www.youtube.com/watch?v=-qgreAUpPwM" rel="nofollow noreferrer">https://www.youtube.com/watch?v=-qgreAUpPwM</a>)
  I've got everything set up and the basics of the animation is working. The only problem I've got is, that it doesnt draw the wanted figure. I am currently using valuetracker to update the function. To get the animation right, I think i need to have a constant "dt" between each updating, but I don't know how to implement that. I am not sure if valuetracker is the right way to do it. I've tried the using "dt" like in Theorem of Beethoven tutotial 8.3 (<a href="https://www.youtube.com/watch?v=J6qT8YZQeOw&amp;t=506s" rel="nofollow noreferrer">https://www.youtube.com/watch?v=J6qT8YZQeOw&amp;t=506s</a>). Wasn't able to make it work like that though. </p>
  
  <p>Here is the code that updates all mobjects in the animation:</p>
  
  <pre><code>    def update_fct(c):  # Updating mobject
          for k in range(len(c)):
              c[k].become(c[k].start)
              for j in range(k):  # nth Circles rotates around all circles before
                  c[k].rotate(TAU * values[j, 2] * alpha.get_value(), about_point=c[j].get_center())
  
              dots[k].move_to(circles[k].points[0])  # move dots to new position
  
              if k == N - 1:  # Only track path of last dot
                  old_path = paths[k].copy()
                  old_path.append_vectorized_mobject(Line(old_path.points[-1], dots[k].get_center()))
                  old_path.make_smooth()
                  paths[k].become(old_path)
  
              lines[k].put_start_and_end_on(circles[k].get_center(), dots[k].get_center())  # Update Arrow
  
      circles.add_updater(update_fct)
  
      self.add(circles,lines,paths[N-1])  # Only add circles, arrows and last path
      self.play(
          alpha.set_value, 1,
          rate_func=linear,
          run_time=10
      )
      circles.clear_updaters()
  </code></pre>