Manim Creator¶
Manim 数学动画创建插件,提供代码生成、工具函数库和编译渲染功能。
功能¶
- manim-generator: 将自然语言描述转换为 Manim 代码
- manim-tools: 可复用的 Python 工具函数库
- manim-builder: 编译和渲染 Manim 场景
安装¶
前置要求¶
# 安装 Manim
pip install manim
# 安装 LaTeX(可选,用于数学公式)
sudo apt-get install texlive-full # Ubuntu/Debian
brew install mactex # macOS
安装插件¶
将此插件放置在 plugins/manim-creator/ 目录下。
使用¶
快速开始¶
查看工具函数¶
编译场景¶
文件管理¶
输出文件位置¶
使用插件时产生的文件位置:
项目根目录/
└── manim_outputs/ # 结构化输出目录
└── <scene_name>_<timestamp>/
├── scene.py # 场景源代码
├── config.json # 生成配置
├── output/
│ └── <quality>/ # 按质量分目录
│ └── <SceneName>.mp4
├── logs/
│ └── build.log # 编译日志
└── README.md # 输出说明
文件类型说明¶
| 文件 | 位置 | 说明 | 清理 |
|---|---|---|---|
| 输出目录 | 项目根目录/manim_outputs/ |
所有编译输出 | 整体管理 |
| 场景代码 | manim_outputs/*/scene.py |
场景源代码 | 保留用于编辑 |
| 视频文件 | manim_outputs/*/output/*/*.mp4 |
生成的视频 | 主要输出 |
| 配置文件 | manim_outputs/*/config.json |
生成配置 | 记录信息 |
| 编译日志 | manim_outputs/*/logs/build.log |
编译日志 | 调试用 |
清理命令¶
# 清理所有输出
rm -rf manim_outputs/
# 清理特定场景的输出
rm -rf manim_outputs/<scene_name>_*/
# 只清理视频文件(保留代码和配置)
find manim_outputs/ -name "*.mp4" -delete
# 清理日志文件
find manim_outputs/ -name "build.log" -delete
工作流产生的文件¶
完整工作流中产生的文件:
输入: /manim 绘制正弦函数
↓
[1] 生成代码
→ manim_outputs/sine_wave_scene_<timestamp>/
↓
[2] 编译渲染
→ scene.py # 场景源代码
→ config.json # 生成配置
→ output/high/SineWaveScene.mp4 # 最终视频
→ logs/build.log # 编译日志
→ README.md # 输出说明
建议的文件组织¶
项目根目录/
├── manim_outputs/ # 输出目录(加入 .gitignore)
│ └── <scene_name>_<timestamp>/
└── plugins/manim-creator/ # 插件文件
.gitignore 配置¶
建议在项目 .gitignore 中添加:
目录结构¶
manim-creator/
├── README.md
├── agents/
│ └── manim-orchestrator.md # 主编排智能体
├── commands/
│ └── manim.md # /manim 命令定义
├── skills/
│ ├── manim-generator/ # 代码生成 Skill
│ │ ├── SKILL.md
│ │ └── references/
│ │ └── patterns.md
│ ├── manim-tools/ # 工具函数库 Skill
│ │ ├── SKILL.md
│ │ ├── scripts/
│ │ │ └── tools.py # 可复用工具函数
│ │ └── references/
│ │ └── api.md
│ └── manim-builder/ # 编译渲染 Skill
│ ├── SKILL.md
│ ├── scripts/
│ │ └── build.py # 编译脚本
│ └── references/
│ └── options.md
├── templates/ # 预留:代码模板
└── tools/
└── .mcp.json # MCP 依赖配置
工具函数示例¶
from tools.tools import *
class MyScene(Scene):
def construct(self):
# 创建几何图形
circle = create_circle(radius=1, color=BLUE)
square = create_square(side_length=2, color=RED)
# 绘制函数
sine = plot_sine(x_range=(-PI, PI), color=GREEN)
# 使用预定义动画
self.play(fade_in_transform(circle))
self.play(morph_transform(circle, square))
命令参考¶
| 命令 | 说明 |
|---|---|
/manim create <描述> |
创建动画 |
/manim tools [关键词] |
查看工具 |
/manim build <文件> |
编译场景 |
/manim help |
帮助信息 |
质量选项¶
| 选项 | 分辨率 | 用途 |
|---|---|---|
--quality low |
480p | 快速预览 |
--quality medium |
720p | 标准输出 |
--quality high |
1080p | 高质量 |
--quality 4k |
2160p | 超高清 |
依赖¶
- Python 3.8+
- manim
- numpy
- ffmpeg(用于 GIF 转换)
版本¶
0.1.0
作者¶
gqy20 qingyuge@foxmail.com