ThreeDScene

限定名称: 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]

基类: Scene

这是一个场景,具有特殊的配置和属性,使其适用于三维场景。

方法

add_fixed_in_frame_mobjects

此方法用于防止mobject在相机移动时旋转和移动。

add_fixed_orientation_mobjects

此方法用于防止mobject在相机移动时旋转和倾斜。

begin_3dillusion_camera_rotation

此方法在当前相机方向周围创建三维相机旋转幻觉。

begin_ambient_camera_rotation

此方法开始相机绕Z轴逆时针的环境旋转

get_moving_mobjects

此方法返回场景中所有正在移动的Mobject列表,这些Mobject也包含在传入的动画中。

move_camera

此方法将相机移动到给定球坐标并生成动画。

remove_fixed_in_frame_mobjects

此方法撤销add_fixed_in_frame_mobjects所做的操作。

remove_fixed_orientation_mobjects

此方法“取消固定”传入的mobject的方向,这意味着它们将不再与相机保持相同的相对角度。

set_camera_orientation

此方法设置场景中相机的方向。

set_to_default_angled_camera_orientation

此方法将default_angled_camera_orientation设置为传入的关键字参数,并将相机设置为该方向。

stop_3dillusion_camera_rotation

此方法停止所有幻觉相机旋转。

stop_ambient_camera_rotation

此方法停止所有环境相机旋转。

属性

相机

时间

场景开始以来的时间。

add_fixed_in_frame_mobjects(*mobjects)[source]

此方法用于防止mobject在相机移动时旋转和移动。mobject本质上是叠加的,不受相机移动的任何影响。

参数:

*mobjects (Mobject) – 必须固定方向的Mobject。

add_fixed_orientation_mobjects(*mobjects, **kwargs)[source]

此方法用于防止mobject在相机移动时旋转和倾斜。mobject仍然可以在x、y、z方向上移动,但其相对于相机的角度将始终保持在通过此方法时所处的角度。

参数:
  • *mobjects (Mobject) – 必须固定方向的Mobject。

  • **kwargs

    一些有效的关键字参数包括

    use_static_center_func : bool center_func : function

begin_3dillusion_camera_rotation(rate=1, origin_phi=None, origin_theta=None)[source]

此方法在当前相机方向周围创建三维相机旋转幻觉。

参数:
  • rate (float) – 相机旋转幻觉应运行的速率。

  • origin_phi (float | None) – 相机应围绕的极角。默认为当前的phi角。

  • origin_theta (float | None) – 相机应围绕的方位角。默认为当前的theta角。

begin_ambient_camera_rotation(rate=0.02, about='theta')[source]

此方法开始相机绕Z轴逆时针的环境旋转

参数:
  • rate (float) – 相机绕Z轴旋转的速率。负速率表示顺时针旋转。

  • about (str) – 三个选项之一:[“theta”, “phi”, “gamma”]。默认为theta。

get_moving_mobjects(*animations)[source]

此方法返回场景中所有正在移动的Mobject列表,这些Mobject也包含在传入的动画中。

参数:

*animations (Animation) – 将被检查其mobject的动画。

move_camera(phi=None, theta=None, gamma=None, zoom=None, focal_distance=None, frame_center=None, added_anims=[], **kwargs)[source]

此方法将相机移动到给定球坐标并生成动画。

参数:
  • 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[Animation]) – 同时播放的任何其他动画。

remove_fixed_in_frame_mobjects(*mobjects)[source]

此方法撤销add_fixed_in_frame_mobjects所做的操作。它允许mobject受相机移动的影响。

参数:

*mobjects (Mobject) – 必须取消固定位置和方向的Mobject。

remove_fixed_orientation_mobjects(*mobjects)[source]

此方法“取消固定”传入的mobject的方向,这意味着它们将不再与相机保持相同的相对角度。这仅在mobject首先通过add_fixed_orientation_mobjects处理后才有意义。

参数:

*mobjects (Mobject) – 必须取消固定方向的Mobject。

set_camera_orientation(phi=None, theta=None, gamma=None, zoom=None, focal_distance=None, frame_center=None, **kwargs)[source]

此方法设置场景中相机的方向。

参数:
  • phi (float | None) – 极角,即Z轴与相机通过原点之间的角度(以弧度表示)。

  • theta (float | None) – 方位角,即相机绕Z轴旋转的角度。

  • focal_distance (float | None) – 相机的焦距。

  • gamma (float | None) – 相机绕从原点到相机的向量的旋转。

  • zoom (float | None) – 场景的缩放因子。

  • frame_center (Mobject | Sequence[float] | None) – 相机帧在笛卡尔坐标系中的新中心。

set_to_default_angled_camera_orientation(**kwargs)[source]

此方法将default_angled_camera_orientation设置为传入的关键字参数,并将相机设置为该方向。

参数:

**kwargs – 一些可识别的关键字参数包括phi、theta、focal_distance、gamma,它们与set_camera_orientation中的参数具有相同的含义。

stop_3dillusion_camera_rotation()[source]

此方法停止所有幻觉相机旋转。

stop_ambient_camera_rotation(about='theta')[source]

此方法停止所有环境相机旋转。