现成场景¶
这些场景自带某一类视频所需的内容。向量场景从平面的原点绘制向量,并附带它们的标签和坐标。线性变换场景在一次 play 中将矩阵应用于平面及平面上的所有内容。缩放场景在插图中显示帧的放大局部。
VectorScene
¶
用于绘制向量的场景:从原点出发的箭头、其标签与坐标。
其方法添加平面与坐标轴、绘制向量并加标签,以及为从向量到其坐标及反向的
转换添加动画。
add_vector 从原点绘制一个向量,以场景
单位表示;get_vector 在场景
plane 的坐标中生成一个。
basis_vector_stroke_width基向量的描边宽度(见
get_basis_vectors),以场景 单位的百分之一表示。
源码
manimgx\scene.py
plane
¶
get_vector 读取其坐标的平面:
LinearTransformationScene 创建它;在
向量场景中,需将其赋值(self.plane = self.add_plane())。
grows_vectors
¶
add_vector 是否在未另行告知时以生长
方式显示向量:向量场景中为 True,变换场景中为 False。
add_plane
¶
向场景添加一个数平面。
animate是否以动画绘入(
Create,其线条 重叠)。x_rangex 轴的范围,
[x_min, x_max, x_step]:网格在每个步长处有一条垂直线(默认:画框的宽度,步长 1)。y_rangey 轴的范围,
[y_min, y_max, y_step]:网格在每个步长处有一条水平线(默认:画框的高度,步长 1)。x_lengthx 轴的长度,以场景单位计(默认 None:每单位一个场景单位)。
y_lengthy 轴的长度,以场景单位计(默认 None:每单位一个场景单位)。
background_line_style网格线的 样式关键字,覆盖其默认值:蓝色(
BLUE_D)、宽 2、不透明(默认 None:无)。faded_line_style它们之间较暗线的 样式关键字(默认 None:网格线的样式,宽度和不透明度减半)。
faded_line_ratio较暗线将网格的每个步长分成多少部分:1 表示无较暗线,2 表示每两条网格线之间有一条(默认 1)。
axis_config每个坐标轴的 数轴关键字:
include_numbers、font_size、color、…(默认 None:无)。x_axis_configx 轴的数轴关键字,覆盖
axis_config的(默认 None:无)。y_axis_configy 轴的数轴关键字,覆盖
axis_config的(默认 None:无)。tips每个坐标轴末端是否有箭头(默认 True;平面的坐标轴无箭头,除非
axis_config包含include_tip)。color填充与描边共用的颜色(默认白色);None 表示该类的默认值。
fill_color填充的颜色;未给出时为
color。多个颜色沿sheen_direction构成渐变。fill_opacity填充的不透明度,取值从 0 到 1(默认 0:无填充)。
stroke_color描边的颜色;未给出时为
color。多个颜色构成渐变。stroke_opacity描边的不透明度,取值从 0 到 1(默认 1)。
stroke_width描边的宽度,以场景单位的百分之一计(默认 4;0:无描边)。
background_stroke_color绘制于填充之后的轮廓颜色(默认黑色)。
background_stroke_opacity轮廓的不透明度,取值从 0 到 1(默认 1)。
background_stroke_width轮廓的宽度,以场景单位的百分之一计(默认 0:无)。
sheen_factor颜色朝
sheen_direction变亮的程度,取值从 -1 到 1(默认 0); 负值变暗。sheen_direction颜色变亮的方向(默认
UL)。joint_type描边在路径转折处的连接方式:圆角、斜切或斜接,按二维场景的绘制方式 (参见 LineJointType;默认 AUTO:斜接)。
cap_style描边在其显示的每一端的端点样式(开放路径的端点、虚线的端点):圆头、平头 或方头,按二维场景的绘制方式(参见 CapStyleType;默认 AUTO:平头)。
shade_in_3d三维场景的光是否对该 mobject 着色。
material其表面在三维场景中如何反射场景的光(参见 Material);None:Manim 的着色(默认)。
namemobject 的名称;未给出时为其类名。
z_index其在绘制顺序中的位置:索引较高者绘制于较低者之上 (默认 0)。
targetMoveToTarget将 mobject 移动至的状态。
返回
该平面。除非赋值给它,否则它不是场景的
plane。
源码
manimgx\scene.py
add_axes
¶
向场景添加坐标轴,一个场景单位对应一个单位。
animate是否以动画绘入(
Create)。color其颜色。
返回 该坐标轴。
源码
manimgx\scene.py
get_vector
¶
从场景平面的原点生成一个箭头,指向以平面坐标给定的点。
numerical_vector该点在
plane上的 坐标:x 与 y(z 被忽略)。max_tip_length_to_length_ratio尖端最长可为多长,为其长度的比例:短箭头的尖端更短(默认 0.25)。
max_stroke_width_to_length_ratio描边最宽可为多宽,以每场景单位长度的百分之一场景单位计:短箭头更细(默认 5)。
tip_shape其尖端的类(默认 ArrowTriangleFilledTip)。
path_arc直线所弯曲的角度,以弧度计:0 为直;否则为从起点到终点的弧, 为正时逆时针(行进时向右弯),为负时顺时针(默认 0)。
color填充和描边共用的颜色(默认白色;Circle 的为 红色);None 表示类的默认值。
tip_lengthnormal_vector路径所在平面的法向量(默认 OUT)。为兼容 Manim 而接受;被忽略且不保留。
tip_style路径所生成尖端的样式关键字(默认 None:无)。除非在此给出,否则尖端的
fill_color和stroke_color取路径的颜色。fill_color填充的颜色;未给出时为
color。多个颜色沿sheen_direction构成渐变。fill_opacity填充的不透明度,取值从 0 到 1(默认 0:无填充)。
stroke_color描边的颜色;未给出时为
color。多个颜色构成渐变。stroke_opacity描边的不透明度,取值从 0 到 1(默认 1)。
stroke_width描边的宽度,以场景单位的百分之一计(默认 4;0:无描边)。
background_stroke_color绘制于填充之后的轮廓颜色(默认黑色)。
background_stroke_opacity轮廓的不透明度,取值从 0 到 1(默认 1)。
background_stroke_width轮廓的宽度,以场景单位的百分之一计(默认 0:无)。
sheen_factor颜色朝
sheen_direction变亮的程度,取值从 -1 到 1(默认 0); 负值变暗。sheen_direction颜色变亮的方向(默认
UL)。joint_type描边在路径转折处的连接方式:圆角、斜切或斜接,按二维场景的绘制方式 (参见 LineJointType;默认 AUTO:斜接)。
cap_style描边在其显示的每一端的端点样式(开放路径的端点、虚线的端点):圆头、平头 或方头,按二维场景的绘制方式(参见 CapStyleType;默认 AUTO:平头)。
shade_in_3d三维场景的光是否对该 mobject 着色。
material其表面在三维场景中如何反射场景的光(参见 Material);None:Manim 的着色(默认)。
namemobject 的名称;未给出时为其类名。
z_index其在绘制顺序中的位置:索引较高者绘制于较低者之上 (默认 0)。
targetMoveToTarget将 mobject 移动至的状态。
返回 一个新箭头,未添加到场景。
源码
manimgx\scene.py
add_vector
¶
向场景添加一个向量:给定的箭头,或从原点到给定坐标的 Vector。
若 animate 为是、或在场景的 grows_vectors 为是时(向量场景为是,
变换场景为否),它以从原点生长的方式显示(GrowArrow);
然后场景接管它:LinearTransformationScene
使其随平面移动。
vector一个箭头,或向量尖端的坐标,以场景单位表示。
color当由坐标生成时向量的颜色。
animate是否以 play 生长;None 取场景的
grows_vectors。max_tip_length_to_length_ratio尖端最长可为多长,为其长度的比例:短箭头的尖端更短(默认 0.25)。
max_stroke_width_to_length_ratio描边最宽可为多宽,以每场景单位长度的百分之一场景单位计:短箭头更细(默认 5)。
tip_shape其尖端的类(默认 ArrowTriangleFilledTip)。
path_arc直线所弯曲的角度,以弧度计:0 为直;否则为从起点到终点的弧, 为正时逆时针(行进时向右弯),为负时顺时针(默认 0)。
tip_lengthnormal_vector路径所在平面的法向量(默认 OUT)。为兼容 Manim 而接受;被忽略且不保留。
tip_style路径所生成尖端的样式关键字(默认 None:无)。除非在此给出,否则尖端的
fill_color和stroke_color取路径的颜色。fill_color填充的颜色;未给出时为
color。多个颜色沿sheen_direction构成渐变。fill_opacity填充的不透明度,取值从 0 到 1(默认 0:无填充)。
stroke_color描边的颜色;未给出时为
color。多个颜色构成渐变。stroke_opacity描边的不透明度,取值从 0 到 1(默认 1)。
stroke_width描边的宽度,以场景单位的百分之一计(默认 4;0:无描边)。
background_stroke_color绘制于填充之后的轮廓颜色(默认黑色)。
background_stroke_opacity轮廓的不透明度,取值从 0 到 1(默认 1)。
background_stroke_width轮廓的宽度,以场景单位的百分之一计(默认 0:无)。
sheen_factor颜色朝
sheen_direction变亮的程度,取值从 -1 到 1(默认 0); 负值变暗。sheen_direction颜色变亮的方向(默认
UL)。joint_type描边在路径转折处的连接方式:圆角、斜切或斜接,按二维场景的绘制方式 (参见 LineJointType;默认 AUTO:斜接)。
cap_style描边在其显示的每一端的端点样式(开放路径的端点、虚线的端点):圆头、平头 或方头,按二维场景的绘制方式(参见 CapStyleType;默认 AUTO:平头)。
shade_in_3d三维场景的光是否对该 mobject 着色。
material其表面在三维场景中如何反射场景的光(参见 Material);None:Manim 的着色(默认)。
namemobject 的名称;未给出时为其类名。
z_index其在绘制顺序中的位置:索引较高者绘制于较低者之上 (默认 0)。
targetMoveToTarget将 mobject 移动至的状态。
返回 该箭头。
源码
manimgx\scene.py
write_vector_coordinates
¶
在一个 Write 的 play 中,将向量的坐标作为一列写在
其尖端旁(其 coordinate_label)。
v_buff各行之间的距离,以场景单位表示,从一行的条目对齐角到下一行的对齐角 (默认 0.8)。
h_buff各列之间的距离,以场景单位表示,同上(默认 1.3)。
bracket_h_buff条目与每个括号之间的间距,以场景单位表示(默认 0.25)。
bracket_v_buff当括号被拉伸时,括号在条目上下方延伸的距离,以场景单位表示 (默认 0.25)。
add_background_rectangles_to_entries每个条目是否获得一个背景矩形(默认 False)。
include_background_rectangle矩阵是否获得一个背景矩形(默认 False)。
element_alignment_corner每个条目放置在网格上的角,以方向命名:DR 使一列中的条目按其右侧对齐, UL 则按其左侧对齐(默认 DR)。
left_bracket左括号,作为 LaTeX 分隔符:
"[","(","\{","\langle","|", …(默认"[")。right_bracket右括号,作为 LaTeX 分隔符(默认
"]")。stretch_brackets括号是否被拉伸到条目的高度,并再延伸
bracket_v_buff的距离 (默认 True)。bracket_config括号的 Math 关键字: 其
color,…(默认 None:无)。element_to_mobject构造每个条目的 mobject 的函数,以条目和
element_to_mobject_config的关键字 参数调用(默认:矩阵类自身的函数,对于 Matrix 为 MathTex)。element_to_mobject_configelement_to_mobject的关键字参数(默认 None:矩阵类自身的设置,对于 Matrix 为无)。color填充与描边共用的颜色(默认白色);None 表示该类的默认值。
fill_color填充的颜色;未给出时为
color。多个颜色沿sheen_direction构成渐变。fill_opacity填充的不透明度,取值从 0 到 1(默认 0:无填充)。
stroke_color描边的颜色;未给出时为
color。多个颜色构成渐变。stroke_opacity描边的不透明度,取值从 0 到 1(默认 1)。
stroke_width描边的宽度,以场景单位的百分之一计(默认 4;0:无描边)。
background_stroke_color绘制于填充之后的轮廓颜色(默认黑色)。
background_stroke_opacity轮廓的不透明度,取值从 0 到 1(默认 1)。
background_stroke_width轮廓的宽度,以场景单位的百分之一计(默认 0:无)。
sheen_factor颜色朝
sheen_direction变亮的程度,取值从 -1 到 1(默认 0); 负值变暗。sheen_direction颜色变亮的方向(默认
UL)。joint_type描边在路径转折处的连接方式:圆角、斜切或斜接,按二维场景的绘制方式 (参见 LineJointType;默认 AUTO:斜接)。
cap_style描边在其显示的每一端的端点样式(开放路径的端点、虚线的端点):圆头、平头 或方头,按二维场景的绘制方式(参见 CapStyleType;默认 AUTO:平头)。
shade_in_3d三维场景的光是否对该 mobject 着色。
material其表面在三维场景中如何反射场景的光(参见 Material);None:Manim 的着色(默认)。
namemobject 的名称;未给出时为其类名。
z_index其在绘制顺序中的位置:索引较高者绘制于较低者之上 (默认 0)。
targetMoveToTarget将 mobject 移动至的状态。
返回 该列。
源码
manimgx\scene.py
get_basis_vectors
¶
生成基向量 î 与 ĵ:从原点到 (1, 0) 与 (0, 1) 的箭头,以场景单位 表示。
i_hat_colorî 的颜色。
j_hat_colorĵ 的颜色。
返回 二者的新组,î 在前。
源码
manimgx\scene.py
get_basis_vector_labels
¶
为基向量生成标签:î 与 ĵ,颜色取 x 与 y 轴的颜色 (绿色与红色)。
at_tip标签是否位于向量尖端之外,而非其旁边中部(默认 False)。
direction沿向量方向看时标签所在的侧(默认 "left")。
rotate标签是否随向量转动,而非保持直立(默认 False)。
返回 两个标签的新组,î 的在前。
源码
manimgx\scene.py
get_vector_label
¶
为向量生成标签:在其旁边中部,左侧或右侧,或在其尖端之外。
字符串以 LaTeX 排版,单字母作为粗体向量
(\vec{\textbf{v}}),颜色取向量的颜色。标签带有背景矩形,
以便在其下方的线条之上可读。
self.get_vector_label(vector, label, at_tip=False, direction='left', rotate=False, color=None, label_scale_factor=LARGE_BUFF - 0.2)
vector该向量,从原点出发。
label该标签:一个 mobject,或 LaTeX。
at_tip是否位于向量尖端之外,而非其旁边中部。
direction沿向量方向看时标签所在的侧。
rotate是否随向量转动,而非保持直立。
color当由字符串生成时的颜色;None 取向量的颜色。
label_scale_factor其缩放倍数。
返回 该标签,未添加到场景。
源码
manimgx\scene.py
label_vector
¶
为向量加标签,并将标签添加到场景(见
get_vector_label)。
vector该向量,从原点出发。
label该标签:一个 mobject,或 LaTeX。
animate是否以动画写入(
Write)。color当标签由字符串生成时的颜色(默认 None:取向量的颜色)。
label_scale_factor标签的缩放倍数(默认 0.8)。
at_tip标签是否位于向量尖端之外,而非其旁边中部(默认 False)。
direction沿向量方向看时标签所在的侧(默认 "left")。
rotate标签是否随向量转动,而非保持直立(默认 False)。
返回 该标签。
源码
manimgx\scene.py
vector_to_coords
¶
以一系列 play 展示向量如何给出其坐标。
向量(当由坐标给定时先绘制)获得一条沿 x 的线与一条到其尖端的线, 各带其坐标写入;然后坐标移动到其尖端旁的一列中。
vector该向量,从原点出发,或其坐标。
integer_labels坐标是否四舍五入为整数。
clean_up场景是否在结束时保持其之前所持有的内容。
返回 坐标列、沿 x 的线与到尖端的线。
源码
manimgx\scene.py
LinearTransformationScene
¶
代码
import manimgx as m
class LinearTransformationSceneExample(m.LinearTransformationScene):
def __init__(self) -> None:
super().__init__(show_coordinates=True, leave_ghost_vectors=True)
def construct(self) -> None:
self.add_unit_square()
self.add_vector([-1, 2], color=m.YELLOW)
self.apply_matrix([[1, 1], [0, 1]]) # a shear
self.wait()
用于平面的线性变换的场景:一个矩阵作用于平面及其上的一切,在一次动画中。
在 construct 之前,它铺设一个静止的背景平面
(background_plane)、其上一个随变换移动的平面
(plane)以及基向量 î 与 ĵ
(i_hat 与 j_hat,合称 basis_vectors)。
apply_matrix 随后按类别
变换场景所持有的一切:可变换 mobject 的点,如同平面的点;向量,重绘到其
尖端所去之处;跟随它们的标签;以及移动 mobject,整体移动到其中心所去之处。
背景与前景 mobject 留在原处。
include_background_plane是否有一个平面在背景中保持静止。
include_foreground_plane是否有其上一个随变换移动的平面:即场景的
plane。background_plane_kwargs背景平面的数平面关键字, 叠加在其自身默认值(灰色线条)之上。
foreground_plane_kwargs移动平面的数平面关键字, 叠加在其自身默认值(它延伸超出帧,以便移动时帧保持被覆盖)之上。
show_coordinates背景平面的坐标轴是否编号。
show_basis_vectors是否绘制基向量;它们随变换移动。
basis_vector_stroke_width基向量的描边宽度,以场景单位的百分之一 表示。
i_hat_colorî 的颜色。
j_hat_colorĵ 的颜色。
leave_ghost_vectors每次变换是否在向量原处留下其褪色副本。
源码
manimgx\scene.py
ghost_vectors
¶
变换所留的、整体移动之物的褪色副本,在其原处,带
leave_ghost_vectors。
setup
¶
铺设平面与基向量,并将其添加到场景。
render 在 construct 之前调用它;它只执行一次。
重写它的子类须先调用本方法。
源码
manimgx\scene.py
add_background_mobject
¶
add_foreground_mobject
¶
add_transformable_mobject
¶
add_moving_mobject
¶
添加变换整体移动、形状不变的 mobject:移动到变换所取其中心之处。
target_mobject其移动时所变成的形态,放置在变换所取其中心之处; None 表示其自身。
源码
manimgx\scene.py
get_ghost_vectors
¶
get_unit_square
¶
生成一个覆盖平面单位正方形的矩形:从其原点起,x 方向一单位宽、 y 方向一单位高。
color其填充与描边的颜色。
opacity其填充的不透明度,从 0 到 1。
stroke_width其描边的宽度,以场景单位的百分之一表示。
返回
一个新矩形,同时保存为场景的 square。
源码
manimgx\scene.py
add_unit_square
¶
添加平面的单位正方形,变换使其随平面移动:其面积显示变换如何缩放 面积。
随后移动向量被带到最前,位于其上。
animate是否以动画绘入:先其边框,后其填充。
color其填充与描边的颜色(默认黄色)。
opacity其填充的不透明度,从 0 到 1(默认 0.3)。
stroke_width其描边的宽度,以场景单位的百分之一表示(默认 3)。
源码
manimgx\scene.py
write_vector_coordinates
¶
将向量的坐标作为一列写在尖端旁,该列保持最前、原位不动,贯穿变换。
v_buff各行之间的距离,以场景单位表示,从一行的条目对齐角到下一行的对齐角 (默认 0.8)。
h_buff各列之间的距离,以场景单位表示,同上(默认 1.3)。
bracket_h_buff条目与每个括号之间的间距,以场景单位表示(默认 0.25)。
bracket_v_buff当括号被拉伸时,括号在条目上下方延伸的距离,以场景单位表示 (默认 0.25)。
add_background_rectangles_to_entries每个条目是否获得一个背景矩形(默认 False)。
include_background_rectangle矩阵是否获得一个背景矩形(默认 False)。
element_alignment_corner每个条目放置在网格上的角,以方向命名:DR 使一列中的条目按其右侧对齐, UL 则按其左侧对齐(默认 DR)。
left_bracket左括号,作为 LaTeX 分隔符:
"[","(","\{","\langle","|", …(默认"[")。right_bracket右括号,作为 LaTeX 分隔符(默认
"]")。stretch_brackets括号是否被拉伸到条目的高度,并再延伸
bracket_v_buff的距离 (默认 True)。bracket_config括号的 Math 关键字: 其
color,…(默认 None:无)。element_to_mobject构造每个条目的 mobject 的函数,以条目和
element_to_mobject_config的关键字 参数调用(默认:矩阵类自身的函数,对于 Matrix 为 MathTex)。element_to_mobject_configelement_to_mobject的关键字参数(默认 None:矩阵类自身的设置,对于 Matrix 为无)。color填充与描边共用的颜色(默认白色);None 表示该类的默认值。
fill_color填充的颜色;未给出时为
color。多个颜色沿sheen_direction构成渐变。fill_opacity填充的不透明度,取值从 0 到 1(默认 0:无填充)。
stroke_color描边的颜色;未给出时为
color。多个颜色构成渐变。stroke_opacity描边的不透明度,取值从 0 到 1(默认 1)。
stroke_width描边的宽度,以场景单位的百分之一计(默认 4;0:无描边)。
background_stroke_color绘制于填充之后的轮廓颜色(默认黑色)。
background_stroke_opacity轮廓的不透明度,取值从 0 到 1(默认 1)。
background_stroke_width轮廓的宽度,以场景单位的百分之一计(默认 0:无)。
sheen_factor颜色朝
sheen_direction变亮的程度,取值从 -1 到 1(默认 0); 负值变暗。sheen_direction颜色变亮的方向(默认
UL)。joint_type描边在路径转折处的连接方式:圆角、斜切或斜接,按二维场景的绘制方式 (参见 LineJointType;默认 AUTO:斜接)。
cap_style描边在其显示的每一端的端点样式(开放路径的端点、虚线的端点):圆头、平头 或方头,按二维场景的绘制方式(参见 CapStyleType;默认 AUTO:平头)。
shade_in_3d三维场景的光是否对该 mobject 着色。
material其表面在三维场景中如何反射场景的光(参见 Material);None:Manim 的着色(默认)。
namemobject 的名称;未给出时为其类名。
z_index其在绘制顺序中的位置:索引较高者绘制于较低者之上 (默认 0)。
targetMoveToTarget将 mobject 移动至的状态。
返回 该列。
源码
manimgx\scene.py
add_transformable_label
¶
为向量加一个变换所携带并改写的标签。
变换后,标签位于向量所到之处,并显示 new_label,或变换名所包裹的
标签:标签 v 显示为 L(v)。
vector该向量,从原点出发。
label该标签:一个 mobject,或 LaTeX(见
get_vector_label)。transformation_name变换的名称。
new_label变换后标签所显示的内容;None 表示变换名包裹它。
animate是否以动画写入。
color当标签由字符串生成时的颜色(默认 None:取向量的颜色)。
label_scale_factor标签的缩放倍数(默认 0.8)。
at_tip标签是否位于向量尖端之外,而非其旁边中部(默认 False)。
direction沿向量方向看时标签所在的侧(默认 "left")。
rotate标签是否随向量转动,而非保持直立(默认 False)。
返回 该标签。
源码
manimgx\scene.py
add_title
¶
在帧顶部添加标题,最前且静止,带背景矩形。
title该标题:一个 mobject,或文本,以
Tex排版。scale_factor文本的缩放倍数。
animate是否以动画写入。
源码
manimgx\scene.py
apply_matrix
¶
在一次 play 中将矩阵作用于平面及其上的一切。
变换所移动的一切都去往矩阵所取之处(见
apply_function)。除非
给定 path_arc,各点沿弧线移动,弧线转过的角度为矩阵转动 î 与 ĵ 所
转角度的均值。
matrix一个作用于 x 与 y 的 2 × 2 矩阵,或一个 3 × 3 矩阵:其列 为矩阵所取 î 与 ĵ 之处。
run_time动画播放时长,以秒为单位(默认 1)。
lag_ratiomobject 各部分如何交错:每个部分在其前一个部分开始后,经过其运行时长的该分数比例后开始 (默认 0:全部同时;1:一个接一个)。
rate_func动画进度如何随时间运行:一个从 [0, 1] 到 [0, 1] 的函数 (默认为
smooth;参见 rate functions)。reverse_rate_function是否反向运行动画(默认 False)。
name动画的名称。
remover动画结束时 mobject 是否离开场景 (默认 False)。
suspend_mobject_updating动画期间 mobject 的更新器是否在其下运行(默认 True):它们 持续作用于 mobject,每一帧显示动画应用于其结果。 若为 False,则它们作用于被动画的 mobject 本身。
introducer动画开始时 mobject 是否加入场景(默认 False); 否则若场景缺少它,play 在其开始时将其带入。
use_override若某 mobject 的类用另一个动画代替此动画播放,是否如此执行 (默认 True)。
还接受 变换关键字。
源码
manimgx\scene.py
apply_inverse
¶
将矩阵的逆作用于平面及其上的一切:撤销同一矩阵的
apply_matrix。
matrix该矩阵,2 × 2 或 3 × 3,必须可逆。
run_time动画播放时长,以秒为单位(默认 1)。
lag_ratiomobject 各部分如何交错:每个部分在其前一个部分开始后,经过其运行时长的该分数比例后开始 (默认 0:全部同时;1:一个接一个)。
rate_func动画进度如何随时间运行:一个从 [0, 1] 到 [0, 1] 的函数 (默认为
smooth;参见 rate functions)。reverse_rate_function是否反向运行动画(默认 False)。
name动画的名称。
remover动画结束时 mobject 是否离开场景 (默认 False)。
suspend_mobject_updating动画期间 mobject 的更新器是否在其下运行(默认 True):它们 持续作用于 mobject,每一帧显示动画应用于其结果。 若为 False,则它们作用于被动画的 mobject 本身。
introducer动画开始时 mobject 是否加入场景(默认 False); 否则若场景缺少它,play 在其开始时将其带入。
use_override若某 mobject 的类用另一个动画代替此动画播放,是否如此执行 (默认 True)。
还接受 变换关键字。
源码
manimgx\scene.py
apply_transposed_matrix
¶
将矩阵(由其转置给出)作用于平面及其上的一切:如同
apply_matrix 所为。
transposed_matrix矩阵的转置,其行为矩阵所取 î 与 ĵ 之处。
run_time动画播放时长,以秒为单位(默认 1)。
lag_ratiomobject 各部分如何交错:每个部分在其前一个部分开始后,经过其运行时长的该分数比例后开始 (默认 0:全部同时;1:一个接一个)。
rate_func动画进度如何随时间运行:一个从 [0, 1] 到 [0, 1] 的函数 (默认为
smooth;参见 rate functions)。reverse_rate_function是否反向运行动画(默认 False)。
name动画的名称。
remover动画结束时 mobject 是否离开场景 (默认 False)。
suspend_mobject_updating动画期间 mobject 的更新器是否在其下运行(默认 True):它们 持续作用于 mobject,每一帧显示动画应用于其结果。 若为 False,则它们作用于被动画的 mobject 本身。
introducer动画开始时 mobject 是否加入场景(默认 False); 否则若场景缺少它,play 在其开始时将其带入。
use_override若某 mobject 的类用另一个动画代替此动画播放,是否如此执行 (默认 True)。
还接受 变换关键字。
源码
manimgx\scene.py
apply_inverse_transpose
¶
将矩阵转置的逆作用于平面及其上的一切。
t_matrix该矩阵,2 × 2 或 3 × 3,必须可逆。
run_time动画播放时长,以秒为单位(默认 1)。
lag_ratiomobject 各部分如何交错:每个部分在其前一个部分开始后,经过其运行时长的该分数比例后开始 (默认 0:全部同时;1:一个接一个)。
rate_func动画进度如何随时间运行:一个从 [0, 1] 到 [0, 1] 的函数 (默认为
smooth;参见 rate functions)。reverse_rate_function是否反向运行动画(默认 False)。
name动画的名称。
remover动画结束时 mobject 是否离开场景 (默认 False)。
suspend_mobject_updating动画期间 mobject 的更新器是否在其下运行(默认 True):它们 持续作用于 mobject,每一帧显示动画应用于其结果。 若为 False,则它们作用于被动画的 mobject 本身。
introducer动画开始时 mobject 是否加入场景(默认 False); 否则若场景缺少它,play 在其开始时将其带入。
use_override若某 mobject 的类用另一个动画代替此动画播放,是否如此执行 (默认 True)。
还接受 变换关键字。
源码
manimgx\scene.py
apply_nonlinear_transformation
¶
将一个不必线性的函数作用于平面及其上的一切。
平面的线条先被分为许多曲线,以便其可弯曲(见
apply_function)。
function该函数,从点到其像,以场景坐标表示。
run_time动画播放时长,以秒为单位(默认 1)。
lag_ratiomobject 各部分如何交错:每个部分在其前一个部分开始后,经过其运行时长的该分数比例后开始 (默认 0:全部同时;1:一个接一个)。
rate_func动画进度如何随时间运行:一个从 [0, 1] 到 [0, 1] 的函数 (默认为
smooth;参见 rate functions)。reverse_rate_function是否反向运行动画(默认 False)。
name动画的名称。
remover动画结束时 mobject 是否离开场景 (默认 False)。
suspend_mobject_updating动画期间 mobject 的更新器是否在其下运行(默认 True):它们 持续作用于 mobject,每一帧显示动画应用于其结果。 若为 False,则它们作用于被动画的 mobject 本身。
introducer动画开始时 mobject 是否加入场景(默认 False); 否则若场景缺少它,play 在其开始时将其带入。
use_override若某 mobject 的类用另一个动画代替此动画播放,是否如此执行 (默认 True)。
还接受 变换关键字。
源码
manimgx\scene.py
apply_function
¶
在一次 play 中将函数作用于平面及其上的一切。
可变换 mobject 的每个点都去往 function 所取之处;每个向量重绘到其
尖端所去之处,其可变换标签跟随它;每个移动 mobject 整体移到其中心所
去之处;前景 mobject 留在原处。带 leave_ghost_vectors 时,整体移动
者的褪色副本留在其后。
function该函数,从点到其像,以场景坐标表示。
added_anims一同播放的动画。
run_time动画播放时长,以秒为单位(默认 1)。
lag_ratiomobject 各部分如何交错:每个部分在其前一个部分开始后,经过其运行时长的该分数比例后开始 (默认 0:全部同时;1:一个接一个)。
rate_func动画进度如何随时间运行:一个从 [0, 1] 到 [0, 1] 的函数 (默认为
smooth;参见 rate functions)。reverse_rate_function是否反向运行动画(默认 False)。
name动画的名称。
remover动画结束时 mobject 是否离开场景 (默认 False)。
suspend_mobject_updating动画期间 mobject 的更新器是否在其下运行(默认 True):它们 持续作用于 mobject,每一帧显示动画应用于其结果。 若为 False,则它们作用于被动画的 mobject 本身。
introducer动画开始时 mobject 是否加入场景(默认 False); 否则若场景缺少它,play 在其开始时将其带入。
use_override若某 mobject 的类用另一个动画代替此动画播放,是否如此执行 (默认 True)。
还接受 变换关键字。
源码
manimgx\scene.py
ZoomedScene
¶
代码
import manimgx as m
class ZoomedSceneExample(m.ZoomedScene):
def construct(self) -> None:
title = m.Text("manimgx", font_size=120).shift(m.LEFT)
note = m.Text("exact in time, typed throughout", font_size=14)
note.next_to(title, m.DOWN)
self.add(title, note)
frame = self.zoomed_camera.frame
frame.move_to(note.get_left())
self.activate_zooming(animate=True)
self.play(frame.animate.move_to(note.get_right()), run_time=2)
带第二个相机的场景,其画面显示在帧中:一个放大镜。
zoomed_camera 观察其帧(场景中的一个小矩形
zoomed_camera.frame)所覆盖的内容,zoomed_display 在帧的一个角落中
较大地显示其画面。二者随
activate_zooming 出现;移动、
缩放或为缩放相机的帧添加动画以观察别处,画面随之跟随。
zoomed_display_height显示的高度,以场景单位表示。
zoomed_display_width显示的宽度,以场景单位表示。
zoomed_display_center显示中心所在位置;None 表示帧的一个角落。
zoomed_display_corner当无
zoomed_display_center时显示所在的帧的 角落:一个方向,如UR。zoomed_display_corner_buff显示在该角落处距各边的距离,以场景单位 表示。
zoomed_camera_config缩放相机的外观: 其帧的轮廓,及其画面的背景。
zoomed_camera_image_mobject_config显示的关键字参数,即缩放相机所观察 画面的样式,及其轮廓的 (
default_display_frame_config)。zoomed_camera_frame_starting_position缩放相机帧的起始位置。
zoom_factor缩放相机帧的尺寸,作为显示尺寸的分数:显示放大
1 / zoom_factor倍。image_frame_stroke_width为兼容 Manim 而接受;被忽略。
zoom_activated缩放是否激活:
activate_zooming设置它, 其自身不显示任何内容。
源码
manimgx\scene.py
setup
¶
创建缩放相机及其显示:render 在 construct
之前调用它。重写它的子类须先调用本方法。
源码
manimgx\scene.py
activate_zooming
¶
在最前显示缩放相机的帧及其显示。
animate是否先以两次 play 为其出现添加动画:帧从整个视图缩小到其 位置(
get_zoom_in_animation),然后显示从中生长到自身位置 (get_zoomed_display_pop_out_animation)。
源码
manimgx\scene.py
get_zoom_in_animation
¶
制作缩放相机帧从整个视图缩小到其位置的动画。
帧立即移动到其起始状态:覆盖视图,以原点为中心,无轮廓,直到动画播放。
run_time动画播放时长,以秒为单位(默认 1)。
lag_ratiomobject 各部分如何交错:每个部分在其前一个部分开始后,经过其运行时长的该分数比例后开始 (默认 0:全部同时;1:一个接一个)。
rate_func动画进度如何随时间运行:一个从 [0, 1] 到 [0, 1] 的函数 (默认为
smooth;参见 rate functions)。reverse_rate_function是否反向运行动画(默认 False)。
name动画的名称。
remover动画结束时 mobject 是否离开场景 (默认 False)。
suspend_mobject_updating动画期间 mobject 的更新器是否在其下运行(默认 True):它们 持续作用于 mobject,每一帧显示动画应用于其结果。 若为 False,则它们作用于被动画的 mobject 本身。
introducer动画开始时 mobject 是否加入场景(默认 False); 否则若场景缺少它,play 在其开始时将其带入。
use_override若某 mobject 的类用另一个动画代替此动画播放,是否如此执行 (默认 True)。
还接受 变换关键字。
返回 该动画,以供播放。
源码
manimgx\scene.py
get_zoomed_display_pop_out_animation
¶
制作显示从缩放相机帧生长到其位置的动画。
显示立即移动到其起始状态:覆盖缩放相机的帧,直到动画播放。
run_time动画播放时长,以秒为单位(默认 1)。
lag_ratiomobject 各部分如何交错:每个部分在其前一个部分开始后,经过其运行时长的该分数比例后开始 (默认 0:全部同时;1:一个接一个)。
rate_func动画进度如何随时间运行:一个从 [0, 1] 到 [0, 1] 的函数 (默认为
smooth;参见 rate functions)。reverse_rate_function是否反向运行动画(默认 False)。
name动画的名称。
remover动画结束时 mobject 是否离开场景 (默认 False)。
suspend_mobject_updating动画期间 mobject 的更新器是否在其下运行(默认 True):它们 持续作用于 mobject,每一帧显示动画应用于其结果。 若为 False,则它们作用于被动画的 mobject 本身。
introducer动画开始时 mobject 是否加入场景(默认 False); 否则若场景缺少它,play 在其开始时将其带入。
use_override若某 mobject 的类用另一个动画代替此动画播放,是否如此执行 (默认 True)。
还接受 变换关键字。
返回 该动画,以供播放。
源码
manimgx\scene.py
ZoomedCameraConfig
¶
缩放相机的外观:其帧的描边与其画面的背景。
default_frame_stroke_width缩放相机帧轮廓的宽度,以场景单位的百分之一表示(默认 2)。
default_frame_stroke_color缩放相机帧轮廓的颜色(默认白色)。
background_opacity缩放画面背景的不透明度,从 0 到 1(默认 1:遮挡其后的显示内容)。
ArrowTipsBase
¶
Arrow 除两端、缓冲和颜色外的关键字(供设置它们的方法使用): 其尖端、短时如何缩小,以及其弯曲。
max_tip_length_to_length_ratio尖端最长可为多长,为其长度的比例:短箭头的尖端更短(默认 0.25)。
max_stroke_width_to_length_ratio描边最宽可为多宽,以每场景单位长度的百分之一场景单位计:短箭头更细(默认 5)。
tip_shape其尖端的类(默认 ArrowTriangleFilledTip)。
path_arc直线所弯曲的角度,以弧度计:0 为直;否则为从起点到终点的弧, 为正时逆时针(行进时向右弯),为负时顺时针(默认 0)。
tip_lengthnormal_vector路径所在平面的法向量(默认 OUT)。为兼容 Manim 而接受;被忽略且不保留。
tip_style路径所生成尖端的样式关键字(默认 None:无)。除非在此给出,否则尖端的
fill_color和stroke_color取路径的颜色。fill_color填充的颜色;未给出时为
color。多个颜色沿sheen_direction构成渐变。fill_opacity填充的不透明度,取值从 0 到 1(默认 0:无填充)。
stroke_color描边的颜色;未给出时为
color。多个颜色构成渐变。stroke_opacity描边的不透明度,取值从 0 到 1(默认 1)。
stroke_width描边的宽度,以场景单位的百分之一计(默认 4;0:无描边)。
background_stroke_color绘制于填充之后的轮廓颜色(默认黑色)。
background_stroke_opacity轮廓的不透明度,取值从 0 到 1(默认 1)。
background_stroke_width轮廓的宽度,以场景单位的百分之一计(默认 0:无)。
sheen_factor颜色朝
sheen_direction变亮的程度,取值从 -1 到 1(默认 0); 负值变暗。sheen_direction颜色变亮的方向(默认
UL)。joint_type描边在路径转折处的连接方式:圆角、斜切或斜接,按二维场景的绘制方式 (参见 LineJointType;默认 AUTO:斜接)。
cap_style描边在其显示的每一端的端点样式(开放路径的端点、虚线的端点):圆头、平头 或方头,按二维场景的绘制方式(参见 CapStyleType;默认 AUTO:平头)。
shade_in_3d三维场景的光是否对该 mobject 着色。
material其表面在三维场景中如何反射场景的光(参见 Material);None:Manim 的着色(默认)。
namemobject 的名称;未给出时为其类名。
z_index其在绘制顺序中的位置:索引较高者绘制于较低者之上 (默认 0)。
targetMoveToTarget将 mobject 移动至的状态。
MatrixOptions
¶
Matrix 除条目以外的关键字参数,供将其传递下去的方法使用 (如向量的坐标标签):即条目的类型,以及其 布局、括号和样式。
v_buff各行之间的距离,以场景单位表示,从一行的条目对齐角到下一行的对齐角 (默认 0.8)。
h_buff各列之间的距离,以场景单位表示,同上(默认 1.3)。
bracket_h_buff条目与每个括号之间的间距,以场景单位表示(默认 0.25)。
bracket_v_buff当括号被拉伸时,括号在条目上下方延伸的距离,以场景单位表示 (默认 0.25)。
add_background_rectangles_to_entries每个条目是否获得一个背景矩形(默认 False)。
include_background_rectangle矩阵是否获得一个背景矩形(默认 False)。
element_alignment_corner每个条目放置在网格上的角,以方向命名:DR 使一列中的条目按其右侧对齐, UL 则按其左侧对齐(默认 DR)。
left_bracket左括号,作为 LaTeX 分隔符:
"[","(","\{","\langle","|", …(默认"[")。right_bracket右括号,作为 LaTeX 分隔符(默认
"]")。stretch_brackets括号是否被拉伸到条目的高度,并再延伸
bracket_v_buff的距离 (默认 True)。bracket_config括号的 Math 关键字: 其
color,…(默认 None:无)。element_to_mobject构造每个条目的 mobject 的函数,以条目和
element_to_mobject_config的关键字 参数调用(默认:矩阵类自身的函数,对于 Matrix 为 MathTex)。element_to_mobject_configelement_to_mobject的关键字参数(默认 None:矩阵类自身的设置,对于 Matrix 为无)。color填充与描边共用的颜色(默认白色);None 表示该类的默认值。
fill_color填充的颜色;未给出时为
color。多个颜色沿sheen_direction构成渐变。fill_opacity填充的不透明度,取值从 0 到 1(默认 0:无填充)。
stroke_color描边的颜色;未给出时为
color。多个颜色构成渐变。stroke_opacity描边的不透明度,取值从 0 到 1(默认 1)。
stroke_width描边的宽度,以场景单位的百分之一计(默认 4;0:无描边)。
background_stroke_color绘制于填充之后的轮廓颜色(默认黑色)。
background_stroke_opacity轮廓的不透明度,取值从 0 到 1(默认 1)。
background_stroke_width轮廓的宽度,以场景单位的百分之一计(默认 0:无)。
sheen_factor颜色朝
sheen_direction变亮的程度,取值从 -1 到 1(默认 0); 负值变暗。sheen_direction颜色变亮的方向(默认
UL)。joint_type描边在路径转折处的连接方式:圆角、斜切或斜接,按二维场景的绘制方式 (参见 LineJointType;默认 AUTO:斜接)。
cap_style描边在其显示的每一端的端点样式(开放路径的端点、虚线的端点):圆头、平头 或方头,按二维场景的绘制方式(参见 CapStyleType;默认 AUTO:平头)。
shade_in_3d三维场景的光是否对该 mobject 着色。
material其表面在三维场景中如何反射场景的光(参见 Material);None:Manim 的着色(默认)。
namemobject 的名称;未给出时为其类名。
z_index其在绘制顺序中的位置:索引较高者绘制于较低者之上 (默认 0)。
targetMoveToTarget将 mobject 移动至的状态。
v_buff
¶
各行之间的距离,以场景单位表示,从一行的条目对齐角到下一行的对齐角 (默认 0.8)。
h_buff
¶
各列之间的距离,以场景单位表示,同上(默认 1.3)。
bracket_h_buff
¶
条目与每个括号之间的间距,以场景单位表示(默认 0.25)。
bracket_v_buff
¶
当括号被拉伸时,括号在条目上下方延伸的距离,以场景单位表示 (默认 0.25)。
add_background_rectangles_to_entries
¶
每个条目是否获得一个背景矩形(默认 False)。
include_background_rectangle
¶
矩阵是否获得一个背景矩形(默认 False)。
element_alignment_corner
¶
每个条目放置在网格上的角,以方向命名:DR 使一列中的条目按其右侧对齐, UL 则按其左侧对齐(默认 DR)。
left_bracket
¶
左括号,作为 LaTeX 分隔符:"[", "(", "\{", "\langle",
"|", …(默认 "[")。
right_bracket
¶
右括号,作为 LaTeX 分隔符(默认 "]")。
stretch_brackets
¶
括号是否被拉伸到条目的高度,并再延伸 bracket_v_buff 的距离
(默认 True)。
element_to_mobject
¶
LabelPlacement
¶
向量标签所在位置(供传递它的方法使用)。
at_tip标签是否位于向量尖端之外,而非其旁边中部(默认 False)。
direction沿向量方向看时标签所在的侧(默认 "left")。
rotate标签是否随向量转动,而非保持直立(默认 False)。