关于 manim
这是一项使用 Python 框架 Manim Community 制作数学动画的技能,适合教育视频创作者和可视化工作,涵盖场景、几何对象、LaTeX 公式、图表及渲染。
主要功能
- 01场景式动画指导
- 02几何对象与变换
- 03渲染 LaTeX 方程
- 04图表与坐标系
- 05视频渲染和笔记本集成
- 06VS Code 实时预览
适用场景
- 01制作教学数学动画
- 02展示几何变换
- 03为方程和公式制作动画
- 04制作讲解类视频内容
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill manim安装后在 Claude Code 中输入/manim确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/animations.mdlatex.mdmobjects.mdscenes.md详细介绍
Manim Community - 数学动画引擎
使用 Manim Community 创建数学动画的全面技能集。Manim Community 是一个用于以编程方式创建解释性数学视频的 Python 框架,由 3Blue1Brown 推广。
何时使用
每当你处理 Manim 代码时,都可以使用此技能来获取以下领域的专业知识:
- 创建数学动画和可视化
- 以编程方式构建教育视频内容
- 处理几何形状和变换
- 为 LaTeX 方程和数学公式制作动画
- 创建图表、图形和坐标系
- 实现基于场景的动画序列
- 渲染高质量的数学图解
- 为教学构建解释性视觉内容
核心概念
Manim 允许你使用以下内容创建动画:
- Scenes:动画的画布,你可以在其中编排 mobjects
- Mobjects:可显示的数学对象(形状、文本、方程)
- Animations:应用于 mobjects 的变换(Write、Create、Transform、FadeIn)
- Transforms:在不同状态的 mobjects 之间进行变形
- LaTeX 集成:原生支持渲染数学符号
- Python 简洁性:使用 Python 以编程方式指定动画行为
主要特性
- 精确的数学对象定位和变换
- 原生 LaTeX 渲染方程和公式
- 丰富的形状库(圆形、矩形、箭头、多边形)
- 坐标系和函数绘图
- 几何形状的布尔运算
- 摄像机控制和场景管理
- 高质量视频渲染
- IPython/Jupyter notebook 集成
- 带实时预览的 VS Code 扩展
如何使用
阅读各个规则文件以获取详细说明和代码示例:
核心概念
- references/scenes.md - 创建场景和组织动画
- references/mobjects.md - 理解数学对象和形状
- references/animations.md - 核心动画类型和技术
- references/latex.md - 渲染 LaTeX 方程和公式
有关变换、时序、形状、坐标系、3D 动画、摄像机移动和高级特性等其他主题,请参阅全面的 Manim Community 文档。
快速开始示例
from manim import *
class SquareToCircle(Scene):
def construct(self):
# Create a square
square = Square()
square.set_fill(BLUE, opacity=0.5)
# Create a circle
circle = Circle()
circle.set_fill(RED, opacity=0.5)
# Animate square creation
self.play(Create(square))
self.wait(1)
# Transform square into circle
self.play(Transform(square, circle))
self.wait(1)
# Fade out
self.play(FadeOut(square))
使用以下命令渲染:manim -pql script.py SquareToCircle
最佳实践
- 继承 Scene - 所有动画都应放在继承自 Scene 的类中
- 使用 construct() 方法 - 将所有动画代码放在 construct() 方法内
- 按层思考 - 在制作动画之前先将 mobjects 添加到场景中
- 使用 self.play() - 使用 self.play(Animation(...)) 为 mobjects 制作动画
- 以低质量测试 - 使用
-ql标志进行更快的预览渲染 - 利用 LaTeX - 使用 Tex() 和 MathTex() 表示数学符号
- 将相关对象分组 - 使用 VGroup 一起管理多个 mobjects
- 频繁预览 - 使用
-p标志自动打开渲染后的视频
命令行用法
# Preview at low quality (fast)
manim -pql script.py SceneName
# Render at high quality
manim -pqh script.py SceneName
# Save last frame as image
manim -s script.py SceneName
# Render multiple scenes
manim script.py Scene1 Scene2
资源
- 文档:https://docs.manim.community/
- 代码仓库:https://github.com/ManimCommunity/manim
- 示例库:https://docs.manim.community/en/stable/examples.html
- Discord 社区:https://www.manim.community/discord/
- 3Blue1Brown 频道:https://www.youtube.com/c/3blue1brown
- 许可证:MIT
评论
支持 Markdown