From bc91e91634ca10ffae8458e2935ffa9f23b96ade Mon Sep 17 00:00:00 2001 From: Grant Sanderson Date: Wed, 7 Aug 2024 14:11:10 -0500 Subject: [PATCH] In get_euler_angles, add edge case for gimbal lock on the low side --- manimlib/camera/camera_frame.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/manimlib/camera/camera_frame.py b/manimlib/camera/camera_frame.py index 40dd06eb..78a7d095 100644 --- a/manimlib/camera/camera_frame.py +++ b/manimlib/camera/camera_frame.py @@ -74,6 +74,9 @@ class CameraFrame(Mobject): if np.isclose(angles[1], 0, atol=1e-2): angles[0] = angles[0] + angles[2] angles[2] = 0 + if np.isclose(angles[1], PI, atol=1e-2): + angles[0] = angles[0] - angles[2] + angles[2] = 0 return angles def get_theta(self):