Manim 是社区维护的数学动画引擎,用 Python 代码程序化生成 3Blue1Brown 风格的精确教学动画,渲染为视频,广泛用于数学讲解与科普视频制作。
- v0.22.1
- 发布于
- 17 小时前
- 41,941
- 星标
- 5,717
- 下载
- 同步于
- 25 分钟前
最新版本
v0.22.12026年10月28日 04:46下载慢?可在上方随时切换镜像源
项目说明
项目概述
Manim 是一个用代码生成数学动画的开源引擎,3Blue1Brown 频道的讲解视频正是用它制作的。本仓库是社区维护版(ManimCE),从原作者 Grant Sanderson 的仓库分叉而来,拥有更活跃的维护、更完善的功能与文档。你用 Python 定义一个 Scene 类,描述图形的创建、变换与淡出等动作,然后一条命令渲染成视频;也支持在 Jupyter 中通过 %%manim 魔法命令直接预览,还有官方 Docker 镜像免装依赖。
| 项目 | 内容 |
|---|---|
| 语言 | Python |
| 平台 | Linux、macOS、Windows(另提供 Docker 镜像) |
| 输出 | MP4 视频(支持 GIF) |
| 许可 | MIT |
写代码做动画:3Blue1Brown 同款引擎。
主要功能
- 程序化动画:以代码精确描述每个图形与动作,可复现、可版本管理
- 丰富动画原语:Create、Transform、FadeOut 等常用变换开箱即用,支持自定义
- 数学排版:集成 LaTeX,可渲染公式、矩阵与推导过程
- 命令行渲染控制:
-ql低质量快速预览、-p自动播放、-s只出末帧、-n跳到指定动画 - Jupyter 集成:
%%manim魔法命令在 Notebook 中即写即看 - Docker 镜像:官方镜像内置全部依赖,本地免配置
适用人群
- 数学与科普视频创作者
- 教师与课程内容制作者
- 想可视化算法与几何概念的开发者
- 追求精确可控动画的动画师
快速上手
- 按官方文档安装依赖(含 LaTeX、ffmpeg),或直接用官方 Docker 镜像
- 编写场景并渲染:
from manim import *
class SquareToCircle(Scene):
def construct(self):
square = Square()
circle = Circle().set_fill(PINK, opacity=0.5)
self.play(Create(square))
self.play(Transform(square, circle))
self.play(FadeOut(square))- 终端执行
manim -p -ql example.py SquareToCircle,渲染完成后自动播放 - 在线试用:无需安装可直接访问 try.manim.community
核心优势
- 精度与复现:动画由代码驱动,每个细节可精确控制、随时重渲染
- 社区活跃版:ManimCE 持续迭代,文档与示例完善
- 试用门槛低:在线 Jupyter 环境与 Docker 镜像让新手几分钟出第一个动画
系统要求
| 项目 | 要求 |
|---|---|
| 语言 | Python |
| 操作系统 | Linux、macOS、Windows |
| 外部依赖 | LaTeX、ffmpeg |
| 替代方案 | 官方 Docker 镜像内置全部依赖 |
注意事项
- 两个版本勿混装:社区版与 3b1b/manim 原版安装方式不同,按文档选定一个版本安装
- 大重构进行中:当前项目正在重构,新功能贡献暂不接收,使用以稳定版为准
历史版本
排序