如何复现3Blue1Brown的数学动画:manim视频源码库实战指南
【免费下载链接】videosCode for the manim-generated scenes used in 3blue1brown videos项目地址: https://gitcode.com/GitHub_Trending/vi/videos
给学生讲"复数乘法的旋转角度",PPT只能展示最终结果,过程无从谈起。3Blue1Brown 用 manim 动画库把过程做成了可播放的画面,而频道背后的完整代码就开源在这个仓库里。从 2015 年到 2026 年,414 个 Python 文件,361 个可渲染的数学动画场景,每一个都能被读取、修改和重新渲染。
项目全景:12个年份目录的主题分布
仓库按年份切分目录,每个目录对应一年发布的视频。整体规模:12 个年份目录,414 个 Python 文件,361 个场景类。
| 年份 | 主题方向 | 入口文件 |
|---|---|---|
| 2015 | 几何证明与基础概念 | _2015/pythagorean_proof.py |
| 2016 | 经典曲线与分形 | _2016/hanoi.py |
| 2017 | 神经网络与概率 | _2017/nn/ |
| 2018 | 线性代数与复分析 | _2018/fourier.py |
| 2019 | 微分方程与物理仿真 | _2019/diffyq/ |
| 2020 | 流行病学与编码理论 | _2020/covid.py |
| 2024 | 注意力机制与 Transformer | _2024/transformers/ |
| 2025 | 量子计算 | _2025/grover/ |
三条命令跑通第一个数学动画场景 🚀
第一步,克隆仓库。下面这条命令把仓库拉取到本地并进入目录:
git clone https://gitcode.com/GitHub_Trending/vi/videos && cd videos第二步,安装渲染依赖。仓库基于 3b1b 版的 manimgl,不是社区版,命令如下:
pip install manimgl公式渲染依赖 LaTeX,Ubuntu 下执行sudo apt install texlive texlive-latex-extra texlive-fonts-extra即可。若 pip 版本过旧,按 README 说明从源码安装。
第三步,运行第一个场景。这是 README 官方示例,渲染电场引入片段:
cd _2023/optics_puzzles manimgl e_field.py IntroduceEField若脚本顶部缺少sys.path头部,把文件拷到工作目录,按 README 补上四行sys.path.append即可运行。
内部机制:支撑数百个场景的两个设计
机制一:统一导入系统。它做什么:一行导入拉取 custom/ 下的全部共享组件,背景、Pi 数学小人、片头引语、片尾画面都包含在内。怎么用:
from manim_imports_ext import * pi = PiCreature() self.play(pi.says("hello"))场景文件顶部加这行导入,PiCreature等组件直接可用。为什么这样设计:数百个场景共用一套组件库,导入集中在一处,角色风格才能跨年份保持一致。manim_imports_ext.py 列出了完整清单。
机制二:交互式调试模式。它做什么:从脚本的某一行切入,像断点一样停在现场,进入 iPython 终端执行剪贴板代码。怎么用:
manimgl e_field.py IntroduceEField -se 100 checkpoint_paste()-se 100停在第 100 行;粘贴代码片段后,checkpoint_paste()执行它,同名注释首现时会存档场景状态,之后可反复回退。为什么这样设计:调动画参数靠反复试错,整体重渲染太慢,存档回退比重新跑快得多。sublime_custom_commands/ 里的快捷键插件正是基于这条流程构建。
从入门到复刻:三层实战路径
初学者,先读短场景。_2024/manim_demo/lorenz.py 是洛伦兹吸引子的简短演示,单文件内可见场景搭建与动画控制的全貌。读完再看 _2015/pythagorean_proof.py 的勾股定理证明动画,理解证明步骤如何拆解为逐帧绘制。
进阶,改动现成场景的内容。_2023/clt/ 有一组完整的中心极限定理场景:dice_sims.py掷骰子仿真、galton_board.py高尔顿板。改骰子面数重跑,观察直方图收敛变化,是理解代码结构最快的方式。做长课时教学材料则参考 _2024/transformers/,attention.py展示了长场景的分段写法。
专家,复刻生产工作流。跑通-se加checkpoint_paste的组合,把 sublime_custom_commands/ 中五条快捷键移植到自己编辑器,并用 custom_config.yml 统一 3840x2160、30fps 的渲染参数。
踩坑速查:三个高频问题对照表 🛠
| 症状 | 原因 | 解法 |
|---|---|---|
| 2015–2017 的旧场景报 import 错误 | 旧代码依赖老版本 manim 的 API | 以最近年份代码为模板,README 有兼容性说明 |
| Tex/Formula 公式符号渲染失败 | 未安装 LaTeX 环境 | 装 texlive、texlive-latex-extra、texlive-fonts-extra 三个包 |
| 单个场景渲染耗时极长 | custom_config.yml 默认 4K、30fps | 调试时加-ql低质量预览,交付前再全分辨率渲染 |
收尾:这个仓库能带走什么
它是 12 年、414 个文件、361 个可渲染场景的合集,既是一份 manim 库的用法参考,也是 3Blue1Brown 数学可视化方法的完整存档。仓库不提供成品工具,提供的是拆解到每一行的过程。下一步:找到与你教学内容最接近的那个场景,逐行读完,再用交互模式改出你自己的第一版动画。
【免费下载链接】videosCode for the manim-generated scenes used in 3blue1brown videos项目地址: https://gitcode.com/GitHub_Trending/vi/videos
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考