GGitHub 趋势观察站
每日 07:00 更新
← 返回今日榜单

3b1b /

manim

用于制作数学与科普讲解动画的开源引擎。

访问 GitHub 仓库 ↗
最近上榜 · 2026-09-02#6

当日排名

+86当日新增 Star92,558总 Star

ManimGL:用代码制作精确的数学动画

一分钟看懂

ManimGL 是 3Blue1Brown 作者为数学讲解视频开发的动画引擎。与拖拽时间轴的传统动画软件不同,它让你用 Python 描述图形、公式、坐标系以及对象之间的变换,再把场景渲染成可用于视频的动画。

它擅长表达“过程”:函数曲线如何变化、几何图形怎样变换、一个公式的各部分如何对应。因为位置、时间和转换都由代码控制,复杂镜头可以重复生成,也更容易把参数换掉后做一组一致的动画。

你可以用它做什么

制作数学与科学讲解动画

你可以创建文字、LaTeX 公式、向量、坐标轴、曲线和几何对象,再通过平移、缩放、旋转、替换等动画展示推导过程。相比一页页静态幻灯片,观众能看到概念之间如何连接。

将计算结果直接变成画面

因为场景本身就是 Python 程序,动画可以读取计算结果、遍历参数或根据函数实时构造图形。需要修改数字、颜色或演示顺序时,只改代码再渲染即可,不必逐帧调整素材。

建立可复用的视觉组件

教师和视频创作者可以把常用坐标系、标注方式、转场和配色封装成类,在系列课程中保持统一风格。对有编程经验的创作者,这种复用能力是 Manim 的主要优势。

工作方式

一个 Manim 项目通常由多个 Scene 类组成。你在场景中创建对象,把对象加入画面,再依次播放变换。开发时可先用预览窗口快速调整,确认后再用更高质量参数导出。

它不是“输入一句话自动生成视频”的产品。镜头节奏、对象布局和讲解逻辑仍由创作者设计,代码只是提供精准表达这些设计的工具。

主要能力

  • 用 Python 编排矢量图形、文字、公式和坐标系统。
  • 支持连续变换、镜头控制和对象级动画。
  • 借助 LaTeX 排版复杂数学公式。
  • 通过 OpenGL 提供交互预览和动画渲染。
  • 场景可参数化、复用并纳入版本控制。
  • 项目源自 3Blue1Brown 视频制作所使用的工具链。

适合哪些人

它适合数学、物理和计算机课程教师,科普视频创作者,以及希望用程序生成可视化的开发者。熟悉 Python、愿意精细控制画面的用户会更容易发挥它的价值。

如果主要制作人物剪辑、复杂音轨或常规宣传片,它不能代替完整的视频剪辑软件;如果不想写代码,图形化动画工具也更容易上手。

怎么开始使用

当前仓库对应的是 3b1b 维护的 ManimGL,安装包名称是 manimgl,要求 Python 3.10 或更高版本,并依赖 FFmpeg 和 OpenGL;需要显示 LaTeX 公式时还要安装 LaTeX。安装后可以先运行仓库提供的 example_scenes.py,从修改一个现有场景开始学习。

特别要注意,Manim 还有由社区维护的 Manim Community Edition。两者历史相关,但安装包、API 和文档并不完全一致。教程写的是 manim 还是 manimgl,必须先分清,不能混用安装步骤。

使用前需要知道

高质量动画仍然需要数学表达、视觉设计和镜头节奏。代码正确只代表能够渲染,不代表内容一定易懂。较复杂场景的渲染时间、字体和 LaTeX 环境也可能在不同系统上出现差异,正式制作前应固定依赖版本。

若团队协作,建议把代码、素材和字体要求一并纳入项目说明,但不要提交庞大的临时渲染文件。发布教学内容时,也要确认外部图片、字体和音乐的授权。

官方资料