摄像机
合格名称:manim.camera.camera.Camera
Python | |
---|---|
Bases: object
基础相机类。
该对象负责在任何给定时刻在屏幕上准确显示的内容。
参数
- background_image ( str | None ) – 应作为背景图像的图像的路径。如果未设置,则背景填充为
self.background_color
- background( 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)–
方法
adjust_out_of_range_points |
如果传递的数组中的任何点超出了可行范围,则对其进行适当调整。 |
adjusted_thickness |
参数厚度 |
apply_fill |
填充开罗上下文 |
apply_stroke |
对 cairo 上下文中的 VMobject 应用描边。 |
cache_cairo_context |
将传递的像素数组缓存到开罗上下文中 |
capture_mobject |
通过将其存储在 中来捕获 mobject pixel_array 。 |
capture_mobjects |
通过将 mobject 打印在 上来捕获它们pixel_array 。 |
convert_pixel_array |
将像素数组从包含浮点数的值转换为正确的 RGB 值。 |
display_image_mobject |
通过适当更改 Pixel_array 显示 ImageMobject。 |
display_multiple_background_colored_vmobjects |
显示多个与背景颜色相同的 vmobject。 |
display_multiple_image_mobjects |
通过修改传递的 pixel_array 来显示多个图像 mobject。 |
display_multiple_non_background_colored_vmobjects |
在 cairo 上下文中显示多个 VMobject,只要它们没有背景色。 |
display_multiple_point_cloud_mobjects |
通过修改传递的像素数组来显示多个 PMobject。 |
display_multiple_vectorized_mobjects |
显示 pixel_array 中的多个 VMobject |
display_point_cloud |
通过适当修改像素数组来显示 PMobject。 |
display_vectorized |
在 cairo 上下文中显示 VMobject |
get_background_colored_vmobject_displayer |
如果存在则返回 background_colored_vmobject_displayer,或者创建一个,如果不存在则返回它。 |
get_cached_cairo_context |
如果传递的像素数组存在,则返回已缓存的 cairo 上下文;如果不存在,则返回 None。 |
get_cairo_context |
将像素数组缓存到 self.pixel_array_to_cairo_context 后返回该像素数组的 cairo 上下文。如果该数组已被缓存,则返回缓存的版本。 |
get_coords_of_all_pixels |
返回每个像素的笛卡尔坐标。 |
get_fill_rgbas |
返回传入的 VMobject 的填充的 RGBA 数组 |
get_image |
从传递的像素数组返回图像,如果传递的像素数组为空,则从当前帧返回图像。 |
get_mobjects_to_display |
用于获取要通过相机显示的对象列表。 |
get_stroke_rgbas |
获取传递的 VMobject 笔画的 RGBA 数组。 |
get_thickening_nudges |
参数厚度 |
init_background |
初始化背景。 |
is_in_frame |
检查传递的 mobject 是否在框架中。 |
make_background_from_func |
通过使用 coords_to_colors_func 确定每个像素的颜色,为背景创建像素数组。 |
on_screen_pixels |
从给定的像素坐标数组返回屏幕上的像素数组 |
overlay_PIL_image |
将 PIL 图像叠加在传递的像素阵列上。 |
overlay_rgba_array |
将 RGBA 数组叠加在给定的 Pixel 数组之上。 |
points_to_pixel_coords |
|
reset |
将相机的像素阵列重置为背景的像素阵列 |
reset_pixel_shape |
该方法将单个像素的高度和宽度重置为传递的 new_height 和 new_width。 |
resize_frame_shape |
更改 frame_shape 以匹配像素的宽高比,其中 fixed_dimension 确定 frame_height 或 frame_width 是否保持固定,而其他则相应变化。 |
set_background |
转换为有效的 RGB 值后,将背景设置为传递的 Pixel_array。 |
set_background_from_func |
使用 coords_to_colors_func 将背景设置为像素数组以确定每个像素的颜色。 |
set_cairo_context_color |
设置开罗上下文的颜色 |
set_cairo_context_path |
设置 cairo 上下文的路径并传递 vmobject |
set_frame_to_background |
|
set_pixel_array |
将相机的像素数组设置为传递的像素数组。 |
thickened_coordinates |
返回传递的像素坐标数组的加厚坐标以及要加厚的厚度。 |
transform_points_pre_display |
|
type_or_raise |
如果 mobject 是可渲染的类型,则返回该类型。 |
属性
background_color
background_opacity
adjust_out_of_range_points(points)
如果传递的数组中的任何点超出了可行范围,则对其进行适当调整。
参数
points( ndarray ) – 要调整的点
返回
调整后的点。
返回类型
np.array
adjusted_thickness(thickness)
参数
thickness(float)–
返回类型
float
apply_fill(ctx, vmobject)
填充开罗上下文
参数
- ctx ( Context ) – 开罗上下文
- vmobject ( VMobject ) – VMobject
返回
相机对象。
返回类型
apply_stroke(ctx, vmobject, background=False)
对 cairo 上下文中的 VMobject 应用描边。
参数
- ctx ( Context ) – 开罗上下文
- vmobject ( VMobject ) – VMobject
- background ( bool ) – 应用此描边宽度时是否考虑背景,默认为 False
返回
应用了描边的相机对象。
返回类型
cache_cairo_context(pixel_array, ctx)
将传递的像素数组缓存到开罗上下文中
参数
- Pixel_array ( ndarray ) – 要缓存的像素数组
- ctx ( Context ) – 将其缓存到的上下文。
capture_mobject(mobject, **kwargs)
通过将其存储在 中来捕获 mobject pixel_array
。
这是 的单对象版本capture_mobjects()
。
参数
- mobject ( Mobject ) – 要捕获的 Mobject。
- kwargs ( Any ) – 要传递给的关键字参数
get_mobjects_to_display()
。
capture_mobjects(mobjects, **kwargs)
通过将 mobject 打印在 上来捕获它们pixel_array
。
这是将场景的内容转换为数组的基本函数,然后将其转换为图像或视频。
参数
- mobjects ( Iterable [ Mobject ] ) – 要捕获的 Mobjects。
- kwargs – 要传递给 的关键字参数
get_mobjects_to_display()
。
笔记
有关当前可以呈现的类的列表,请参阅display_funcs()
。
convert_pixel_array(pixel_array, convert_from_floats=False)
将像素数组从包含浮点数的值转换为正确的 RGB 值。
参数
- Pixel_array ( np.ndarray | list | tuple ) – 要转换的像素数组。
- Convert_from_floats ( bool ) – 是否将浮点值转换为整数,默认为 False
返回
新的、转换后的像素阵列。
返回类型
np.array
display_image_mobject(image_mobject, pixel_array)
通过适当更改 Pixel_array 显示 ImageMobject。
参数
- image_mobject ( AbstractImageMobject ) – 要显示的 imageMobject
- Pixel_array ( ndarray ) – 放置图像对象的像素数组。
display_multiple_background_colored_vmobjects(cvmobjects, pixel_array)
显示多个与背景颜色相同的 vmobject。
参数
- cvmobjects ( list ) – 彩色 VMobject 列表
- Pixel_array ( ndarray ) – 像素数组。
返回
相机对象。
返回类型
display_multiple_image_mobjects(image_mobjects, pixel_array)
通过修改传递的 pixel_array 来显示多个图像 mobject。
参数
- image_mobjects ( list ) – ImageMobjects 列表
- Pixel_array ( ndarray ) – 要修改的像素数组。
display_multiple_non_background_colored_vmobjects(vmobjects, pixel_array)
在 cairo 上下文中显示多个 VMobject,只要它们没有背景色。
参数
- vmobjects ( list ) – VMobjects 列表
- Pixel_array ( ndarray ) – 要添加 VMobject 的像素数组。
display_multiple_point_cloud_mobjects(pmobjects, pixel_array)
通过修改传递的像素数组来显示多个 PMobject。
参数
- pmobjects ( list ) – PMobjects 列表
- Pixel_array ( ndarray ) – 要修改的像素数组。
display_multiple_vectorized_mobjects(vmobjects, pixel_array)
显示 pixel_array 中的多个 VMobject
参数
- vmobjects ( list ) – 要显示的 VMobject 列表
- Pixel_array ( ndarray ) – 像素数组
display_point_cloud(pmobject, points, rgbas, thickness, pixel_array)
通过适当修改像素数组来显示 PMobject。 TODO:为 rgbas 参数编写描述。:param pmobject: 点云 Mobject :parampoints: 在点云 mobject 中显示的点 :param rgbas: :param Thickness: PMobject 每个点的厚度 :param Pixel_array: 要修改的像素数组。
参数
- pmobject ( PMobject ) –
- points(list)-
- rgbas ( ndarray ) –
- thickness(float)–
- pixel_array( ndarray ) –
display_vectorized(vmobject, ctx)
在 cairo 上下文中显示 VMobject
参数
- vmobject ( VMobject ) – 要显示的矢量化 Mobject
- ctx ( Context ) – 要使用的 cairo 上下文。
返回
相机对象
返回类型
get_background_colored_vmobject_displayer()
如果存在则返回 background_colored_vmobject_displayer,或者创建一个,如果不存在则返回它。
返回
显示与背景颜色相同的 VMobject 的对象。
返回类型
BackGroundColoredVMobjectDisplayer
get_cached_cairo_context(pixel_array)
如果传递的像素数组存在,则返回已缓存的 cairo 上下文;如果不存在,则返回 None。
参数
Pixel_array ( ndarray ) – 要检查的像素数组。
返回
缓存的开罗上下文。
返回类型
cairo.Context
get_cairo_context(pixel_array)
将像素数组缓存到 self.pixel_array_to_cairo_context 后返回该像素数组的 cairo 上下文。如果该数组已被缓存,则返回缓存的版本。
参数
Pixel_array ( ndarray ) – 要获取 cairo 上下文的像素数组。
返回
像素数组的 cairo 上下文。
返回类型
cairo.Context
get_coords_of_all_pixels()
返回每个像素的笛卡尔坐标。
返回
笛卡尔坐标数组。
返回类型
np.ndarray
get_fill_rgbas(vmobject)
返回传入的 VMobject 的填充的 RGBA 数组
参数
vmobject ( VMobject ) – VMobject
返回
VMobject 填充的 RGBA 数组
返回类型
np.array
get_image(pixel_array=None)
从传递的像素数组返回图像,如果传递的像素数组为空,则从当前帧返回图像。
参数
Pixel_array ( np.ndarray | list | tuple | None ) – 从中获取图像的像素数组,默认为 None
返回
阵列的 PIL 图像。
返回类型
PIL.Image
get_mobjects_to_display(mobjects, include_submobjects=True, excluded_mobjects=None)
用于获取要通过相机显示的对象列表。
参数
- mobjects ( Iterable [ Mobject ] ) – Mobjects
- include_submobjects ( bool ) – 是否包含 mobjects 的子对象,默认 True
- excepted_mobjects ( list | None ) – 要排除的任何 mobjects,默认为 None
返回
对象列表
返回类型
list
get_stroke_rgbas(vmobject, background=False)
获取传递的 VMobject 笔画的 RGBA 数组。
参数
- vmobject ( VMobject ) – VMobject
- background ( bool ) – 获取描边 RGBAs 时是否考虑背景,默认 False
返回
笔画的 RGBA 数组。
返回类型
np.ndarray
get_thickening_nudges(thickness)
参数
thickness(float)–
返回类型
np.array
init_background()
初始化背景。如果 self.background_image 是图像的路径,则图像被设置为背景;否则,默认背景颜色填充背景。
is_in_frame(mobject)
检查传递的 mobject 是否在框架中。
参数
mobject ( Mobject ) – 需要进行检查的 mobject。
返回
如果在框架内则为 True,否则为 False。
返回类型
bool
make_background_from_func(coords_to_colors_func)
通过使用 coords_to_colors_func 确定每个像素的颜色,为背景创建像素数组。每个输入像素的颜色。coords_to_colors_func 的每个输入都是空间中的 (x, y) 对(在普通空间坐标中;不是像素坐标),并且每个输出预计是 4 个浮点数的 RGBA 数组。
参数
coords_to_colors_func ( Callable [ [ ndarray ] , ndarray ] ) – 输入是 (x,y) 坐标对且返回值必须是该点的颜色的函数
返回
然后可以将像素数组传递给 set_background。
返回类型
np.array
on_screen_pixels(pixel_coords)
从给定的像素坐标数组返回屏幕上的像素数组
参数
Pixel_coords ( ndarray ) – 要检查的像素坐标。
返回
屏幕上的像素坐标。
返回类型
np.array
overlay_PIL_image(pixel_array, image)
将 PIL 图像叠加在传递的像素阵列上。
参数
- Pixel_array ( np.ndarray ) – 像素数组
- image ( Image ) – 要叠加的图像。
overlay_rgba_array(pixel_array, new_array)
将 RGBA 数组叠加在给定的 Pixel 数组之上。
参数
- Pixel_array ( ndarray ) – 要修改的原始像素数组。
- new_array ( ndarray ) – 要覆盖的新像素数组。
reset()
将相机的像素阵列重置为背景的像素阵列
返回
设置像素数组后的相机对象。
返回类型
reset_pixel_shape(new_height, new_width)
该方法将单个像素的高度和宽度重置为传递的 new_height 和 new_width。
参数
- new_height ( float ) – 整个场景的新高度(以像素为单位)
- new_width ( float ) – 整个场景的新宽度(以像素为单位)
resize_frame_shape(fixed_dimension=0)
更改 frame_shape 以匹配像素的宽高比,其中 fixed_dimension 确定 frame_height 或 frame_width 是否保持固定,而其他则相应变化。
参数
fixed_dimension ( int ) – 如果为 0,则高度相对于宽度缩放,否则宽度相对于高度缩放。
set_background(pixel_array, convert_from_floats=False)
转换为有效的 RGB 值后,将背景设置为传递的 Pixel_array。
参数
- Pixel_array ( np.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 数组。
参数
coords_to_colors_func ( Callable [ [ ndarray ] , ndarray ] ) – 输入是 (x,y) 坐标对且返回值必须是该点的颜色的函数
set_cairo_context_color(ctx, rgbas, vmobject)
设置开罗上下文的颜色
参数
- ctx ( Context ) – 开罗上下文
- rgbas ( ndarray ) – 用于为上下文着色的 RGBA 数组。
- vmobject ( VMobject ) – 用于设置颜色的 VMobject。
返回
相机对象
返回类型
set_cairo_context_path(ctx, vmobject)
设置 cairo 上下文的路径并传递 vmobject
参数
- ctx ( Context ) – 开罗上下文
- vmobject ( VMobject ) – VMobject
返回
设置 cairo_context_path 后的相机对象
返回类型
set_pixel_array(pixel_array, convert_from_floats=False)
将相机的像素数组设置为传递的像素数组。
参数
- Pixel_array ( np.ndarray | list | tuple ) – 要转换的像素数组,然后设置为相机的像素数组。
- Convert_from_floats ( bool ) – 是否将浮点值转换为正确的 RGB 值,默认为 False
thickened_coordinates(pixel_coords, thickness)
返回传递的像素坐标数组的加厚坐标以及要加厚的厚度。
参数
- Pixel_coords ( ndarray ) – 像素坐标
- thickness( float ) – 厚度
返回
加厚像素坐标数组。
返回类型
np.array
type_or_raise(mobject)
如果 mobject 是可渲染的类型,则返回该类型。
如果 mobject 是继承自可呈现类的类的实例,则返回超类。例如,Square 的实例也是 VMobject 的实例,并且可以渲染它们。因此,type_or_raise(Square())返回 True。
参数
mobject ( Mobject ) – 要采用其类型的对象。
笔记
有关当前可以呈现的类的列表,请参阅display_funcs()
。
返回
mobject 的类型(如果可以渲染)。
返回类型
Type[ Mobject
]
提高
TypeError – 当 mobject 不是可呈现的类的实例时。
参数
mobject ( Mobject ) –