Manim 是什么?能做什么动画,新手该装哪个版本、从哪开始

2026 年 9 月 19 日 · 极坐标⋅XYZ

Manim 是什么?能做什么动画,新手该装哪个版本、从哪开始

Manim 是一个用 Python 写数学动画的开源库,MIT 协议,免费。3Blue1Brown 那些讲线性代数、微积分的视频,里面会动的坐标系、会变形的公式,就是作者 Grant Sanderson 用它做出来的。你在代码里写清楚画面上有什么、按什么顺序怎么动,Manim 渲染成 MP4 或 GIF。

我们在做一个 Manim 中文学习网站,叫极坐标⋅XYZ。刚接触的人问得最多的,一个是网上那么多版本到底用哪个,另一个是环境怎么老装不上。这两件事这篇都会讲到,顺带说说我们的办法:不装环境,直接在浏览器里写。

在浏览器里用 Manim 渲染的正弦曲线:黄色动点沿曲线移动,头顶实时显示 sin(x) 的值

它适合做什么样的动画

拿它做人物、特效、转场,比 AE 和 Blender 费劲得多,没必要。它擅长的是那种「每一帧都能算出来」的画面:

  • 函数图像一点点画出来,一个点沿着曲线走,切线跟着它转;
  • 一个公式推导到下一步,没变的部分原地不动,变了的部分挪过去;
  • 矩阵作用在网格上,整个平面被拉伸、旋转;
  • 三维曲面、旋转体、向量场,镜头绕着转。

这些东西用拖关键帧的软件做,光是对齐就能对到崩溃。在 Manim 里是几行代码,参数改一下就能重出一版。而且动画就是代码,可以放进 Git,一套模板换组数字就能批量出十几个视频,做系列课、系列题讲解的时候特别省事。

写代码之前先认识三个词。Scene 是一段动画,代码都写在它的 construct 方法里。画面上的东西统称 Mobject,圆、坐标轴、LaTeX 公式、矩阵都算。让它们动起来的是各种 Animation,比如 Create 把东西画出来,Transform 把一个变成另一个,再交给 self.play(...) 播放。

网上有好几个 Manim,先分清楚

很多人照着教程敲了半天,报错一堆,最后发现教程和自己装的根本不是一个 Manim。

2020 年,社区从 Grant 的项目分叉出了 Manim Community,也有人简称 ManimCE。它由一群志愿者维护,文档和测试都比较全,是现在用的人最多的版本。安装包叫 manim,代码第一行是 from manim import *,2026 年 9 月的官方稳定版是 0.21.0。

Grant 自己则继续开发 ManimGL,用 OpenGL 渲染,3B1B 的新视频用的是它。安装包叫 manimgl,代码开头是 from manimlib import *。再往前还有一套 cairo 版的老代码,中文网上 2020 年前后流传的不少教程写的就是它。

这几套代码不能混着用。GitHub 上的星数也经常被张冠李戴,我们 9 月 19 日查了一下,Grant 的 3b1b/manim 约 9.4 万星,社区版 ManimCommunity/manim 约 4.1 万星。

新手就选 Manim Community,官方 FAQ 给初学者的建议也是这个,网上能搜到的问答大多也是它。只有想照着 3B1B 某期视频的源码复刻时,才值得去折腾 ManimGL。拿到一份教程,先看第一行 import,写着 manimlib 的就换一份。

本地安装,现在比旧教程说的简单一些

很多中文教程第一步让你装 Python、FFmpeg、LaTeX「三件套」,这个说法已经有点旧了。FFmpeg 从 v0.19.0 起就不用单独装,Manim 改用 PyAV 编码视频,不再调外部命令行。Python 反倒要注意版本,0.21.0 要求 3.11 及以上,还停在 3.9、3.10 的得先升级。

最麻烦的还是 LaTeX。用 MathTexTex 写公式,默认要本机装 TeX Live 或 MiKTeX,动辄几个 G,国内下得也慢,不少人就卡在这一步。0.21.0 加了 Typst 做可选的排版后端,算是多了条路。

装的时候以官方安装文档为准,现在推荐用 uv 管理环境,pip install manim 也能用。Windows 上的 DLL 报错、国内镜像这些细节,我们另外写过一篇 Windows 配置指南

装好以后,下面这段代码存成 test.py

from manim import *


class MyScene(Scene):
    def construct(self):
        circle = Circle(radius=1.5, color=BLUE)
        square = Square(side_length=3, color=YELLOW)
        formula = MathTex(r"\int_0^\infty e^{-x^2}\,dx = \frac{\sqrt{\pi}}{2}").to_edge(DOWN)

        self.play(Create(circle))             # 画一个圆
        self.play(Transform(circle, square))  # 圆变成正方形
        self.play(Write(formula))             # 手写出一个公式
        self.wait()

改代码的时候在终端里跑 manim -pql test.py MyScene,出 480p、每秒 15 帧的小样,渲染完自动播放(-p 就是 play)。定稿了把 -ql 换成 -qh,出 1080p60。

第一次跑,报错多半出在公式那一行,LaTeX 没装全或者缺宏包。

不想装环境:在浏览器里跑同一套代码

如果你是在 jizuobiao.xyz 上看这篇,上面那段代码块顶上有个「在工作区中打开」,点一下就能跑,本机什么都不用装。

工作区是我们自己做的。里面跑的就是 Manim Community 本体,版本 0.20.1,比官方最新的晚一个小版本,网上找到的社区版示例基本能直接贴进来跑。公式排版做进了网页,不用装 LaTeX,中文字体也自带,Text("你好") 直接就能显示。渲染用的是你自己电脑的算力,代码不上传,导出 MP4、GIF 也不用登录。

速度上,一段 90 帧的正弦曲线动点动画,480p 下 1.7 秒左右渲染完。第一次打开要下载引擎,得等 8 到 15 秒,之后走缓存就快了。

HelloShape 场景的最后一帧:顶部中文标题「你好,Manim」,中间是旋转 45 度、半透明填充的黄色正方形

也有不方便的地方。iPhone、iPad 的浏览器内存给得紧,场景一复杂就可能被系统关掉,所以做动画还是建议用电脑。免费导出的视频右下角会带个小水印,去掉要一次性付 ¥9.90。手把手的步骤在这篇 10 分钟新手教程 里。

让 AI 帮你写 Manim,靠不靠谱

Manim 本身跟 AI 没关系,不过现在不少人是先让大模型写一版再改。用聊天模型写 Manim,最常碰到的是它把 ManimGL 和 Community 的写法掺在一起,或者用了早就改名的旧 API,贴回去一跑就报错。它也看不到渲染出来的画面,东西叠在一起了它不知道。

工作区里的 AI 助手就是冲这个去做的。你说一句想要什么动画,或者丢一张题目截图,它写好 Community 版代码后会先在你的浏览器里试跑,报错就自己改。跑通以后它还会截几帧看看,有没有东西叠住、有没有跑出画面,没问题才交给你。注册送 1,000 积分。我们用它做过一道初中最值题和一段泰勒展开,每步花了多少积分都写在这篇实测里。复杂一点的分镜,它一次能做个七八十分的样子,剩下的节奏和细节还是自己在编辑器里调。

想系统学,按什么顺序

我们的建议是先跑通一个最小例子,然后尽快去学坐标轴和函数图像:Axesplot,再配上 ValueTrackeralways_redraw,让一个量在变、画面跟着变。数学动画一大半都是靠这一套做出来的,这里学扎实了,后面的公式变换就顺了。三维场景和成片流程(分镜、配音、导出)放到最后,不急。

极坐标⋅XYZ 教程大致就是这个顺序,23 课,从 Python 速成一路讲到三维和成片。课程视频本身也是用 Manim 做的,视频旁边放着能跑的代码,播到哪一段,代码就跟到哪一段,暂停下来就能改。第 1 课和第 4 课免费。

查 API 还是以英文的官方文档为准。想看成品的,可以翻翻我们的精选作品,一共 32 件,视频都能看,有 2 件的代码免费开放。如果只是想给中考动点题、最值题配个动画,Studio 里有 74 道题的现成模板,不用写代码。

常见问题

Q:Manim 要钱吗? A:Manim 本身完全免费,MIT 开源,没有官方付费服务。在极坐标⋅XYZ 工作区里写代码、渲染、导出也免费,只是导出文件带水印;AI 助手按积分计费。

Q:有没有在线的 Manim 编辑器? A:有。社区有一个 try.manim.community,基于 Jupyter 的在线环境,适合临时试几行。想要编辑器、预览、逐帧拖动和导出视频都在一个页面里,可以用极坐标⋅XYZ 工作区,不用登录。

Q:中文显示成方块怎么办? A:本地用 Text 时指定一个系统里装了的中文字体,比如 Windows 上 Text("你好", font="Microsoft YaHei")。在工作区里不用管,网站自带中文字体。

Q:学 Manim 要多少 Python 基础? A:会变量、函数、类就够入门了。说实话 Python 不是难点,难的是把一段讲解拆成镜头,先出现什么、停多久、再变成什么,这个得多做几段才有感觉。

Q:渲染一段视频要多久? A:看画质和复杂度。在浏览器工作区里,几秒长的简单动画 480p 下一两秒就出来,三维和公式一多会慢不少。改的时候一直用低画质,定稿再切 1080p,能省很多等待。


想马上看看 Manim 写出来是什么样子,打开工作区点「直接开始写」,里面的默认代码点一下运行,就是一个圆变成正方形。想从头学的话,教程第 1 课是免费的。

来源:极坐标⋅XYZ(jizuobiao.xyz),2026 年 9 月 19 日更新。版本和仓库数据取自 Manim 官方文档与 GitHub,查询日期 2026 年 9 月 19 日。