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
这是一个场景,具有特殊的配置和属性,使其适用于三维场景。
方法
此方法用于防止mobject在相机移动时旋转和移动。
此方法用于防止mobject在相机移动时旋转和倾斜。
此方法在当前相机方向周围创建三维相机旋转幻觉。
此方法开始相机绕Z轴逆时针的环境旋转
此方法返回场景中所有正在移动的Mobject列表,这些Mobject也包含在传入的动画中。
此方法将相机移动到给定球坐标并生成动画。
此方法撤销add_fixed_in_frame_mobjects所做的操作。
此方法“取消固定”传入的mobject的方向,这意味着它们将不再与相机保持相同的相对角度。
此方法设置场景中相机的方向。
此方法将default_angled_camera_orientation设置为传入的关键字参数,并将相机设置为该方向。
此方法停止所有幻觉相机旋转。
此方法停止所有环境相机旋转。
属性
相机
时间
场景开始以来的时间。
- 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) – 相机帧在笛卡尔坐标系中的新中心。