Esempio n. 1
0
    def __init__(self, **kwargs):
        digest_config(self, kwargs)
        start = self.unit_size * self.x_min * RIGHT
        end = self.unit_size * self.x_max * RIGHT
        Line.__init__(self, start, end, **kwargs)
        self.shift(-self.number_to_point(self.number_at_center))

        self.init_leftmost_tick()
        if self.include_tip:
            self.add_tip()
        if self.include_ticks:
            self.add_tick_marks()
        if self.include_numbers:
            self.add_numbers()
Esempio n. 2
0
    def __init__(self, **kwargs):
        digest_config(self, kwargs)
        start = self.unit_size * self.x_min * RIGHT
        end = self.unit_size * self.x_max * RIGHT
        Line.__init__(self, start, end, **kwargs)
        self.shift(-self.number_to_point(self.number_at_center))

        self.init_leftmost_tick()
        if self.include_tip:
            self.add_tip()
        if self.include_ticks:
            self.add_tick_marks()
        if self.include_numbers:
            self.add_numbers()
Esempio n. 3
0
    def __init__(self, **kwargs):
        if not hasattr(self, "args"):
            self.args = serialize_args([])
        if not hasattr(self, "config"):
            self.config = serialize_config({
                **kwargs,
            })
        digest_config(self, kwargs)
        start = self.unit_size * self.x_min * RIGHT
        end = self.unit_size * self.x_max * RIGHT
        Line.__init__(self, start, end, **kwargs)
        self.shift(-self.number_to_point(self.number_at_center))

        self.init_leftmost_tick()
        if self.include_tip:
            self.add_tip()
        if self.include_ticks:
            self.add_tick_marks()
        if self.include_numbers:
            self.add_numbers()
Esempio n. 4
0
    def __init__(self, *args, **kwargs):
        self.normal_vector = OUT
        digest_config(self, kwargs)
        self.start = LEFT
        self.end = RIGHT
        args = list(args)
        for i in range(len(args)):
            if isinstance(args[i], (Mobject, VMobject)):
                args[i] = list(args[i].get_center())
        if len(args) == 2:
            try:
                isinstance(args[0], (list))
            except:
                try:
                    isinstance(args[0], (int, float))
                except:
                    raise Exception("Not Supported")

            else:
                try:
                    isinstance(args[1], (list, tuple))
                except:
                    raise Exception(
                        "not form of two points or point displacement")
                else:
                    if isinstance(args[1], (list,np.ndarray)):
                        self.start, self.end = args
                        
                    if isinstance(args[1], (tuple)):
                        self.start, self.end = args[0], np.sum(
                            args, 0)
        elif len(args) == 3:
            try:
                isinstance(args[0], (list))
            except:
                raise Exception("args[0]!=point")
            else:
                try:
                    isinstance(args[1], (int, float, list, tuple)) and isinstance(
                        args[2], (int, float))
                except:
                    raise Exception(
                        "not form of point slope length or point direction length")
                else:
                    if (isinstance(args[1], (int, float)) and isinstance(args[2], (int, float))):
                        hypotenuse = (1.+args[1]**2.)**0.5

                        self.start, self.end = args[0], args[0]+args[2]*np.array(
                            [1/hypotenuse, args[1]/hypotenuse, 0])

                    if isinstance(args[1], (list)):
                        direction = 1
                        for each in args[1]:
                            direction -= each**2
                        direction = args[1]+[0, direction, 0][len(args[1]):]
                        self.start, self.end = args[0], args[0] + \
                            args[2]*np.array(direction)
                    if isinstance(args[1], (tuple)):
                        self.start, self.end = args[0], args[0] + \
                            np.multiply(args[1], args[2]/get_norm(args[1]))
        Line.__init__(self, self.start, self.end, **kwargs)