def construct(self):
    functions = self.get_functions('t^2', '2t')
    alt_functions = self.get_functions('???', 't(8-t)')
    (top_arc, bottom_arc) = arcs = self.get_arcs(functions)
    (derivative, antiderivative) = self.get_arc_labels(arcs)
    group = VGroup(functions, arcs, derivative, antiderivative)
    self.add(functions, top_arc, derivative)
    self.wait()
    self.play(ShowCreation(bottom_arc), Write(antiderivative), self.pi_creature.change_mode, 'raise_right_hand')
    self.wait(2)
    for pair in reversed(list(zip(functions, alt_functions))):
        self.play(Transform(*pair), self.pi_creature.change_mode, 'pondering')
    self.wait(2)
    self.pi_creature_says('But first!', target_mode='surprised', look_at_arg=(50 * OUT), added_anims=[group.to_edge, LEFT], run_time=1)
    self.wait()
def construct(self):
    functions = self.get_functions('t^2', '2t')
    alt_functions = self.get_functions('???', 't(8-t)')
    (top_arc, bottom_arc) = arcs = self.get_arcs(functions)
    (derivative, antiderivative) = self.get_arc_labels(arcs)
    group = VGroup(functions, arcs, derivative, antiderivative)
    self.add(functions, top_arc, derivative)
    self.wait()
    self.play(ShowCreation(bottom_arc), Write(antiderivative), self.pi_creature.change_mode, 'raise_right_hand')
    self.wait(2)
    for pair in reversed(list(zip(functions, alt_functions))):
        self.play(Transform(*pair), self.pi_creature.change_mode, 'pondering')
    self.wait(2)
    self.pi_creature_says('But first!', target_mode='surprised', look_at_arg=(50 * OUT), added_anims=[group.to_edge, LEFT], run_time=1)
    self.wait()