相机¶
限定名称: manim.camera.camera.Camera
- class Camera(background_image=None, frame_center=array([0., 0., 0.]), image_mode='RGBA', n_channels=4, pixel_array_dtype='uint8', cairo_line_width_multiple=0.01, use_z_index=True, background=None, pixel_height=None, pixel_width=None, frame_height=None, frame_width=None, frame_rate=None, background_color=None, background_opacity=None, **kwargs)[来源]¶
基础:
object基础相机类。
这是负责在任何给定时刻在屏幕上显示内容的对象。
- Parameters:
background_image (str | None) – 应该作为背景图像的路径。 如果未设置,背景将使用
self.background_color填充。背景 (np.ndarray | None) –
background设置为什么。默认情况下,None。pixel_height (int | None) – 场景的高度,以像素为单位。
pixel_width (int | None) – 场景的宽度,单位为像素。
kwargs – 要设置的附加参数 (
background_color,background_opacity)。frame_center (np.ndarray)
image_mode (str)
n_channels (int)
pixel_array_dtype (str)
cairo_line_width_multiple (float)
use_z_index (bool)
frame_height (float | None)
frame_width (float | None)
frame_rate (float | None)
background_color (ParsableManimColor | None)
background_opacity (float | None)
方法
如果传递的数组中的任何点超出了可行范围,它们将被适当调整。
计算缩放相机的调整后的笔画宽度。
填充cairo上下文
在cairo上下文中对VMobject应用描边。
将传递的像素数组缓存到Cairo上下文中
通过将mobjects存储在
pixel_array中来捕获它们。通过在
pixel_array上打印来捕获mobjects。将包含浮点值的像素数组转换为适当的RGB值。
通过适当更改pixel_array来显示ImageMobject。
显示与背景颜色相同的多个vmobjects。
通过修改传递的pixel_array来显示多个图像对象。
在cairo上下文中显示多个VM对象,只要它们没有背景颜色。
通过修改传递的像素数组来显示多个PMobjects。
在pixel_array中显示多个VMobjects
通过适当修改像素数组来显示PMobject。
在cairo上下文中显示一个VMobject
如果存在则返回background_colored_vmobject_displayer,如果不存在则创建一个并返回它。
如果存在,则返回传递的像素数组的缓存cairo上下文,如果不存在,则返回None。
返回像素数组的cairo上下文,在将其缓存到self.pixel_array_to_cairo_context之后。如果该数组已经被缓存,则返回缓存的版本。
返回每个像素的笛卡尔坐标。
返回传递的VMobject的填充的RGBA数组
从传递的像素数组中返回图像,如果传递的像素数组为空,则从当前帧返回图像。
用于获取要与相机一起显示的mobjects列表。
获取传递的VMobject的描边的RGBA数组。
确定用于微调二维像素坐标的向量列表。
初始化背景。
检查传递的mobject是否在框架中。
通过使用coords_to_colors_func来确定每个像素的颜色,生成背景的像素数组。
返回屏幕上给定像素坐标数组中的像素数组
在传递的像素数组上叠加一个PIL图像。
在给定的像素数组上叠加一个RGBA数组。
points_to_pixel_coords将相机的像素数组重置为背景的像素数组
此方法将单个像素的高度和宽度重置为传递的new_height和new_width。
将frame_shape更改为匹配像素的宽高比,其中fixed_dimension确定frame_height或frame_width保持不变,而另一个相应更改。
将背景设置为传递的pixel_array,在转换为有效的RGB值之后。
使用coords_to_colors_func确定每个像素的颜色,将背景设置为像素数组。
设置cairo上下文的颜色
为cairo上下文设置路径,并传递vmobject
set_frame_to_background将相机的像素数组设置为传递的像素数组。
返回传递的像素坐标数组和加厚厚度的加厚坐标。
transform_points_pre_display返回mobject的类型,如果它是可以渲染的类型。
属性
background_colorbackground_opacity- adjust_out_of_range_points(points)[来源]¶
如果传递的数组中的任何点超出了可行范围,它们将被适当调整。
- Parameters:
points (ndarray) – 需要调整的点
- Returns:
调整后的分数。
- Return type:
np.array
- adjusted_thickness(thickness)[来源]¶
计算缩放相机的调整后的笔画宽度。
- Parameters:
thickness (float) – 物体的描边宽度。
- Returns:
调整后的笔画宽度,反映了使用相机进行缩放。
- Return type:
浮点数
- cache_cairo_context(pixel_array, ctx)[来源]¶
将传递的像素数组缓存到Cairo上下文中
- Parameters:
pixel_array (ndarray) – 要缓存的像素数组
ctx (Context) – 要缓存到的上下文。
- capture_mobject(mobject, **kwargs)[source]¶
通过将mobjects存储在
pixel_array中来捕获它们。这是
capture_mobjects()的单mobject版本。- Parameters:
mobject (Mobject) – 要捕获的Mobject。
kwargs (Any) – 传递给
get_mobjects_to_display()的关键字参数。
- capture_mobjects(mobjects, **kwargs)[来源]¶
通过在
pixel_array上打印来捕获mobjects。这是将场景内容转换为数组的基本函数,然后将其转换为图像或视频。
- Parameters:
mobjects (Iterable[Mobject]) – 要捕获的Mobjects。
kwargs – 要传递给
get_mobjects_to_display()的关键字参数。
注释
有关当前可以渲染的类列表,请参见
display_funcs()。
- convert_pixel_array(pixel_array, convert_from_floats=False)[source]¶
将包含浮点值的像素数组转换为适当的RGB值。
- Parameters:
pixel_array (ndarray | list | tuple) – 要转换的像素数组。
convert_from_floats (bool) – 是否将浮点值转换为整数,默认为 False
- Returns:
新的转换后的像素数组。
- Return type:
np.array
- display_image_mobject(image_mobject, pixel_array)[来源]¶
通过适当更改pixel_array来显示ImageMobject。
- Parameters:
image_mobject (AbstractImageMobject) – 要显示的imageMobject
pixel_array (ndarray) – 用于放置图像对象的像素数组。
- display_multiple_background_colored_vmobjects(cvmobjects, pixel_array)[来源]¶
显示与背景颜色相同的多个vmobjects。
- Parameters:
cvmobjects (list) – 彩色VM对象的列表
pixel_array (ndarray) – 像素数组。
- Returns:
相机对象。
- Return type:
- display_multiple_image_mobjects(image_mobjects, pixel_array)[来源]¶
通过修改传递的pixel_array来显示多个图像对象。
- Parameters:
image_mobjects (列表) – ImageMobjects 的列表
pixel_array (ndarray) – 要修改的像素数组。
- display_multiple_non_background_colored_vmobjects(vmobjects, pixel_array)[来源]¶
在cairo上下文中显示多个VM对象,只要它们没有背景颜色。
- Parameters:
vmobjects (list) – VM对象的列表
pixel_array (ndarray) – 要添加VMobjects的像素数组。
- display_multiple_point_cloud_mobjects(pmobjects, pixel_array)[来源]¶
通过修改传递的像素数组来显示多个PMobjects。
- Parameters:
pmobjects (list) – PMobjects 列表
pixel_array (ndarray) – 要修改的像素数组。
- display_multiple_vectorized_mobjects(vmobjects, pixel_array)[来源]¶
在pixel_array中显示多个VMobjects
- Parameters:
vmobjects (列表) – 要显示的VMobjects列表
pixel_array (ndarray) – 像素数组
- display_point_cloud(pmobject, points, rgbas, thickness, pixel_array)[source]¶
通过适当修改像素数组来显示PMobject。
TODO: 为rgbas参数编写描述。
- Parameters:
pmobject (PMobject) – 点云对象
points (list) – 要在点云mobject中显示的点
rgbas (ndarray)
厚度 (浮点数) – PMobject每个点的厚度
pixel_array (ndarray) – 要修改的像素数组。
- get_background_colored_vmobject_displayer()[source]¶
如果存在则返回background_colored_vmobject_displayer,如果不存在则创建一个并返回它。
- Returns:
显示与背景颜色相同的VMobjects的对象。
- Return type:
背景颜色VM对象显示器
- get_cached_cairo_context(pixel_array)[来源]¶
如果存在,则返回传递的像素数组的缓存cairo上下文,如果不存在,则返回None。
- Parameters:
pixel_array (ndarray) – 要检查的像素数组。
- Returns:
缓存的cairo上下文。
- Return type:
cairo.Context
- get_cairo_context(pixel_array)[来源]¶
返回像素数组的cairo上下文,在将其缓存到self.pixel_array_to_cairo_context之后。如果该数组已经被缓存,则返回缓存的版本。
- Parameters:
pixel_array (ndarray) – 获取Cairo上下文的像素数组。
- Returns:
像素数组的cairo上下文。
- Return type:
cairo.Context
- get_fill_rgbas(vmobject)[source]¶
返回传递的VMobject的填充的RGBA数组
- Parameters:
vmobject (VMobject) – VMobject
- Returns:
VMobject 填充的 RGBA 数组
- Return type:
np.array
- get_image(pixel_array=None)[来源]¶
从传递的像素数组中返回图像,如果传递的像素数组为空,则从当前帧返回图像。
- Parameters:
pixel_array (ndarray | list | tuple | None) – 从中获取图像的像素数组,默认为 None
- Returns:
数组的PIL图像。
- Return type:
PIL.图像
- get_mobjects_to_display(mobjects, include_submobjects=True, excluded_mobjects=None)[来源]¶
用于获取要使用相机显示的mobjects列表。
- Parameters:
mobjects (Iterable[Mobject]) – Mobjects
include_submobjects (bool) – 是否包含mobjects的子对象,默认为True
excluded_mobjects (list | None) – 任何要排除的mobjects,默认为None
- Returns:
mobjects列表
- Return type:
列表
- get_stroke_rgbas(vmobject, background=False)[来源]¶
获取传递的VMobject的描边的RGBA数组。
- Parameters:
vmobject (VMobject) – VMobject
背景 (布尔值) – 在获取描边RGBAs时是否考虑背景,默认为False
- Returns:
描边的RGBA数组。
- Return type:
np.ndarray
- is_in_frame(mobject)[source]¶
检查传递的mobject是否在框架中。
- Parameters:
mobject (Mobject) – 需要进行检查的mobject。
- Returns:
如果在框架中为True,否则为False。
- Return type:
布尔
- make_background_from_func(coords_to_colors_func)[来源]¶
通过使用coords_to_colors_func来确定每个像素的颜色,生成背景的像素数组。每个输入像素的颜色。coords_to_colors_func的每个输入是空间中的一个(x, y)对(在普通空间坐标中;不是像素坐标),每个输出预期是一个包含4个浮点数的RGBA数组。
- Parameters:
coords_to_colors_func (Callable[[ndarray], ndarray]) – 该函数的输入是一个(x,y)坐标对,其返回值必须是该点的颜色
- Returns:
像素数组,然后可以传递给 set_background。
- Return type:
np.array
- on_screen_pixels(pixel_coords)[source]¶
返回屏幕上给定像素坐标数组中的像素数组
- Parameters:
pixel_coords (ndarray) – 要检查的像素坐标。
- Returns:
屏幕上的像素坐标。
- Return type:
np.array
- overlay_PIL_image(pixel_array, image)[来源]¶
在传递的像素数组上叠加一个PIL图像。
- Parameters:
pixel_array (ndarray) – 像素数组
image (图片) – 要叠加的图像。
- overlay_rgba_array(pixel_array, new_array)[source]¶
在给定的像素数组上叠加一个RGBA数组。
- Parameters:
pixel_array (ndarray) – 要修改的原始像素数组。
new_array (ndarray) – 要覆盖的新像素数组。
- reset_pixel_shape(new_height, new_width)[来源]¶
此方法将单个像素的高度和宽度重置为传递的new_height和new_width。
- Parameters:
new_height (float) – 整个场景的新高度,单位为像素
new_width (float) – 整个场景的新宽度,单位为像素
- resize_frame_shape(fixed_dimension=0)[来源]¶
将frame_shape更改为匹配像素的宽高比,其中fixed_dimension决定frame_height或frame_width保持不变,而另一个相应更改。
- Parameters:
fixed_dimension (int) – 如果为0,高度将相对于宽度进行缩放;否则,宽度将相对于高度进行缩放。
- set_background(pixel_array, convert_from_floats=False)[来源]¶
将背景设置为传递的pixel_array,在转换为有效的RGB值之后。
- Parameters:
pixel_array (ndarray | list | tuple) – 用于设置背景的像素数组。
convert_from_floats (bool) – 是否将浮点数值转换为有效的RGB值,默认为False
- set_background_from_func(coords_to_colors_func)[来源]¶
使用coords_to_colors_func设置背景为像素数组,以确定每个像素的颜色。每个输入像素的颜色。coords_to_colors_func的每个输入是空间中的一个(x, y)对(在普通空间坐标中;不是像素坐标),每个输出预期是一个包含4个浮点数的RGBA数组。
- Parameters:
coords_to_colors_func (Callable[[ndarray], ndarray]) – 该函数的输入是一个(x,y)坐标对,其返回值必须是该点的颜色
- set_pixel_array(pixel_array, convert_from_floats=False)[source]¶
将相机的像素数组设置为传递的像素数组。
- Parameters:
pixel_array (ndarray | list | tuple) – 要转换并设置为相机像素数组的像素数组。
convert_from_floats (bool) – 是否将浮点值转换为适当的RGB值,默认为False
- thickened_coordinates(pixel_coords, thickness)[source]¶
返回传递的像素坐标数组和加厚厚度的加厚坐标。
- Parameters:
pixel_coords (ndarray) – 像素坐标
thickness (float) – 厚度
- Returns:
加厚像素坐标的数组。
- Return type:
np.array