def update_group(group, alpha):
    (dot, arrow, words) = group
    prop = interpolate(self.min_graph_proportion, self.max_graph_proportion, alpha)
    graph_point = self.v_graph.point_from_proportion(prop)
    dot.move_to(graph_point)
    x_val = self.x_axis.point_to_number(graph_point)
    angle = self.angle_of_tangent(x_val, self.v_graph)
    angle += (np.pi / 2)
    vect = rotate_vector(RIGHT, angle)
    arrow.rotate(((angle - arrow.get_angle()) + np.pi))
    arrow.shift(((graph_point + (MED_SMALL_BUFF * vect)) - arrow.get_end()))
    words.next_to(arrow.get_start(), UP)
    return group
def update_group(group, alpha):
    (dot, arrow, words) = group
    prop = interpolate(self.min_graph_proportion, self.max_graph_proportion, alpha)
    graph_point = self.v_graph.point_from_proportion(prop)
    dot.move_to(graph_point)
    x_val = self.x_axis.point_to_number(graph_point)
    angle = self.angle_of_tangent(x_val, self.v_graph)
    angle += (np.pi / 2)
    vect = rotate_vector(RIGHT, angle)
    arrow.rotate(((angle - arrow.get_angle()) + np.pi))
    arrow.shift(((graph_point + (MED_SMALL_BUFF * vect)) - arrow.get_end()))
    words.next_to(arrow.get_start(), UP)
    return group