Esempio n. 1
0
 def get_coordinate_labels(self, *numbers):
     result = VGroup()
     nudge = 0.1 * (DOWN + RIGHT)
     if len(numbers) == 0:
         numbers = range(-int(self.x_radius), int(self.x_radius) + 1)
         numbers += [
             complex(0, y) for y in range(-int(self.y_radius),
                                          int(self.y_radius) + 1)
         ]
     for number in numbers:
         point = self.number_to_point(number)
         num_str = str(number).replace("j", "i")
         if num_str.startswith("0"):
             num_str = "0"
         elif num_str in ["1i", "-1i"]:
             num_str = num_str.replace("1", "")
         num_mob = TexMobject(num_str)
         num_mob.add_background_rectangle()
         num_mob.scale(self.number_scale_factor)
         if complex(number).imag != 0:
             vect = DOWN + RIGHT
         else:
             vect = DOWN + RIGHT
         num_mob.next_to(point, vect, SMALL_BUFF)
         result.add(num_mob)
     return result
Esempio n. 2
0
    def get_coordinate_labels(self, *numbers):
        # TODO: Should merge this with the code from NumberPlane.get_coordinate_labels

        result = VGroup()
        nudge = 0.1*(DOWN+RIGHT)
        if len(numbers) == 0:
            numbers = range(-int(self.x_radius), int(self.x_radius)+1)
            numbers += [
                complex(0, y)
                for y in range(-int(self.y_radius), int(self.y_radius)+1)
            ]
        for number in numbers:
            if number == complex(0, 0):
                continue
            point = self.number_to_point(number)
            num_str = str(number).replace("j", "i")
            if num_str.startswith("0"):
                num_str = "0"
            elif num_str in ["1i", "-1i"]:
                num_str = num_str.replace("1", "")
            num_mob = TexMobject(num_str)
            num_mob.add_background_rectangle()
            num_mob.scale_to_fit_height(self.written_coordinate_height)
            num_mob.next_to(point, DOWN+LEFT, SMALL_BUFF)
            result.add(num_mob)
        self.coordinate_labels = result
        return result
Esempio n. 3
0
 def get_coordinate_labels(self, *numbers):
     result = VGroup()
     nudge = 0.1*(DOWN+RIGHT)
     if len(numbers) == 0:
         numbers = range(-int(self.x_radius), int(self.x_radius))
         numbers += [
             complex(0, y)
             for y in range(-int(self.y_radius), int(self.y_radius))
         ]
     for number in numbers:
         point = self.number_to_point(number)
         if number == 0:
             num_str = "0"
         else:
             num_str = str(number).replace("j", "i")
         num = TexMobject(num_str)
         num.scale(self.number_scale_factor)
         num.shift(point-num.get_corner(UP+LEFT)+nudge)
         result.add(num)
     return result