def first_part(self):
    (four_t_squared, two_t) = self.get_functions('4t^2', '2t')
    four = four_t_squared[0]
    four.shift(UP)
    four.set_fill(opacity=0)
    t_squared = VGroup(*four_t_squared[1:])
    two_t.move_to(self.v_part1, LEFT)
    self.play(self.v_part2.to_corner, (UP + RIGHT))
    self.play(self.pi_creature.change, 'plain', self.v_part1)
    self.play(ApplyWave(self.q_marks, direction=UP, amplitude=SMALL_BUFF))
    self.wait(2)
    self.play(FadeOut(self.q_marks), FadeIn(t_squared), self.v_part1.shift, (DOWN + RIGHT))
    self.play(*[ReplacementTransform(t_squared[i].copy(), two_t[(1 - i)], run_time=2, path_arc=((- np.pi) / 6.0)) for i in (0, 1)])
    self.change_mode('thinking')
    self.wait()
    self.play(four.set_fill, YELLOW, 1)
    self.play(four.shift, DOWN)
    self.play(FadeOut(two_t))
    self.play(self.v_part1.restore)
    self.play(four.set_color, DISTANCE_COLOR)
    self.wait(2)
    self.s_part1 = four_t_squared
def first_part(self):
    (four_t_squared, two_t) = self.get_functions('4t^2', '2t')
    four = four_t_squared[0]
    four.shift(UP)
    four.set_fill(opacity=0)
    t_squared = VGroup(*four_t_squared[1:])
    two_t.move_to(self.v_part1, LEFT)
    self.play(self.v_part2.to_corner, (UP + RIGHT))
    self.play(self.pi_creature.change, 'plain', self.v_part1)
    self.play(ApplyWave(self.q_marks, direction=UP, amplitude=SMALL_BUFF))
    self.wait(2)
    self.play(FadeOut(self.q_marks), FadeIn(t_squared), self.v_part1.shift, (DOWN + RIGHT))
    self.play(*[ReplacementTransform(t_squared[i].copy(), two_t[(1 - i)], run_time=2, path_arc=((- np.pi) / 6.0)) for i in (0, 1)])
    self.change_mode('thinking')
    self.wait()
    self.play(four.set_fill, YELLOW, 1)
    self.play(four.shift, DOWN)
    self.play(FadeOut(two_t))
    self.play(self.v_part1.restore)
    self.play(four.set_color, DISTANCE_COLOR)
    self.wait(2)
    self.s_part1 = four_t_squared