本页面提供了使用 ManimGL 创建动画的实际示例和分步教程。通过这些示例,您将学习如何使用 Manim 的核心组件,包括 Scene、Mobject、Animation 和 Camera 系统。有关 Manim 架构的信息,请参见 核心架构,有关动画系统的详细信息,请参见 动画系统。
ManimGL 附带了一系列示例场景,展示了各种功能。这些示例位于项目目录根目录下的 example_scenes.py 文件中。
要运行任何示例场景,请使用以下命令:
例如,要运行 OpeningManimExample 场景
您可以添加各种标志来定制输出:
-w 将场景写入文件-o 将场景写入文件并在完成后打开它-s 跳过动画,仅显示最后一帧-n <数字> 跳到场景的第 n 个动画来源:example_scenes.py4-9 docs/source/getting_started/configuration.rst20-31
所有示例场景都继承自 Scene 类,并实现一个 construct 方法,其中包含动画逻辑。以下是示例场景的基本结构:
这个第一个示例演示了 Manim 使用线性代数和复数来演示数学变换的能力。
演示的关键技术
Text 创建文本NumberPlane, ComplexPlane)apply_matrix 应用矩阵变换apply_complex_function 应用复数函数此示例展示了如何使用 .animate 语法来动画化 mobject 上的方法调用。
演示的关键技术
.animate 语法来动画化方法调用shift 更改位置set_color 和 set_submobject_colors_by_gradient 更改外观set_height 更改大小apply_complex_function 和 apply_function 应用数学函数此示例展示了如何创建和格式化具有各种属性的文本。
演示的关键技术
Text 创建文本font 设置字体font_size 设置字体大小t2c 为文本的特定部分着色t2f 为特定部分更改字体t2s 为部分设置斜体t2w 为部分设置粗体此示例演示了如何使用 LaTeX 创建和转换数学表达式。
演示的关键技术
Tex 创建 LaTeX 表达式TransformMatchingStrings 在方程之间进行转换key_map 指定转换关系transform_mismatches=True 以进行更复杂的转换TransformMatchingShapes 进行通用转换此示例展示了如何访问和操作 LaTeX 表达式的特定部分。
演示的关键技术
isolate 参数以确保可以访问特定部分此示例演示了如何创建根据其他对象自动更新的对象。
演示的关键技术
always_redraw() 在每一帧重新创建对象always() 在每一帧强制调用方法f_always() 进行基于函数的更新add_updater() 创建自定义更新器此示例展示了如何在数学空间中处理坐标系统、轴和点。
演示的关键技术
Axes 创建坐标系统add_coordinate_labels 添加坐标标签c2p 和 p2c 在坐标和点之间进行转换get_h_line 和 get_v_line 创建参考线此示例演示了如何创建和操作函数图。
演示的关键技术
get_graph 创建函数图get_graph_label 为图添加标签i2gp 在图上查找特定点ValueTracker 沿图进行动画此示例演示了如何使用交互模式进行快速开发和实验。
演示的关键技术
self.embed() 打开交互式 Python 终端touch() 与窗口进行交互always() 创建响应式元素来源:example_scenes.py648-692 docs/source/getting_started/example_scenes.rst8-63
此示例展示了如何为您的动画创建交互式 UI 控件。
演示的关键技术
Textbox、Checkbox 和 ColorSliders 创建 UI 元素ControlPanel 组织 UI来源:example_scenes.py694-731 manimlib/mobject/interactive.py32-568
此示例演示了如何创建和操作 3D 曲面。
演示的关键技术
Sphere 和 TorusTexturedSurface 应用纹理SurfaceMesh 添加网格可视化frame.animate 控制摄像机来源:example_scenes.py566-645 docs/source/getting_started/example_scenes.rst557-656
现在您已经看过各种示例,您可以按照以下步骤创建自己的场景:
Scene 的类construct 方法manimgl your_file.py YourScene 运行您的场景来源: example_scenes.py1-3 example_scenes.py12-26
ValueTracker 是创建参数化动画的强大工具
self.embed() 方法允许快速迭代和实验
对于复杂的数学表达式,请使用 Tex 类,并进行适当的索引
除了这些示例,还有更多资源可以帮助您学习 Manim
请记住,Manim 是一个用于创建解释性数学动画的工具。学习的最佳方法是从简单的示例开始,然后逐步构建更复杂的场景。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(f47378)