三维场景

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

基础:场景

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

方法

add_fixed_in_frame_mobjects

此方法用于防止相机移动时物体的旋转和移动。

add_fixed_orientation_mobjects

此方法用于防止相机移动时物体的旋转和倾斜。

begin_3dillusion_camera_rotation

此方法围绕当前相机方向创建3D相机旋转的错觉。

begin_ambient_camera_rotation

此方法开始沿Z轴逆时针方向进行相机的环境旋转

get_moving_mobjects

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

move_camera

此方法将相机的移动动画到给定的球面坐标。

remove_fixed_in_frame_mobjects

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

remove_fixed_orientation_mobjects

此方法“解除”了传递的mobjects的方向固定,意味着它们将不再相对于相机保持相同的角度。

set_camera_orientation

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

set_to_default_angled_camera_orientation

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

stop_3dillusion_camera_rotation

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

stop_ambient_camera_rotation

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

属性

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) – 相机框架的新中心,以笛卡尔坐标表示。

set_to_default_angled_camera_orientation(**kwargs)[source]

此方法将默认的倾斜相机方向设置为传递的关键字参数,并将相机设置为该方向。

Parameters:

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

stop_3dillusion_camera_rotation()[来源]

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

stop_ambient_camera_rotation(about='theta')[source]

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