线性变换场景¶
限定名称: manim.scene.vector\_space\_scene.LinearTransformationScene
- class LinearTransformationScene(include_background_plane=True, include_foreground_plane=True, background_plane_kwargs=None, foreground_plane_kwargs=None, show_coordinates=False, show_basis_vectors=True, basis_vector_stroke_width=6, i_hat_color=ManimColor('#83C167'), j_hat_color=ManimColor('#FC6255'), leave_ghost_vectors=False, **kwargs)[来源]¶
基础类:
VectorScene这个场景包含了一些特殊的方法,使其特别适合展示线性变换。
- Parameters:
include_background_plane (bool) – 是否在场景中包含背景平面。
include_foreground_plane (bool) – 是否在场景中包含前景平面。
background_plane_kwargs (dict | None) – 传递给
NumberPlane的参数,用于调整背景平面。foreground_plane_kwargs (dict | None) – 传递给
NumberPlane的参数,用于调整前景平面。show_coordinates (bool) – 是否包含背景平面的坐标。
show_basis_vectors (bool) – 是否显示基础x轴 ->
i_hat和 y轴 ->j_hat向量。basis_vector_stroke_width (float) – 基础向量的
stroke_width。i_hat_color (ParsableManimColor) –
i_hat向量的颜色。j_hat_color (ParsableManimColor) –
j_hat向量的颜色。leave_ghost_vectors (bool) – 表示变换后基向量的先前位置。
示例
示例:LinearTransformationSceneExample ¶
from manim import * class LinearTransformationSceneExample(LinearTransformationScene): def __init__(self, **kwargs): LinearTransformationScene.__init__( self, show_coordinates=True, leave_ghost_vectors=True, **kwargs ) def construct(self): matrix = [[1, 1], [0, 1]] self.apply_matrix(matrix) self.wait()
class LinearTransformationSceneExample(LinearTransformationScene): def __init__(self, **kwargs): LinearTransformationScene.__init__( self, show_coordinates=True, leave_ghost_vectors=True, **kwargs ) def construct(self): matrix = [[1, 1], [0, 1]] self.apply_matrix(matrix) self.wait()方法
将mobjects添加到特殊列表self.background_mobjects中。
将mobjects添加到特殊列表self.foreground_mobjects中。
将mobject添加到特殊列表self.moving_mobject中,并为mobject添加一个名为mobject.target的属性,该属性用于跟踪mobject将要移动到的位置或变成的状态等。
将具有额外重要性的mobjects添加到一个可以跟踪的单独列表中。
在缩放后添加一个标题,添加一个背景矩形,将其移动到顶部并添加到foreground_mobjects中,将其作为self的局部变量添加。
用于创建并为向量的可变换标签添加动画的方法。
将mobjects添加到特殊列表self.transformable_mobjects中。
通过self.get_unit_square向场景中添加一个单位正方形。
向场景中添加一个向量,并将其放入特殊列表 self.moving_vectors 中。
将给定的函数应用于self.transformable_mobjects中的每个mobject,并播放显示此操作的动画。
此方法将传递矩阵的逆所表示的线性变换应用于数字平面及其上的每个向量/相似对象。
将给定转置矩阵表示的变换的逆应用于数字平面及其上的每个向量/相似对象。
将给定矩阵表示的变换应用于数字平面,以及其上的每个向量/相似物体。
将由给定函数表示的非线性变换应用于数字平面及其上的每个向量/相似对象。
将给定转置矩阵表示的变换应用于数字平面及其上的每个向量/相似物体。
返回所有曾经添加到
self的幽灵向量。返回一个与传入矩阵表示的线性变换相对应的函数。
此方法返回一个动画,该动画将“self.moving_mobjects”中的mobject移动到其对应的.target值。
此方法返回一个动画,该动画将任意mobject“分段”移动到其对应的.target值。
此方法返回一个动画,该动画将“self.transformable_labels”中的所有标签移动到其对应的.target。
返回一个与传递的转置矩阵所表示的线性变换相对应的函数。
返回当前NumberPlane的单位正方形。
此方法返回一个动画,该动画将“self.moving_vectors”中的mobject移动到其对应的.target值。
这是为了由任何通常被子类化的场景实现,并且在调用构造方法之前涉及一些常见的设置。
update_default_configs返回一个列矩阵,表示向量坐标,在将它们写入屏幕后,并将它们添加到特殊列表 self.foreground_mobjects 中
属性
camera- add_background_mobject(*mobjects)[source]¶
将mobjects添加到特殊列表self.background_mobjects中。
- Parameters:
*mobjects (Mobject) – 要添加到列表中的mobjects。
- add_foreground_mobject(*mobjects)[source]¶
将mobjects添加到特殊列表self.foreground_mobjects中。
- Parameters:
*mobjects (Mobject) – 要添加到列表中的mobjects
- add_moving_mobject(mobject, target_mobject=None)[source]¶
将mobject添加到特殊列表 self.moving_mobject中,并为mobject添加一个属性 称为mobject.target,该属性 用于跟踪mobject将要移动到的位置 或变成什么等。
- add_special_mobjects(mob_list, *mobs_to_add)[来源]¶
将mobjects添加到一个可以跟踪的单独列表中,如果这些mobjects具有一些额外的重要性。
- Parameters:
mob_list (list) – 您想要添加这些mobjects的特殊列表。
*mobs_to_add (Mobject) – 要添加的mobjects。
- add_title(title, scale_factor=1.5, animate=False)[source]¶
在缩放后添加一个标题,添加背景矩形,将其移动到顶部并添加到foreground_mobjects中,将其作为self的局部变量。返回场景。
- Parameters:
- Returns:
添加了标题的场景。
- Return type:
- add_transformable_label(vector, label, transformation_name='L', new_label=None, **kwargs)[来源]¶
用于创建并为向量添加可变形标签的方法。
- add_transformable_mobject(*mobjects)[来源]¶
将mobjects添加到特殊列表self.transformable_mobjects中。
- Parameters:
*mobjects (Mobject) – 要添加到列表中的mobjects。
- add_unit_square(animate=False, **kwargs)[来源]¶
通过 self.get_unit_square 向场景中添加一个单位正方形。
- Parameters:
animate (bool) – 是否使用DrawBorderThenFill进行动画添加。
**kwargs – self.get_unit_square() 的任何有效关键字参数
- Returns:
单位正方形。
- Return type:
- add_vector(vector, color=ManimColor('#FFFF00'), **kwargs)[来源]¶
向场景中添加一个向量,并将其放入特殊列表 self.moving_vectors 中。
- apply_function(function, added_anims=[], **kwargs)[来源]¶
将给定的函数应用于self.transformable_mobjects中的每个mobject,并播放显示此操作的动画。
- Parameters:
function (Callable[[ndarray], ndarray]) – 影响self.transformable_mobjects中每个对象的每个点的函数。
added_anims (列表) – 需要与此动画同时播放的任何其他动画。
**kwargs – 任何有效的 self.play() 调用的关键字参数。
- apply_inverse(matrix, **kwargs)[来源]¶
此方法将传递矩阵的逆所表示的线性变换应用于数字平面,以及其上的每个向量/相似对象。
- Parameters:
matrix (ndarray | list | tuple) – 要应用逆矩阵的矩阵。
**kwargs – self.apply_matrix() 的任何有效关键字参数
- apply_inverse_transpose(t_matrix, **kwargs)[source]¶
将给定转置矩阵表示的变换的逆应用于数字平面及其上的每个向量/相似物体。
- Parameters:
t_matrix (ndarray | list | tuple) – 矩阵。
**kwargs – self.apply_transposed_matrix() 的任何有效关键字参数
- apply_matrix(matrix, **kwargs)[来源]¶
将给定矩阵表示的变换应用于数字平面,以及其上的每个向量/相似mobject。
- Parameters:
matrix (ndarray | list | tuple) – 矩阵。
**kwargs – self.apply_transposed_matrix() 的任何有效关键字参数
- apply_nonlinear_transformation(function, **kwargs)[来源]¶
将给定函数表示的非线性变换应用于数字平面及其上的每个向量/相似对象。
- Parameters:
function (Callable[[ndarray], ndarray]) – 函数。
**kwargs – self.apply_function() 的任何有效关键字参数
- apply_transposed_matrix(transposed_matrix, **kwargs)[source]¶
将给定转置矩阵所表示的变换应用于数字平面,以及其上的每个向量/相似物体。
- Parameters:
transposed_matrix (ndarray | list | tuple) – 矩阵。
**kwargs – self.apply_function() 的任何有效关键字参数
- get_matrix_transformation(matrix)[来源]¶
返回一个与传入矩阵表示的线性变换相对应的函数。
- Parameters:
matrix (ndarray | list | tuple) – 矩阵。
- get_moving_mobject_movement(func)[来源]¶
此方法返回一个动画,该动画将“self.moving_mobjects”中的mobject移动到其对应的.target值。func是一个确定.target位置的函数。
- Parameters:
func (Callable[[ndarray], ndarray]) – 确定移动对象的 .target 去向的函数。
- Returns:
运动的动画。
- Return type:
- get_piece_movement(pieces)[来源]¶
此方法返回一个动画,该动画将任意mobject“分段”移动到其对应的.target值。如果self.leave_ghost_vectors为True,原始位置/mobject的幽灵将留在屏幕上。
- Parameters:
pieces (list | tuple | ndarray) – 必须显示移动的棋子。
- Returns:
运动的动画。
- Return type:
- get_transformable_label_movement()[来源]¶
此方法返回一个动画,该动画将“self.transformable_labels”中的所有标签移动到其对应的.target。
- Returns:
运动的动画。
- Return type:
- get_transposed_matrix_transformation(transposed_matrix)[来源]¶
返回一个函数,该函数对应于由传递的转置矩阵表示的线性变换。
- Parameters:
transposed_matrix (ndarray | list | tuple) – 矩阵。
- get_unit_square(color=ManimColor('#FFFF00'), opacity=0.3, stroke_width=3)[来源]¶
返回当前NumberPlane的单位正方形。
- Parameters:
color (str) – 所需颜色的十六进制颜色代码字符串。
opacity (float) – 正方形的不透明度
stroke_width (float) – 正方形边框的stroke_width,单位为像素
- Return type: