Example #1
0
 def fade_to(self, color, alpha, family=True):
     if self.get_num_points() > 0:
         new_color = interpolate_color(self.get_color(), color, alpha)
         self.set_color(new_color, family=False)
     if family:
         for submob in self.submobjects:
             submob.fade_to(color, alpha)
     return self
Example #2
0
 def fade_to(self, color, alpha, family=True):
     if self.get_num_points() > 0:
         new_color = interpolate_color(
             self.get_color(), color, alpha
         )
         self.set_color(new_color, family=False)
     if family:
         for submob in self.submobjects:
             submob.fade_to(color, alpha)
     return self
Example #3
0
    def set_submobject_colors_by_radial_gradient(self, center=None, radius=1, inner_color=WHITE, outer_color=BLACK):
        if center is None:
            center = self.get_center()

        for mob in self.family_members_with_points():
            t = get_norm(mob.get_center() - center) / radius
            t = min(t, 1)
            mob_color = interpolate_color(inner_color, outer_color, t)
            mob.set_color(mob_color, family=False)

        return self
Example #4
0
    def set_submobject_colors_by_radial_gradient(self, center=None, radius=1, inner_color=WHITE, outer_color=BLACK):
        if center is None:
            center = self.get_center()

        for mob in self.family_members_with_points():
            t = get_norm(mob.get_center() - center) / radius
            t = min(t, 1)
            mob_color = interpolate_color(inner_color, outer_color, t)
            mob.set_color(mob_color, family=False)

        return self
Example #5
0
 def return_updater(mob, alpha):
     dx = interpolate(-PI / 2, PI / 2, alpha)
     mob.become(mob.init_state)
     mob.set_width(rectangle_width * np.cos(dx), stretch=True)
     # dx should not be zero
     sign = -abs(dx) / (dx + 0.00000000001)
     direction = LEFT * sign
     reference_line = Line(
         rectangle.init_state.get_corner(UP + direction),
         rectangle.init_state.get_corner(DOWN + direction))
     mob.next_to(reference_line, -direction, buff=0)
     opacity = self.init_opacity + (self.max_opacity -
                                    self.init_opacity) * np.cos(dx)
     mob.set_style(fill_opacity=opacity)
     mob.set_color(
         interpolate_color(self.rectangle_kwargs["color"], midle_color,
                           np.cos(dx)))