def show_product(self):
    rect = Rectangle(stroke_width=0, fill_color=DISTANCE_COLOR, fill_opacity=0.5)
    rect.replace(VGroup(self.graph, VectorizedPoint(self.graph_origin)), stretch=True)
    right_brace = Brace(rect, RIGHT)
    top_brace = Brace(rect, UP)
    v_label = right_brace.get_text('$10 \\frac{\\text{meters}}{\\text{second}}$')
    v_label.set_color(VELOCITY_COLOR)
    t_label = top_brace.get_text('8 seconds')
    t_label.set_color(TIME_COLOR)
    s_label = TexMobject('10', '\\times', '8', '\\text{ meters}')
    s_label.set_color_by_tex('10', VELOCITY_COLOR)
    s_label.set_color_by_tex('8', TIME_COLOR)
    s_label.move_to(rect)
    self.play(GrowFromCenter(right_brace), Write(v_label))
    self.play(GrowFromCenter(top_brace), Write(t_label))
    self.play(FadeIn(rect), Write(s_label), Animation(self.graph))
    self.wait(2)
    self.area_rect = rect
    self.s_label = s_label
def show_product(self):
    rect = Rectangle(stroke_width=0, fill_color=DISTANCE_COLOR, fill_opacity=0.5)
    rect.replace(VGroup(self.graph, VectorizedPoint(self.graph_origin)), stretch=True)
    right_brace = Brace(rect, RIGHT)
    top_brace = Brace(rect, UP)
    v_label = right_brace.get_text('$10 \\frac{\\text{meters}}{\\text{second}}$')
    v_label.set_color(VELOCITY_COLOR)
    t_label = top_brace.get_text('8 seconds')
    t_label.set_color(TIME_COLOR)
    s_label = TexMobject('10', '\\times', '8', '\\text{ meters}')
    s_label.set_color_by_tex('10', VELOCITY_COLOR)
    s_label.set_color_by_tex('8', TIME_COLOR)
    s_label.move_to(rect)
    self.play(GrowFromCenter(right_brace), Write(v_label))
    self.play(GrowFromCenter(top_brace), Write(t_label))
    self.play(FadeIn(rect), Write(s_label), Animation(self.graph))
    self.wait(2)
    self.area_rect = rect
    self.s_label = s_label