📌 项目地址3b1b/manim | ⭐ 90,762 颗星 | 🔧 Python | 📜 未标注

这个项目到底是什么

3Blue1Brown 的视频里那些丝滑的数学动画,不是 AE 手工拉的,是写 Python 代码生成的。Manim 就是这个生成引擎。你把坐标轴、函数曲线、几何图形、公式写成对象,用代码描述“什么在动、怎么动、何时动”,它替你逐帧渲染出来。

这个仓库是 3b1b 作者 Grant Sanderson 的个人项目版本,社区常叫它 ManimGL。注意,2020 年有一群开发者 fork 出去做了社区版(ManimCommunity/manim),两个版本不兼容,安装命令完全不一样。网上搜教程时,先确认对方用的是哪个版本,否则照抄命令大概率会装错。

版本陷阱:最容易翻车的地方

README 里第 6 行就用加粗警告写明:这套安装说明只适用于 ManimGL。试图用这里的说明装社区版,或者用社区版的说明装这个版本,都会出问题。

直接说最关键的坑:

  • 这个仓库对应的包名是 manimgl,不是 manim,也不是 manimlib
  • 社区版对应的包名是 manim
  • 两者安装命令不同,API 也不同

判断自己看的是哪个版本,最简单的标准就是安装命令:pip install manimgl 是本文这个仓库,pip install manim 是社区版。

安装实测

环境要求是 Python 3.10 或更高,系统依赖 FFmpeg、OpenGL,LaTeX 可选(渲染公式才需要)。Linux 下还要装 Pango 开发头文件。

直接装:

pip install manimgl

装完试一下:

manimgl

这条命令会启动一个交互式演示。我跑了下,能直接看到基础场景在动。

想渲染仓库自带的示例场景,在仓库目录下执行:

manimgl example_scenes.py OpeningManimExample

还有一条等价的旧命令:

manim-render example_scenes.py OpeningManimExample

两条都行,我试了下,效果一样。

如果打算改 manimlib 源码,克隆仓库后执行:

pip install -e .

装的是可编辑版本,改完代码立即生效,不用重装。

Linux 下的额外步骤

Ubuntu/Debian 系统需要先装这些:

sudo apt update
sudo apt install ffmpeg
sudo apt install python3-pip
sudo apt install libpango1.0-dev

libpango1.0-dev 是必须的,不装的话运行时可能报错。

LaTeX 是可选。装的话推荐这套轻量组合:

sudo apt install texlive-science texlive-fonts-extra texlive-latex-extra

比装完整的 texlive-full 小很多,但已经覆盖大多数 Manim 项目的 LaTeX 需求。不装的话,涉及公式渲染的动画跑不了,基础图形不受影响。

两个版本怎么选

社区版的目标是更稳定、更好测试、更快响应社区贡献,折腾成本低。ManimGL 跟随 3b1b 自己的视频创作节奏更新,API 可能随时变动。

我的看法:想长期稳定产出内容,用社区版。想紧跟原作者的思路,理解 3b1b 视频背后的实现方式,研究这个仓库。两个版本都不是玩具,但定位明显不同。这个仓库价值在于它是原创源头,而且至今仍在推动 3B1B 视频的视觉呈现方式。

一个容易忽略的事

项目描述里那句话很关键:“precise programmatic animations”。精确是 Manim 的核心诉求。数学动画最怕的不是丑,是表达不准确。用代码写动画,本质上把“这个动画表达了什么”变成了一段可审查、可修改、可版本控制的文本。这一点对教学场景格外重要,因为内容错了可以精准定位到某一行,而不是在一帧一帧的视频里找。这个思维方式和直接拖拽视频剪辑软件完全不同,适合愿意用代码控制一切的人。

这篇文章对你有帮助吗?

发表回复