3Blue1Brown完整数学动画源码:快速跑通你的第一个Manim场景
【免费下载链接】videosCode for the manim-generated scenes used in 3blue1brown videos项目地址: https://gitcode.com/GitHub_Trending/vi/videos
videos 仓库是 3Blue1Brown 频道数学视频背后的完整 Manim 数学动画源码,收录了 2015 到 2026 年十余年的全部场景代码。如果你想看清这些著名数学演示是怎么做出来的,或者想为自己的课堂做动画演示,这个仓库就是一座现成的样例库。
做数学动画常卡住的三个地方
自己做数学演示时,多数人卡在这几处:
- 动画效果写不出来:想让"一个向量逐步变成平面上的变换",却不知道如何表达。看 _2015/matrix_as_transform_2d.py,能看到二维变换演示是如何实现的。
- 公式和画面对不上:渲染公式依赖 LaTeX,仓库的 README.md 直接列出了依赖:manimgl(3b1b 版本)加 texlive 系列组件。
- 多个场景不会衔接:一个视频其实由多个 Scene 类拼成。仓库自带 stage_scenes.py,能按文件顺序把渲染好的片段排好序,不用在成片时翻找。
仓库里有什么:按主题归类
顶层目录按年份命名(_2015 到 _2026),但看内容时按主题分更清楚:
| 主题 | 位置 | 覆盖内容 |
|---|---|---|
| 线性代数 | _2015/matrix_as_transform_2d.py、_2024/linalg/ | 矩阵变换、特征值演示 |
| 傅里叶与卷积 | _2018/fourier.py、_2022/convolutions/ | 傅里叶级数、离散与连续卷积 |
| 概率与统计 | _2018/eop/、_2023/clt/ | 硬币翻转、中心极限定理 |
| 机器学习 | _2017/nn/、_2024/transformers/ | 神经网络基础、transformer 嵌入 |
| 物理与光学 | _2019/diffyq/、_2023/optics_puzzles/ | 微分方程、电磁场与波动 |
可复用组件集中在 custom/:custom/characters/ 里的"π 小人"动画系统、custom/backdrops.py 的背景与标题屏;once_useful_constructs/ 则放着分形、图论、线性代数等工具类。
最短上手路径:跑通第一个 Manim 场景
最少三步:
git clone https://gitcode.com/GitHub_Trending/vi/videos cd videos按 README.md 装好 manimgl 和 texlive 系列(Ubuntu 上sudo apt install texlive texlive-latex-extra texlive-fonts-extra通常足够)。然后跑一个场景,先加-p预览(不落盘):
cd _2015 manimgl pythagorean_proof.py DrawAllThreeSquares -p效果满意后去掉-p做完整渲染。输出默认是 4K(3840×2160)30fps,配置来自 custom_config.yml。
代表性文件解读:挑两个看
勾股定理证明:长证明如何拆成步骤
_2015/pythagorean_proof.py 里有二十多个 Scene 类,每个类对应证明的一步:DrawTriangle、DrawAllThreeSquares、AddParallelLines。类之间层层继承,每一步都继承上一步,于是前一个场景的状态自动保留,你只需要写新动作。想看"在上一步画面基础上继续演"的写法,看这个文件。
复数乘法:一个概念如何扩展成套场景
_2015/complex_multiplication_article.py 只有 6 个场景,却覆盖了连续乘法、复数幂、除法、共轭除法与角和模长的几何意义。如果只读一个文件学习场景的命名和拆分习惯,从它开始。
进阶工作流:交互调试与批量渲染
在某一行进入交互式终端
manimgl加上-se 行号会停在那一行进入调试模式,给你一个 iPython 终端。在里面执行checkpoint_paste(),会运行剪贴板里的代码,并且能反复回到同一状态反复试:
manimgl _2024/transformers/embedding.py IntroduceEmbeddingMatrix -se 345这是仓库作者日常开发的核心,CLAUDE.md 里有完整说明,包括跳过动画、边运行边录制等参数。
编辑器集成与成片排序
sublime_custom_commands/ 里有一组 Sublime Text 现成命令:运行当前场景、用 checkpoint 运行选中代码、跳过渲染直接跑等,复制到编辑器的 Packages/User 目录再绑定快捷键即可。整支视频交付时,用 stage_scenes.py 可把某个模块渲染出的片段按文件顺序编号排序,方便后期剪辑。
常见坑与处理办法
- 旧代码跑不起来:仓库年代跨度大,README 明确提示 2015–2017 年的代码依赖旧版 manim,可能无法直接运行。处理:优先选 2023 年之后的代码,或对照较新年份的同主题文件改 API。
- 公式渲染失败:多半是缺 LaTeX 宏包。先跑
latex --version确认环境,再按需补装 texlive-science 等组件。 - 渲染太慢:4K 加 30fps 帧数很多。开发阶段一律加
-p预览,成片前再完整渲染。
适合谁,下一步做什么
如果你是数学教师、自学数学的人,或者刚接触动画库的新手,可以把这个仓库当样例库用。下一步建议:从上面的主题表里挑一个你感兴趣的方向,克隆仓库后先跑通一个场景。
【免费下载链接】videosCode for the manim-generated scenes used in 3blue1brown videos项目地址: https://gitcode.com/GitHub_Trending/vi/videos
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考