Exemple #1
0
 def __init__(self, vmobject=None, **kwargs):
     VMobject.__init__(self, **kwargs)
     if vmobject is not None:
         self.points = np.array(vmobject.points)
         self.match_style(vmobject, family=False)
         self.submobjects = [
             ThreeDVMobject(submob, **kwargs)
             for submob in vmobject.submobjects
         ]
Exemple #2
0
    def __init__(self, number, **kwargs):
        VMobject.__init__(self, **kwargs)
        self.number = number
        self.initial_config = kwargs

        if isinstance(number, complex):
            formatter = self.get_complex_formatter()
        else:
            formatter = self.get_formatter()
        num_string = formatter.format(number)

        if num_string.startswith("-") and number == 0:
            num_string = num_string[1:]

        self.add(*[
            SingleStringTexMobject(char, **kwargs)
            for char in num_string
        ])

        # Add non-numerical bits
        if self.show_ellipsis:
            self.add(SingleStringTexMobject("\\dots"))

        if num_string.startswith("-"):
            minus = self.submobjects[0]
            minus.next_to(
                self.submobjects[1], LEFT,
                buff=self.digit_to_digit_buff
            )

        if self.unit is not None:
            self.unit_sign = SingleStringTexMobject(self.unit, color=self.color)
            self.add(self.unit_sign)

        self.arrange_submobjects(
            buff=self.digit_to_digit_buff,
            aligned_edge=DOWN
        )

        # Handle alignment of parts that should be aligned
        # to the bottom
        for i, c in enumerate(num_string):
            if c == "-" and len(num_string) > i + 1:
                self[i].align_to(self[i + 1], alignment_vect=UP)
            elif c == ",":
                self[i].shift(self[i].get_height() * DOWN / 2)
        if self.unit and self.unit.startswith("^"):
            self.unit_sign.align_to(self, UP)
        #
        if self.include_background_rectangle:
            self.add_background_rectangle()
Exemple #3
0
    def __init__(self, obj, text, brace_direction=DOWN, **kwargs):
        VMobject.__init__(self, **kwargs)
        self.brace_direction = brace_direction
        if isinstance(obj, list):
            obj = VMobject(*obj)
        self.brace = Brace(obj, brace_direction, **kwargs)

        if isinstance(text, tuple) or isinstance(text, list):
            self.label = self.label_constructor(*text, **kwargs)
        else:
            self.label = self.label_constructor(str(text))
        if self.label_scale != 1:
            self.label.scale(self.label_scale)

        self.brace.put_at_tip(self.label)
        self.submobjects = [self.brace, self.label]
Exemple #4
0
 def __init__(self, matrix, **kwargs):
     """
     Matrix can either either include numbres, tex_strings,
     or mobjects
     """
     VMobject.__init__(self, **kwargs)
     matrix = np.array(matrix, ndmin=1)
     mob_matrix = self.matrix_to_mob_matrix(matrix)
     self.organize_mob_matrix(mob_matrix)
     self.elements = VGroup(*mob_matrix.flatten())
     self.add(self.elements)
     self.add_brackets()
     self.center()
     self.mob_matrix = mob_matrix
     if self.add_background_rectangles_to_entries:
         for mob in self.elements:
             mob.add_background_rectangle()
     if self.include_background_rectangle:
         self.add_background_rectangle()
Exemple #5
0
 def __init__(self, function, **kwargs):
     self.function = function
     VMobject.__init__(self, **kwargs)
Exemple #6
0
 def __init__(self, mobject, **kwargs):
     VMobject.__init__(self, **kwargs)
     self.mobject = mobject
     self.submobjects = self.get_eyes().submobjects
Exemple #7
0
 def __init__(self, **kwargs):
     VMobject.__init__(self, **kwargs)
     self.add_iris_back()
     self.add_spikes()
     self.add_pupil()
Exemple #8
0
 def __init__(self, **kwargs):
     digest_config(self, kwargs, locals())
     self.ensure_valid_file()
     VMobject.__init__(self, **kwargs)
     self.move_into_position()
Exemple #9
0
 def __init__(self, path_string, **kwargs):
     digest_locals(self)
     VMobject.__init__(self, **kwargs)