From a0ba9c8b30dd3dd1eeb9e3af45d9b8bd0d7e24bb Mon Sep 17 00:00:00 2001 From: Grant Sanderson Date: Tue, 29 Mar 2022 19:21:12 -0700 Subject: [PATCH] Fix CameraFrame.get_euler_angles to match conventions with set_euler_angles --- manimlib/camera/camera.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/manimlib/camera/camera.py b/manimlib/camera/camera.py index 647f28a9..47b9b073 100644 --- a/manimlib/camera/camera.py +++ b/manimlib/camera/camera.py @@ -56,7 +56,7 @@ class CameraFrame(Mobject): return self def get_euler_angles(self): - return self.get_orientation().as_euler("xzy") + return self.get_orientation().as_euler("zxz")[::-1] def get_inverse_camera_rotation_matrix(self): return self.get_orientation().as_matrix().T @@ -73,11 +73,11 @@ class CameraFrame(Mobject): gamma: float | None = None, units: float = RADIANS ): - eulers = self.get_euler_angles() # phi, theta, gamma - for i, var in enumerate([phi, theta, gamma]): + eulers = self.get_euler_angles() # theta, phi, gamma + for i, var in enumerate([theta, phi, gamma]): if var is not None: eulers[i] = var * units - self.set_orientation(Rotation.from_euler('xzy', eulers)) + self.set_orientation(Rotation.from_euler("zxz", eulers[::-1])) return self def reorient(