diff --git a/manimlib/mobject/geometry.py b/manimlib/mobject/geometry.py index f0604412..6eebf6b4 100644 --- a/manimlib/mobject/geometry.py +++ b/manimlib/mobject/geometry.py @@ -636,6 +636,10 @@ class Arrow(Line): super().scale(length / self.get_length()) self.rotate(angle_of_vector(vect) - self.get_angle()) + self.rotate( + PI / 2 - np.arccos(normalize(vect)[2]), + axis=rotate_vector(self.get_unit_vector(), -PI / 2), + ) self.shift(start - self.get_start()) self.refresh_triangulation() diff --git a/manimlib/mobject/number_line.py b/manimlib/mobject/number_line.py index bd475215..ed6a1ede 100644 --- a/manimlib/mobject/number_line.py +++ b/manimlib/mobject/number_line.py @@ -57,6 +57,7 @@ class NumberLine(Line): super().__init__(self.x_min * RIGHT, self.x_max * RIGHT, **kwargs) if self.width: self.set_width(self.width) + self.unit_size = self.get_unit_size() else: self.scale(self.unit_size) self.center() @@ -123,7 +124,7 @@ class NumberLine(Line): return self.point_to_number(point) def get_unit_size(self): - return (self.x_max - self.x_min) / self.get_length() + return self.get_length() / (self.x_max - self.x_min) def get_number_mobject(self, x, number_config=None,