From e939e1de0942cbe7bb721daf5f7a8308d699281b Mon Sep 17 00:00:00 2001 From: Grant Sanderson Date: Fri, 23 Aug 2024 13:56:08 -0500 Subject: [PATCH] Tweak the correction for angle_diffs in get_joint_angles --- manimlib/mobject/types/vectorized_mobject.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/manimlib/mobject/types/vectorized_mobject.py b/manimlib/mobject/types/vectorized_mobject.py index b61ce84f..4b27e27f 100644 --- a/manimlib/mobject/types/vectorized_mobject.py +++ b/manimlib/mobject/types/vectorized_mobject.py @@ -1221,7 +1221,9 @@ class VMobject(Mobject): angles_in = np.arctan2(v_in[:, 1], v_in[:, 0]) angles_out = np.arctan2(v_out[:, 1], v_out[:, 0]) angle_diffs = angles_out - angles_in - self.data["joint_angle"][:, 0] = (angle_diffs + PI) % TAU - PI + angle_diffs[angle_diffs < -PI] += TAU + angle_diffs[angle_diffs > PI] -= TAU + self.data["joint_angle"][:, 0] = angle_diffs return self.data["joint_angle"][:, 0] def lock_matching_data(self, vmobject1: VMobject, vmobject2: VMobject) -> Self: