如何快速上手 3Blue1Brown 官方动画代码:Manim 数学可视化完整入门指南
如何快速上手 3Blue1Brown 官方动画代码Manim 数学可视化完整入门指南【免费下载链接】videosCode for the manim-generated scenes used in 3blue1brown videos项目地址: https://gitcode.com/GitHub_Trending/vi/videos这个仓库是 3Blue1Brown 频道全部数学视频的 Manim 动画源码从导数、积分到黎曼 ζ 函数超过 10 年的 400 多个 Python 场景文件全部可以直接渲染成视频。无论你是想看懂视频里那条速度曲线是怎么画出来的还是想给自己的数学内容做动画这份代码库都是最值得翻的 Manim 素材。一个具体的问题速度图是怎么从位移图长出来的假设你在做一套微积分课件需要展示一个镜头汽车的位移曲线 s(t) 画在图上旁边同时浮现出它的导数曲线 v(t)而且 s(t) 一变v(t) 也跟着实时形变。手写动画库的话你得自己算数值导数、处理坐标变换、再做平滑插值。而在这个仓库里这段逻辑已经写好了——打开 _2017/eoc/chapter2.py找到GraphCarTrajectory类里面的get_derivative_graph()方法接收一条位移曲线直接返回对应的速度曲线对象show_velocity_graph()方法则把浅坡变陡坡、S 形弯三次形变过程编排成了完整的分镜。你可以把它当模板抄也可以直接读懂后改写。这正是这个项目的价值你不是在学习如何用 Manim而是在逐行阅读一个专业团队如何把一个数学概念拍成 3 分钟动画。项目速览一个按年份归档的视频工厂这个仓库的目录结构就是 3Blue1Brown 的创作时间线_2015/到_2026/各年份目录下放着当年视频的独立工程每个工程由主场景文件加若干辅助模块组成。模块路径用途年份工程目录_2015/ ~ _2026/每支视频一个文件夹场景按章节拆文件统一导入入口manim_imports_ext.py一行from manim_imports_ext import *拉齐 Manim 与全部自定义组件自定义组件库custom/Pi 角色、开场引用、片尾画面等复用组件遗留工具箱once_useful_constructs/复平面场景、向量空间场景等通用数学可视化类编辑器插件sublime_custom_commands/Sublime 快捷键触发渲染与断点式调试全局配置custom_config.yml4K 分辨率、30fps、LaTeX 字体等渲染设置一句话它是视频工厂的图纸车间每个年份目录就是一条独立产线。核心能力拆解三个值得深挖的方向方向一微积分教学场景。_2017/eoc/ 是微积分系列Essence of Calculus的完整代码共 10 个章节。chapter2.py 覆盖导数的全部铺垫场景FathersOfCalculus牛顿与莱布尼茨、GraphCarTrajectory位移-速度图、SecantLineToTangentLine割线逼近切线的极限过程、TCubedExample用 f(t)t³ 手算导数。这些类名本身就是一份微分学的可视化大纲。方向二现代数学与 AI 主题。近年题材跨度很大_2024/transformers/embedding.py 里的KingQueenExample用词向量空间演示king − man woman queen_2025/zeta/play.py 的ZetaSum用复平面上的旋转矢量求和逼近黎曼 ζ 函数的零点_2023/optics_puzzles/ 则做了波动光学的全套 3D 演示。想给机器学习或数论内容做动画这里都有现成的几何语言。方向三可复用的角色与舞台。custom/characters/pi_creature.py 定义了那个标志性的紫色 Pi 形象配合TeacherStudentsScene基类任何老师讲解 学生提问的分镜都能直接复用custom/opening_quote.py 和 custom/end_screen.py 则统一了视频的头尾。从看代码到能复用差的只是环境这一步。从零上手三条命令渲染第一个场景第 1 步克隆仓库git clone https://gitcode.com/GitHub_Trending/vi/videos cd videos第 2 步安装 3b1b 版 Manimmanimgl和 LaTeX。注意这里必须用 3b1b 分支的 Manim不是社区版LaTeX 用于渲染公式sudo apt install texlive texlive-latex-extra texlive-fonts-extra texlive-science第 3 步给文件补上导入路径再运行。因为仓库没有打包成 Python 包场景文件靠相对上级目录找代码按 README.md 的说明在目标文件开头加import sys sys.path.append(.) sys.path.append(..) sys.path.append(../..)然后渲染以 2023 年波动光学为例输出 4K 视频到 media 目录cd _2023/optics_puzzles manimgl e_field.py # 只渲染其中一个场景 manimgl e_field.py WavesIn3D-p参数可只预览不落盘调试阶段能省不少渲染时间。跑通第一个场景后你会发现每个场景类名都是自注释的——类名即剧情。典型场景实战看懂割线逼近切线的 800 行代码以微积分最核心的镜头为例。打开 chapter2.pySecantLineToTangentLine约第 1266 行起做的事分四步画出位移曲线在曲线上标记 t2 和 t2.3 两个点连一条割线旁边写出斜率 5.29让第二个点沿曲线滑动割线随之旋转斜率数值实时更新——这就是极限过程的动的部分用ZoomedScene放大局部把两个点的距离压到肉眼不可辨此时割线视觉上已经变成切线切出结论导数 f(t) 就是 Δs/Δt 在 Δt→0 时的极限。你可以运行manimgl chapter2.py TCubedExample看它用 t³ 函数完整重演一遍数值计算割线斜率从 12.48 一路收敛到 12.00。看完这段代码你对导数是极限的理解会停留在图像层面而不只是符号层面。另一个值得对照的是 _2017/eoc/chapter3.py 里面积累积到定积分的推导两章合起来正好构成微积分基本定理的视觉证明。进阶玩法断点式迭代与 checkpoint 机制3b1b 的创作流不是写好再渲染而是边看边改核心是两条机制详见 README.md 的 Workflow 一节和 CLAUDE.md断点进入manimgl e_field.py WavesIn3D -se 42会在第 42 行停下给你一个可交互的 IPython 终端场景状态就冻结在那一行。你可以直接在终端里拖动对象、改参数找到满意的效果再把代码誊回文件。checkpoint_paste()在交互终端里粘贴运行选中代码。若代码以同一行注释开头第一次运行会把场景状态存档之后每次运行先回滚到存档再执行——相当于给动画打了可无限重放的存档点。加skipTrue跳过动画瞬间出结果加recordTrue才真正录屏。配套地sublime_custom_commands/ 把这些命令做成了 Sublime 快捷键commandshiftR进入断点、commandR执行 checkpoint 粘贴manim_plugins.py 就是实现。用 VS Code 或 PyCharm 也能自己写任务映射思路完全一样。另外渲染完一个视频的所有场景后可以用 stage_scenes.py 按代码中场景定义顺序把片段排好序方便导入剪辑软件。新手避坑用了社区版 Manim 导致报错满屏。这个仓库只兼容 3b1b 分支的 Manim命令是manimgl而不是manim类名也有差异比如公式用Tex而非MathTex。装错版本时场景会在第一行from manim_imports_ext import *就崩溃先检查包来源再排查代码。公式渲染出空白或字体错乱。这是 LaTeX 环境不全缺texlive-latex-extra或texlive-fonts-extra。装齐四个 texlive 组件包后重启终端再试。ModuleNotFoundError: manim_imports_ext。仓库不是 Python 包必须按 README 的Setup includes小节在文件头加sys.path.append(...)三行或者直接在文件所在目录里运行manimgl。老视频跑不起来。README 明确提示早期工程依赖旧版 Manim可能无法开箱即用。优先从_2023/、_2024/、_2025/这些近年目录练手兼容性问题最少。行动清单今天克隆仓库装好 manimgl 和 texlive运行manimgl e_field.py WavesIn3D看到第一条波动曲线动画。本周打开 chapter2.py用-se断点模式跟着SecantLineToTangentLine走一遍然后在交互终端里把t³换成你自己的函数试试。本月挑 _2024/transformers/ 或 _2025/zeta/ 里的一个场景做改造练习——只改函数和配色输出一个属于你自己的 30 秒动画。之后给自己立个规矩——以后每学一个数学概念先写 10 行 Manim 场景把它画出来再回头看教材。这个仓库最值钱的不是任何一行代码而是它回答了一个问题专业的数学动画到底是怎么分镜、怎么运镜、怎么取舍的。答案就写在类名和注释里等你一行行看过去。【免费下载链接】videosCode for the manim-generated scenes used in 3blue1brown videos项目地址: https://gitcode.com/GitHub_Trending/vi/videos创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考