三维场景¶
限定名称: manim.scene.three\_d\_scene.ThreeDScene
- class ThreeDScene(camera_class=<class 'manim.camera.three_d_camera.ThreeDCamera'>, ambient_camera_rotation=None, default_angled_camera_orientation_kwargs=None, **kwargs)[source]¶
基础:
场景这是一个场景,具有特殊的配置和属性,使其适合三维场景。
方法
此方法用于防止相机移动时物体的旋转和移动。
此方法用于防止相机移动时物体的旋转和倾斜。
此方法围绕当前相机方向创建3D相机旋转的错觉。
此方法开始沿Z轴逆时针方向进行相机的环境旋转
此方法返回场景中所有正在移动的Mobjects的列表,这些Mobjects也在传递的动画中。
此方法将相机的移动动画到给定的球面坐标。
此方法撤销了add_fixed_in_frame_mobjects所做的操作。
此方法“解除”了传递的mobjects的方向固定,意味着它们将不再相对于相机保持相同的角度。
此方法设置场景中摄像机的方向。
此方法将default_angled_camera_orientation设置为传递的关键字参数,并将相机设置为该方向。
此方法停止所有幻象相机旋转。
此方法停止所有环境相机的旋转。
属性
camera- add_fixed_in_frame_mobjects(*mobjects)[来源]¶
此方法用于防止在摄像机移动时物体的旋转和移动。物体基本上是被覆盖的,不会受到摄像机移动的任何影响。
- Parameters:
*mobjects (Mobject) – 必须固定方向的Mobjects。
- add_fixed_orientation_mobjects(*mobjects, **kwargs)[source]¶
此方法用于防止相机移动时物体的旋转和倾斜。物体仍然可以在x、y、z方向上移动,但将始终保持通过此方法时的角度(相对于相机)。
- Parameters:
*mobjects (Mobject) – 必须固定方向的Mobject(s)。
**kwargs –
- 一些有效的kwargs是
use_static_center_func : bool center_func : function
- begin_3dillusion_camera_rotation(rate=1, origin_phi=None, origin_theta=None)[source]¶
此方法围绕当前相机方向创建3D相机旋转效果。
- Parameters:
rate (float) – 相机旋转错觉应运行的速率。
origin_phi (float | None) – 相机应围绕的极角。默认为当前的phi角度。
origin_theta (float | None) – 相机应围绕的方位角。默认为当前theta角度。
- begin_ambient_camera_rotation(rate=0.02, about='theta')[来源]¶
此方法开始围绕Z轴以逆时针方向进行相机的环境旋转
- Parameters:
rate (float) – 相机绕Z轴旋转的速率。 负速率表示顺时针旋转。
关于 (str) – 三个选项之一: [“theta”, “phi”, “gamma”]. 默认为 theta.
- get_moving_mobjects(*animations)[source]¶
此方法返回场景中所有正在移动的Mobject列表,这些Mobject也在传递的动画中。
- Parameters:
*animations (动画) – 将检查其mobjects的动画。
- move_camera(phi=None, theta=None, gamma=None, zoom=None, focal_distance=None, frame_center=None, added_anims=[], **kwargs)[来源]¶
此方法将相机的移动动画到给定的球面坐标。
- Parameters:
phi (float | None) – 极角,即Z轴与通过原点的相机之间的角度,以弧度表示。
theta (float | None) – 方位角,即围绕Z轴旋转摄像机的角度。
focal_distance (float | None) – 原点与相机之间的径向焦距。
gamma (float | None) – 相机围绕从原点指向相机的向量的旋转。
zoom (float | None) – 相机的缩放因子。
frame_center (Mobject | Sequence[float] | None) – 相机框架的新中心,以笛卡尔坐标表示。
added_anims (Iterable[动画]) – 同时播放的任何其他动画。
- remove_fixed_in_frame_mobjects(*mobjects)[source]¶
此方法撤销了add_fixed_in_frame_mobjects所做的操作。 它允许mobject受到相机移动的影响。
- Parameters:
*mobjects (Mobject) – 必须解除位置和方向固定的Mobjects。
- remove_fixed_orientation_mobjects(*mobjects)[source]¶
此方法“取消固定”传递的mobjects的方向,意味着它们将不再相对于相机保持相同的角度。这只有在mobject首先通过add_fixed_orientation_mobjects传递时才有意义。
- Parameters:
*mobjects (Mobject) – 必须解除其方向的Mobjects。
- set_camera_orientation(phi=None, theta=None, gamma=None, zoom=None, focal_distance=None, frame_center=None, **kwargs)[来源]¶
此方法设置场景中摄像机的方向。
- Parameters:
phi (float | None) – 极角,即Z轴与通过原点的相机之间的角度,以弧度表示。
theta (float | None) – 方位角,即围绕Z轴旋转摄像机的角度。
focal_distance (float | None) – 相机的焦距。
gamma (float | None) – 相机围绕从原点指向相机的向量的旋转角度。
zoom (float | None) – 场景的缩放因子。
frame_center (Mobject | Sequence[float] | None) – 相机框架的新中心,以笛卡尔坐标表示。