mirror of
https://github.com/3b1b/manim.git
synced 2025-08-05 16:49:03 +00:00
Add CameraFrame.reorient for quicker changes to frame angle
This commit is contained in:
parent
df657c06c2
commit
322f138490
1 changed files with 12 additions and 4 deletions
|
@ -77,16 +77,24 @@ class CameraFrame(Mobject):
|
||||||
self.set_euler_angles(theta, phi, gamma)
|
self.set_euler_angles(theta, phi, gamma)
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def set_euler_angles(self, theta=None, phi=None, gamma=None):
|
def set_euler_angles(self, theta=None, phi=None, gamma=None, units=RADIANS):
|
||||||
if theta is not None:
|
if theta is not None:
|
||||||
self.data["euler_angles"][0] = theta
|
self.data["euler_angles"][0] = theta * units
|
||||||
if phi is not None:
|
if phi is not None:
|
||||||
self.data["euler_angles"][1] = phi
|
self.data["euler_angles"][1] = phi * units
|
||||||
if gamma is not None:
|
if gamma is not None:
|
||||||
self.data["euler_angles"][2] = gamma
|
self.data["euler_angles"][2] = gamma * units
|
||||||
self.refresh_rotation_matrix()
|
self.refresh_rotation_matrix()
|
||||||
return self
|
return self
|
||||||
|
|
||||||
|
def reorient(self, theta_degrees=None, phi_degrees=None, gamma_degrees=None):
|
||||||
|
"""
|
||||||
|
Shortcut for set_euler_angles, defaulting to taking
|
||||||
|
in angles in degrees
|
||||||
|
"""
|
||||||
|
self.set_euler_angles(theta_degrees, phi_degrees, gamma_degrees, units=DEGREES)
|
||||||
|
return self
|
||||||
|
|
||||||
def set_theta(self, theta):
|
def set_theta(self, theta):
|
||||||
return self.set_euler_angles(theta=theta)
|
return self.set_euler_angles(theta=theta)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue