ThreeDCamera

限定名称: manim.camera.three\_d\_camera.ThreeDCamera

class ThreeDCamera(focal_distance=20.0, shading_factor=0.2, default_distance=5.0, light_source_start_point=array([-7., -9., 10.]), should_apply_shading=True, exponential_projection=False, phi=0, theta=-1.5707963267948966, gamma=0, zoom=1, **kwargs)[source]

基类: Camera

初始化 ThreeDCamera

参数:

*kwargs – 相机的任何关键字参数。

方法

add_fixed_in_frame_mobjects

此方法允许 mobject 具有固定位置,即使相机移动。

add_fixed_orientation_mobjects

此方法允许 mobject 具有固定方向,即使相机移动。

捕获Mobjects

通过将mobject打印到pixel_array上来捕获它们。

generate_rotation_matrix

根据相机的当前位置生成旋转矩阵。

获取填充RGBA值

返回传入 VMobject 填充的 RGBA 数组

get_focal_distance

返回相机的焦距(focal_distance)。

get_gamma

返回相机围绕从原点到相机的向量的旋转。

get_mobjects_to_display

用于获取要随相机显示的 mobject 列表。

get_phi

返回极角(偏离 Z_AXIS 的角度)phi。

get_rotation_matrix

返回与相机当前位置对应的矩阵。

获取描边RGBA值

获取传入 VMobject 描边的 RGBA 数组。

get_theta

返回方位角,即围绕 Z_AXIS 旋转相机的角度。

get_value_trackers

phi、theta、focal_distance、gamma 和 zoom 的 ValueTrackers 列表。

get_zoom

返回相机的缩放量。

modified_rgbas

project_point

将当前 rotation_matrix 作为投影矩阵应用于传入的点。

project_points

将当前 rotation_matrix 作为投影矩阵应用于传入的点数组。

remove_fixed_in_frame_mobjects

如果 mobject 通过 add_fixed_in_frame_mobjects() 固定在帧中,则此操作将取消该固定。

remove_fixed_orientation_mobjects

如果 mobject 通过 add_fixed_orientation_mobjects() 固定了方向,则此操作将取消该固定。

reset_rotation_matrix

将 self.rotation_matrix 的值设置为与相机当前位置对应的矩阵

set_focal_distance

设置相机的焦距(focal_distance)。

set_gamma

设置相机围绕从原点到相机的向量的旋转角度。

set_phi

设置极角,即 Z_AXIS 与相机(通过原点)之间的角度,单位为弧度。

set_theta

设置方位角,即相机围绕 Z_AXIS 旋转的角度,单位为弧度。

set_zoom

设置相机的缩放量。

transform_points_pre_display

属性

背景颜色

背景不透明度

frame_center

add_fixed_in_frame_mobjects(*mobjects)[source]

此方法允许 mobject 具有固定位置,即使相机移动。例如,如果它通过此方法在帧顶部传递,它将继续在帧顶部显示。

在显示标题或公式等时非常有用。

参数:

**mobjects (Mobject) – 要固定在帧中的 mobject。

add_fixed_orientation_mobjects(*mobjects, use_static_center_func=False, center_func=None)[source]

此方法允许 mobject 具有固定方向,即使相机移动。例如,如果它通过此方法面向相机,即使相机移动,它也会继续面向相机。在为图表添加标签等时非常有用。

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

  • use_static_center_func (bool) – 是否使用将 mobject 中心作为中心点的函数,默认为 False

  • center_func (Callable[[], ndarray] | None) – 返回 mobject 将围绕其定向的中心点的函数,默认为 None

capture_mobjects(mobjects, **kwargs)[source]

通过将mobject打印到pixel_array上来捕获它们。

这是将场景内容转换为数组,然后将数组转换为图像或视频的基本函数。

参数:

注意

有关当前可渲染的类列表,请参阅display_funcs()

generate_rotation_matrix()[source]

根据相机的当前位置生成旋转矩阵。

返回:

与相机当前位置对应的矩阵。

返回类型:

np.array

get_fill_rgbas(vmobject)[source]

返回传入 VMobject 填充的 RGBA 数组

参数:

vmobject – VMobject

返回:

VMobject 填充的 RGBA 数组

返回类型:

np.array

get_focal_distance()[source]

返回相机的焦距(focal_distance)。

返回:

相机的焦距(focal_distance),单位为 MUnits。

返回类型:

浮点数

get_gamma()[source]

返回相机围绕从原点到相机的向量的旋转。

返回:

相机围绕从原点到相机的向量的旋转角度,单位为弧度

返回类型:

浮点数

get_mobjects_to_display(*args, **kwargs)[source]

用于获取要随相机显示的 mobject 列表。

参数:
  • mobjects – Mobjects

  • include_submobjects – 是否包含 mobjects 的子对象,默认为 True

  • excluded_mobjects – 任何要排除的 mobject,默认为 None

返回:

mobject 列表

返回类型:

列表

get_phi()[source]

返回极角(偏离 Z_AXIS 的角度)phi。

返回:

极角,单位为弧度。

返回类型:

浮点数

get_rotation_matrix()[source]

返回与相机当前位置对应的矩阵。

返回:

与相机当前位置对应的矩阵。

返回类型:

np.array

get_stroke_rgbas(vmobject, background=False)[source]

获取传入 VMobject 描边的 RGBA 数组。

参数:
  • vmobject – VMobject

  • background – 获取描边 RGBA 时是否考虑背景,默认为 False

返回:

描边的 RGBA 数组。

返回类型:

np.ndarray

get_theta()[source]

返回方位角,即围绕 Z_AXIS 旋转相机的角度。

返回:

方位角,单位为弧度。

返回类型:

浮点数

get_value_trackers()[source]

phi、theta、focal_distance、gamma 和 zoom 的 ValueTrackers 列表。

返回:

ValueTracker 对象列表

返回类型:

列表

get_zoom()[source]

返回相机的缩放量。

返回:

相机的缩放量。

返回类型:

浮点数

project_point(point)[source]

将当前 rotation_matrix 作为投影矩阵应用于传入的点。

参数:

point (list | ndarray) – 要投影的点。

返回:

投影后的点。

返回类型:

np.array

project_points(points)[source]

将当前 rotation_matrix 作为投影矩阵应用于传入的点数组。

参数:

points (ndarray | list) – 要投影的点列表。

返回:

投影后的点。

返回类型:

np.array

remove_fixed_in_frame_mobjects(*mobjects)[source]

如果 mobject 通过 add_fixed_in_frame_mobjects() 固定在帧中,则此操作将取消该固定。该 Mobject 将不再固定在帧中。

参数:

mobjects (Mobject) – 不再需要固定在帧中的 mobject。

remove_fixed_orientation_mobjects(*mobjects)[source]

如果 mobject 通过 add_fixed_orientation_mobjects() 固定了方向,则此操作将取消该固定。该 Mobject 将不再具有固定方向。

参数:

mobjects (Mobject) – 不再需要固定方向的 mobject。

reset_rotation_matrix()[source]

将 self.rotation_matrix 的值设置为与相机当前位置对应的矩阵

set_focal_distance(value)[source]

设置相机的焦距(focal_distance)。

参数:

value (float) – 相机的焦距(focal_distance)。

set_gamma(value)[source]

设置相机围绕从原点到相机的向量的旋转角度。

参数:

value (float) – 相机的新旋转角度。

set_phi(value)[source]

设置极角,即 Z_AXIS 与相机(通过原点)之间的角度,单位为弧度。

参数:

value (float) – 极角的新值,单位为弧度。

set_theta(value)[source]

设置方位角,即相机围绕 Z_AXIS 旋转的角度,单位为弧度。

参数:

value (float) – 方位角的新值,单位为弧度。

set_zoom(value)[source]

设置相机的缩放量。

参数:

value (float) – 相机的缩放量。