
如何三步跑通 3Blue1Brown 数学动画源码用 Manim 做出你的第一个教学视频【免费下载链接】videosCode for the manim-generated scenes used in 3blue1brown videos项目地址: https://gitcode.com/GitHub_Trending/vi/videos想做一个像 3Blue1Brown 那样的数学讲解视频却卡在代码在哪、能不能跑、跑起来怎么改上这个仓库就是 3Blue1Brown 频道历年视频动画的完整 Manim 源码你不需要从零搭项目直接打开某个年份目录找到对应场景类用manimgl一条命令就能渲染出视频然后按同样的写法改出自己的动画。先明确它能帮你做什么仓库里不是教程合集而是可直接运行的生产代码2015 到 2025 年每期视频的场景脚本都在对应年份目录里比如 _2015/pythagorean_proof.py 中勾股定理证明被拆成了DrawTriangle、AddParallelLines、ShowRearrangementInBigSquare等几十个场景类每一步演示对应一个类方便单独渲染和复用。对你来说它有三层价值当素材库想要某个数学概念的标准画法向量变换、傅里叶分解、概率树直接找对应年份的文件抄结构当模板每个文件都是一个完整工程含场景组织方式、注释习惯、动画节奏当教材作者 Grant Sanderson 的工作流交互模式 检查点粘贴本身就是一套成熟的动画开发方法。需要留意仓库 README 明确写了早期项目的代码依赖旧版 Manim不一定开箱即用。建议从 2018 年以后的文件入手。装好环境三步跑通第一个场景整个环境依赖只有两样3b1b 版 Manim命令行工具是manimgl不是社区版的manim和 LaTeX用于渲染数学公式。# 1. 从源码安装 manimglpip 上的版本过旧按官方说明从源码装 # 2. Ubuntu 上安装 LaTeX sudo apt install texlive texlive-latex-extra texlive-fonts-extra texlive-science # 3. 克隆本仓库 git clone https://gitcode.com/GitHub_Trending/vi/videos cd videos跑场景时如果目标文件不在仓库根目录按 README 的建议在文件开头加三行sys.path.append分别指向.、..、../..让 Python 找到manim_imports_ext这个公共导入模块。然后# 预览不写文件调试用快 manimgl _2024/transformers/attention.py AttentionPatterns -p # 确认效果后正式渲染 manimgl _2024/transformers/attention.py AttentionPatternsAttentionPatterns是 _2024/transformers/attention.py 中的场景类名文件里还有QueryMap、ShowMasking等十多个类选哪个都行类名与文件路径都要对。按年份找代码目录结构和主题速览代码组织非常规整_YYYY/按年份分每个视频一个子目录或单文件跨视频的公共件在顶层目录。路径用途典型内容_2015/~_2026/按年份存放的视频场景复数、傅里叶、神经网络、Transformer、量子计算custom/可复用组件库角色动画characters/pi_creature.py、背景、片尾once_useful_constructs/工具类构造分形、线性代数、样本空间、图论outside_videos/外部合作与一次性动画推文配图、横幅、周边设计sublime_custom_commands/Sublime Text 集成运行场景、检查点粘贴的快捷键插件想找某主题怎么画先看年份目录名再 grep 类名比逐文件翻更快。例如 Transformer 系列在_2024/transformers/下拆成attention.py、embedding.py、mlp.py等文件每个概念独立成篇。读懂一个场景文件以 Transformer 注意力为例打开 _2024/transformers/attention.py前几行就能看出整个仓库的写法规约from manim_imports_ext import * from _2024.transformers.helpers import * from _2024.transformers.embedding import break_into_words class AttentionPatterns(InteractiveScene): def construct(self): # Add sentence ...三个要点值得记住所有视频文件都从manim_imports_ext开始导入见 manim_imports_ext.py——它把 Manim 本体和custom/下的组件一次性拉进来写场景不用记导入路径场景基类通常是InteractiveScene而非普通Scene前者支持后文的交互式调试动画就是self.play(...)self.wait()数学公式用Tex()3b1b 版专用别用社区版的MathTex多对象错峰进场用lag_ratio参数。颜色约定也有讲究同一变量在公式和图形里用同一色靠Tex(formula, t2c{x: BLUE, y: RED})绑定这是这类讲解视频看图对应公式的关键手法。可复用组件都在哪里找写自己的视频时多数现成的东西不用自己造角色custom/characters/ 提供会说话、会指点的 Pi 小人PiCreatureScene基类直接可用背景与版面custom/backdrops.py 有标题横幅、片头引语、片尾画面风格与正片统一数学工具once_useful_constructs/ 里的分形生成器、矩阵乘法、向量空间场景等是作者写视频时沉淀下来的工具类部分仍值得参考渲染配置custom_config.yml 定义 4K3840×216030fps、CMU Serif 字体等全局参数本地跑建议临时降分辨率渲染快很多。作者的工作流交互式调试怎么操作这是仓库最有学习价值的部分——不是写完整段再渲染而是逐行推进。两条核心命令# -se 让 Manim 在指定行进入交互模式类似断点调试弹出 IPython 终端 manimgl attention.py AttentionPatterns -se 40 # 在终端里执行把剪贴板里的代码粘贴进当前场景 checkpoint_paste()checkpoint_paste()的妙处在于如果粘贴的代码以注释开头首次运行时它会记录当前场景状态之后凡是以同样注释开头的代码都会先回滚到该状态再执行。配合skipTrue跳过动画和recordTrue正式录制两个参数调试、预览、出片各用各的。sublime_custom_commands/ 目录里的插件就是把上面这些操作绑成快捷键不用 Sublime 也可以照着自己搭。多段场景按顺序拼成一个视频用根目录的 stage_scenes.pypython stage_scenes.py module_name。常见坑提前知道少走弯路版本混用本仓库只认 3b1b 版manimgl。装了社区版 Manim 会发现 API 对不上如TexvsMathTex老代码跑不动_2015/等早期文件直接from scene.scene import Scene这类旧写法属于依赖老版 Manim 的部分README 已声明不保证可运行建议只读不跑LaTeX 报错公式渲染报错基本都是texlive-latex-extra或字体包没装全不是代码问题渲染太慢先用-p预览 低分辨率参数确认动画逻辑正式渲染再上 4K许可证边界Manim 本身是 MIT 协议但本仓库内容采用 CC BY-NC-SA 4.0二次创作不可商用、衍生作品需同协议分享商用前务必确认。下一步建议最短学习路径先完整跑通_2024/里任一场景再挑一个你熟的数学概念新建文件、from manim_imports_ext import *起手写一个 20 行的construct并-p预览。跑通之后对照 _2024/linalg/eigenlecture.py 这类单文件长场景学习场景拆分与节奏控制再考虑接入checkpoint_paste工作流提效。【免费下载链接】videosCode for the manim-generated scenes used in 3blue1brown videos项目地址: https://gitcode.com/GitHub_Trending/vi/videos创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考