Manim 数学动画
Manim CE 动画:3Blue1Brown 风格数学/算法视频制作。
使用场景
当用户要求:动画解释、数学动画、概念可视化、算法演示、技术讲解、3Blue1Brown 风格视频时使用。
创意标准
- 几何先于代数。 先展示形状,再展示方程。
- 首帧卓越。 输出必须视觉清晰且美学连贯。
- 透明度分层。 主要元素 1.0,上下文元素 0.4,结构元素 0.15。
- 呼吸空间。 每个动画后需要
self.wait()。
前置条件
需要:Python 3.10+、Manim CE v0.20+、LaTeX、ffmpeg。
模式
| 模式 | 输入 | 输出 |
| 概念讲解 | 主题/概念 | 带几何直观的动画解释 |
| 方程推导 | 数学表达式 | 逐步动画证明 |
| 算法可视化 | 算法描述 | 带数据结构的逐步执行 |
| 数据故事 | 数据/指标 | 动画图表、比较、计数器 |
管道
计划 → 编码 → 渲染 → 拼接 → 音频(可选) → 审查
调色板
| 调色板 | 背景 | 主色 | 辅色 |
| 经典 3B1B | #1C1C1C | #58C4DD(蓝) | #83C167(绿) |
| 温暖学术 | #2D2B55 | #FF6B6B | #FFD93D |
| 霓虹科技 | #0A0A0A | #00F5FF | #FF00FF |
动画速度
| 场景 | run_time | self.wait() 后 |
| 标题/介绍出现 | 1.5s | 1.0s |
| 关键方程揭示 | 2.0s | 2.0s |
| "顿悟时刻"揭示 | 2.5s | 3.0s |
工作流程
from manim import *
class Scene1_Introduction(Scene):
def construct(self):
self.camera.background_color = "#1C1C1C"
title = Text("Why Does This Work?", font_size=48, color="#58C4DD")
self.play(Write(title), run_time=1.5)
self.wait(1.0)
self.play(FadeOut(title), run_time=0.5)
渲染
manim -ql script.py Scene1 # 草稿
manim -qh script.py Scene1 # 生产
性能目标
| 质量 | 分辨率 | FPS |
| -ql(草稿) | 854x480 | 15 |
| -qm(中等) | 1280x720 | 30 |
| -qh(生产) | 1920x1080 | 60 |
评论区