移动相机

限定名称: manim.camera.moving\_camera.MovingCamera

class MovingCamera(frame=None, fixed_dimension=0, default_frame_stroke_color=ManimColor('#FFFFFF'), default_frame_stroke_width=0, **kwargs)[source]

基础类:Camera

保持与其“框架”(一个矩形)的高度、宽度和位置一致

另请参阅

MovingCameraScene

Frame 是一个 Mobject,(几乎可以肯定是一个矩形) 决定了相机显示的空间区域

方法

auto_zoom

放大到给定的mobjects数组(或单个mobject),并自动调整大小以框住所有mobjects。

cache_cairo_context

由于帧可能会移动,用于更新的cairo上下文应在每一帧重新生成。

capture_mobjects

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

get_cached_cairo_context

由于框架可能会移动,用于更新的cairo上下文应在每一帧重新生成。

get_mobjects_indicating_movement

返回所有mobjects,其移动意味着摄像机应将屏幕上所有其他mobjects视为正在移动

属性

background_color

background_opacity

frame_center

返回框架在笛卡尔坐标系中的中心点。

frame_height

返回框架的高度。

frame_width

返回框架的宽度

auto_zoom(mobjects, margin=0, only_mobjects_in_frame=False, animate=True)[source]

放大到给定的mobjects数组(或单个mobject) 并自动调整大小以框住所有mobjects。

注意

此方法仅在考虑XY平面中的2D对象时有效,当相机旋转时将无法正确工作。

Parameters:
  • mobjects (list[Mobject]) – 相机将聚焦的mobject或mobjects数组。

  • margin (float) – 添加到框架的边距宽度(可选,默认为0)。

  • only_mobjects_in_frame (bool) – 如果设置为 True,则只允许聚焦已经在画面中的 mobjects。

  • animate (bool) – 如果设置为 False,则应用更改而不是返回相应的动画

Returns:

_AnimationBuilder 将相机视图缩放到给定的 mobjects 列表或 ScreenRectangle,位置和大小更新为缩放后的位置。

Return type:

Union[_AnimationBuilder, ScreenRectangle]

cache_cairo_context(pixel_array, ctx)[source]

由于框架可能会移动,用于更新的cairo上下文应在每一帧重新生成。因此,不进行缓存。

capture_mobjects(mobjects, **kwargs)[来源]

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

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

Parameters:
  • mobjects – 要捕获的Mobjects。

  • kwargs – 要传递给 get_mobjects_to_display() 的关键字参数。

注释

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

property frame_center

返回框架在笛卡尔坐标系中的中心点。

Returns:

框架中心的笛卡尔坐标。

Return type:

np.array

property frame_height

返回框架的高度。

Returns:

框架的高度。

Return type:

浮点数

property frame_width

返回框架的宽度

Returns:

框架的宽度。

Return type:

浮点数

get_cached_cairo_context(pixel_array)[source]

由于框架可能会移动,用于更新的cairo上下文应在每一帧重新生成。因此不进行缓存。

get_mobjects_indicating_movement()[来源]

返回所有移动对象,其移动意味着摄像机应认为屏幕上的所有其他移动对象也在移动

Return type:

列表