三维相机¶
限定名称: 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 的任何关键字参数。
方法
此方法允许mobject具有固定位置,即使摄像机移动也是如此。
此方法允许mobject在摄像机移动时保持固定的方向。
通过在
pixel_array上打印来捕获mobjects。根据相机当前位置生成旋转矩阵。
返回传递的VMobject的填充的RGBA数组
返回相机的焦距。
返回相机围绕从原点指向相机的向量的旋转。
用于获取要与相机一起显示的mobjects列表。
返回极角(偏离Z轴的角度)phi。
返回与相机当前位置对应的矩阵。
获取传递的VMobject的描边的RGBA数组。
返回方位角,即围绕Z轴旋转摄像机的角度。
一个包含phi、theta、focal_distance、gamma和zoom的
ValueTrackers列表。返回相机的缩放量。
modified_rgbas将当前的rotation_matrix作为投影矩阵应用于传递的点。
将当前的rotation_matrix作为投影矩阵应用于传递的点数组。
如果一个mobject通过
add_fixed_in_frame_mobjects()固定在帧中,那么这将撤销该固定。如果一个mobject通过
add_fixed_orientation_mobjects()固定了其方向,那么这个操作会撤销该固定。将self.rotation_matrix的值设置为与相机当前位置对应的矩阵
设置相机的焦距。
设置相机围绕从原点指向相机的向量的旋转角度。
设置极角,即通过原点的Z轴和相机之间的角度,以弧度表示。
设置方位角,即以弧度为单位绕Z轴旋转摄像机的角度。
设置相机的缩放量。
transform_points_pre_display属性
background_colorbackground_opacityframe_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:
mobjects – 要捕获的Mobjects。
kwargs – 传递给
get_mobjects_to_display()的关键字参数。
注释
有关当前可以渲染的类列表,请参见
display_funcs()。
- get_fill_rgbas(vmobject)[source]¶
返回传递的VMobject的填充的RGBA数组
- Parameters:
vmobject – VM对象
- Returns:
VMobject 填充的 RGBA 数组
- Return type:
np.array
- get_mobjects_to_display(*args, **kwargs)[来源]¶
用于获取要使用相机显示的mobjects列表。
- Parameters:
mobjects – Mobjects
include_submobjects – 是否包含mobjects的子对象,默认为True
excluded_mobjects – 任何要排除的mobjects,默认为None
- Returns:
mobjects列表
- Return type:
列表
- get_stroke_rgbas(vmobject, background=False)[source]¶
获取传递的VMobject的描边的RGBA数组。
- Parameters:
vmobject – VM对象
背景 – 在获取描边RGBAs时是否考虑背景,默认为False
- Returns:
描边的RGBA数组。
- Return type:
np.ndarray
- get_value_trackers()[source]¶
一个包含phi、theta、focal_distance、gamma和zoom的
ValueTrackers列表。- Returns:
ValueTracker 对象列表
- 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。