三维相机

限定名称: 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)[来源]

基础类:Camera

初始化ThreeDCamera

Parameters:

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

方法

add_fixed_in_frame_mobjects

此方法允许mobject具有固定位置,即使摄像机移动也是如此。

add_fixed_orientation_mobjects

此方法允许mobject在摄像机移动时保持固定的方向。

capture_mobjects

通过在pixel_array上打印来捕获mobjects。

generate_rotation_matrix

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

get_fill_rgbas

返回传递的VMobject的填充的RGBA数组

get_focal_distance

返回相机的焦距。

get_gamma

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

get_mobjects_to_display

用于获取要与相机一起显示的mobjects列表。

get_phi

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

get_rotation_matrix

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

get_stroke_rgbas

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

get_theta

返回方位角,即围绕Z轴旋转摄像机的角度。

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

设置相机的焦距。

set_gamma

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

set_phi

设置极角,即通过原点的Z轴和相机之间的角度,以弧度表示。

set_theta

设置方位角,即以弧度为单位绕Z轴旋转摄像机的角度。

set_zoom

设置相机的缩放量。

transform_points_pre_display

属性

background_color

background_opacity

frame_center

add_fixed_in_frame_mobjects(*mobjects)[来源]

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

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

Parameters:

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

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

此方法允许mobject保持固定的方向, 即使摄像机移动时也是如此。 例如,如果它通过此方法传递,面向摄像机, 即使摄像机移动,它也会继续面向摄像机。 在向图表等添加标签时非常有用。

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

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

  • center_func (Callable[[], ndarray] | None) – 返回中心点的函数,mobject将根据该中心点进行定向,默认为None

capture_mobjects(mobjects, **kwargs)[source]

通过在pixel_array上打印来捕获mobjects。

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

Parameters:

注释

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

generate_rotation_matrix()[来源]

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

Returns:

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

Return type:

np.array

get_fill_rgbas(vmobject)[source]

返回传递的VMobject的填充的RGBA数组

Parameters:

vmobject – VM对象

Returns:

VMobject 填充的 RGBA 数组

Return type:

np.array

get_focal_distance()[来源]

返回相机的焦距。

Returns:

相机在MUnits中的焦距。

Return type:

浮点数

get_gamma()[source]

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

Returns:

相机绕从原点指向相机的向量旋转的角度,以弧度表示

Return type:

浮点数

get_mobjects_to_display(*args, **kwargs)[来源]

用于获取要使用相机显示的mobjects列表。

Parameters:
  • mobjects – Mobjects

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

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

Returns:

mobjects列表

Return type:

列表

get_phi()[source]

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

Returns:

极角,以弧度表示。

Return type:

浮点数

get_rotation_matrix()[source]

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

Returns:

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

Return type:

np.array

get_stroke_rgbas(vmobject, background=False)[source]

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

Parameters:
  • vmobject – VM对象

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

Returns:

描边的RGBA数组。

Return type:

np.ndarray

get_theta()[source]

返回方位角,即围绕Z轴旋转摄像机的角度。

Returns:

方位角,以弧度表示。

Return type:

浮点数

get_value_trackers()[source]

一个包含phi、theta、focal_distance、gamma和zoom的ValueTrackers列表。

Returns:

ValueTracker 对象列表

Return type:

列表

get_zoom()[source]

返回相机的缩放量。

Returns:

摄像机的缩放量。

Return type:

浮点数

project_point(point)[来源]

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

Parameters:

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

Returns:

投影后的点。

Return type:

np.array

project_points(points)[source]

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

Parameters:

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

Returns:

投影后的点。

Return type:

np.array

remove_fixed_in_frame_mobjects(*mobjects)[source]

如果一个mobject通过add_fixed_in_frame_mobjects()固定在帧中,那么这个操作会撤销该固定。Mobject将不再固定在帧中。

Parameters:

mobjects (Mobject) – 不再需要固定在画面中的mobjects。

remove_fixed_orientation_mobjects(*mobjects)[来源]

如果一个mobject通过add_fixed_orientation_mobjects()固定了其方向,那么这个操作将撤销该固定。Mobject将不再具有固定的方向。

Parameters:

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

reset_rotation_matrix()[source]

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

set_focal_distance(value)[source]

设置相机的焦距。

Parameters:

value (float) – 相机的焦距。

set_gamma(value)[来源]

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

Parameters:

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

set_phi(value)[来源]

设置极角,即通过原点的Z轴和相机之间的角度,以弧度表示。

Parameters:

value (float) – 极角的新值,以弧度表示。

set_theta(value)[来源]

设置方位角,即以弧度为单位绕Z轴旋转摄像机的角度。

Parameters:

value (float) – 方位角的新值,以弧度表示。

set_zoom(value)[来源]

设置相机的缩放量。

Parameters:

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