3Blue1Brown 的数学动画引擎 manim:用代码画出最漂亮的数学,今天又上 GitHub 趋势榜
如果你在 B 站或 YouTube 看过那种"数学可视化"视频——几何图形自己动起来、公式一步步展开、一条曲线优雅地画出函数——大概率是 3Blue1Brown(三蓝一棕)的作品。他的视频播放量过亿,是数学科普的天花板。
这些视频背后有一个开源引擎:manim(Mathematical Animation Engine)。今天它又出现在 GitHub 趋势榜上——一个老项目还能持续上榜,说明用它的远不止 3b1b 自己。
manim 是用 Python 代码生成数学动画的引擎。你不是在"剪"视频,是在"写"视频。
它解决什么问题
做数学/科学动画,传统路子是 AE(After Effects)或 PPT 手k帧——费时费力,改一个数字要重新对帧。manim 的思路完全不同:
你写代码描述"我想要什么":
from manim import *
class SquareToCircle(Scene): def construct(self): square = Square() circle = Circle() self.play(Transform(square, circle)) # 正方形变成圆
运行,输出一个视频:正方形平滑地变成圆形。改参数?改代码重跑。复用?把场景函数拼起来就行。
对做内容的人来说,这意味着:数学动画从"手k帧几个小时"变成"写代码几分钟"。对程序员来说,这更是降维打击——你本来就会写代码,只是没想过代码能"画数学"。

它凭什么火到今天
可视化是理解数学的最强武器:抽象的数学,变成看得见的直觉。勾股定理为什么对?看一眼动画秒懂;泰勒级数逼近曲线,动画一放就明白了。manim 把"抽象的数学"变成"看得见的直觉"。
第二,3Blue1Brown 的示范效应。他公开说自己的视频全是 manim 做的,还开源了全部视频源码。想学?直接看他视频的源码,等于手把手教学。
第三,社区生态成熟。manim 有社区版(Community Edition),文档完善、示例丰富,还有在线编辑器可以直接跑。从 2024 年火到现在,教程、插件、模板越来越多。
实际怎么用
安装(社区版):
pip install manim
命令行渲染:
manim -pql my_scene.py SquareToCircle
-p 是预览,-ql 是低清快速渲染(调试用),正式输出用 -pqh(高清)。
常用功能上手顺序:
- 基本图形:Square、Circle、Line、Text——先画出来
- 变换动画:Transform、FadeIn、Create——让图形动起来
- 公式渲染:LaTeX 公式直接支持,写数学表达式是它的看家本领
- 坐标系:Axes、FunctionGraph——画函数图像、微积分可视化
这是 manim 官方的正余弦函数渲染效果,几行代码就能画出来:

3D 曲面同样不在话下,教学演示、科普视频的质感一下子就上来了:

一个真实用途:给课程/视频号做封面动图、给技术博客配数学原理图、给孩子做数学启蒙动画。都能干。
适合谁
适合:
- 做科普/教育内容的人:B 站、抖音、视频号的数学科学类博主,manim 是标配武器
- 程序员:写代码出动画,比 AE 友好一百倍,还能版本管理
- 老师/讲师:把抽象概念可视化,课堂效果提升明显
不适合:
- 想做"花哨特效"的人:manim 强在数学/几何/数据可视化,不是影视特效工具
- 不想写代码的人:它本质是编程,不会 Python 的话学习成本偏高
说点实在的
manim 有个明显短板:渲染慢。复杂场景渲染一帧要几秒,一个 3 分钟视频可能要跑几个小时。解决办法:先用低清调试,确认无误再高清渲染;或者用它的缓存机制(只重渲染改动部分)。
另一个注意点:上手建议从 3b1b 的官方示例抄起,别自己硬想。他的视频源码仓库(3b1b/videos)全是真实案例,抄一遍就入门了。
项目地址(社区版):https://github.com/ManimCommunity/manim
结尾
数学是最难"说清楚"的学科,manim 把它变成了"能看见"的学科。3Blue1Brown 用这套工具让几千万人重新爱上了数学——而它免费、开源、谁都能用。
你要不要试试用代码画一道勾股定理?评论区晒图。