3b1b/manim
摘要
Manim 是一个用于创建精确的程序化数学动画的开源引擎,最初由 3Blue1Brown 开发。该仓库托管原始 ManimGL 版本,同时维护一个独立的社区版本以促进更广泛的协作。
查看缓存全文
缓存时间: 2026/08/12 08:25
3b1b/manim
来源:https://github.com/3b1b/manim pypi 版本(https://pypi.org/project/manimgl/) MIT 许可证(http://choosealicense.com/licenses/mit/) Manim Subreddit(https://www.reddit.com/r/manim/) Manim Discord(https://discord.com/invite/bYCyhM9Kz2) 文档(https://3b1b.github.io/manim/)
Manim 是一个用于精确程序化动画的引擎,旨在创建解释性数学视频。
请注意,manim 有两个版本。这个仓库最初是 3Blue1Brown(https://www.3blue1brown.com/)作者的个人项目,用于制作这些视频的动画,特定视频的代码可在此处获取(https://github.com/3b1b/videos)。2020 年,一群开发者将其分叉为现在的社区版(https://github.com/ManimCommunity/manim/),目标是更稳定、测试更完善、对社区贡献响应更迅速,并且总体上更易于上手。更多详情请参阅此页面(https://docs.manim.community/en/stable/faq/installation.html#different-versions)。
安装
警告: 这些说明仅适用于 ManimGL。尝试使用这些说明安装 Manim Community/manim(https://github.com/ManimCommunity/manim),或使用那里的说明安装此版本,都会导致问题。您应首先决定要安装哪个版本,然后只遵循您所需版本的说明。
注意: 要通过 pip 直接安装 manim,请留意所安装包的名称。本仓库是 3b1b 的 ManimGL。包名是
manimgl,而不是manim或manimlib。请使用pip install manimgl来安装本仓库中的版本。
Manim 运行需要 Python 3.10 或更高版本。系统要求包括 FFmpeg(https://ffmpeg.org/)、OpenGL(https://www.opengl.org/)和 LaTeX(https://www.latex-project.org)(可选,如果您想使用 LaTeX)。对于 Linux,还需要 Pango(https://pango.org)及其开发头文件。请参阅此处的说明(https://github.com/ManimCommunity/ManimPango#building)。
直接安装
``sh
安装 manimgl
pip install manimgl
试用
manimgl ``
更多选项请参阅下面 使用 manim 部分。
如果您想自行修改 manimlib 本身,请克隆此仓库,并在该目录中执行:
``sh
安装 manimgl
pip install -e .
试用
manimgl example_scenes.py OpeningManimExample
或者
manim-render example_scenes.py OpeningManimExample ``
Linux(Ubuntu/Debian)
- 安装系统依赖。
sh sudo apt update sudo apt install ffmpeg sudo apt install python3-pip sudo apt install libpango1.0-dev
- 安装一个轻量级 LaTeX 发行版(可选,用于 LaTeX 渲染)。
sh sudo apt install texlive-science texlive-fonts-extra texlive-latex-extra
这个轻量级安装比安装 texlive-full 小得多,同时仍支持大多数 Manim 项目。
- 克隆并安装 ManimGL。
sh git clone https://github.com/3b1b/manim.git cd manim python3 -m pip install -e . manimgl example_scenes.py OpeningManimExample
💡 可选:使用虚拟环境(venv)
建议使用虚拟环境以避免与系统包冲突。
sh sudo apt install python3-venv python3 -m venv venv source venv/bin/activate python3 -m pip install -e .
如果您的系统上没有 python3-venv,请尝试安装对应版本的包:
sh sudo apt install python3.12-venv
直接安装(Windows)
- 安装 FFmpeg(https://www.wikihow.com/Install-FFmpeg-on-Windows)。
- 安装 LaTeX 发行版。推荐 MiKTeX(https://miktex.org/download)。
- 安装其余 Python 包。
sh git clone https://github.com/3b1b/manim.git cd manim pip install -e . manimgl example_scenes.py OpeningManimExample
Mac OSX
- 在终端中使用 homebrew 安装 FFmpeg、LaTeX。
sh brew install ffmpeg mactex
💡 替代重量级 MacTeX 捆绑包的方案。
为了避免安装约 6GB 的完整 MacTeX 捆绑包,您可以选择安装 轻量级 BasicTeX(https://formulae.brew.sh/cask/basictex),然后逐步添加 您实际需要的 LaTeX 包。足以运行示例的包列表可以 在这里找到(https://github.com/3b1b/manim/issues/2133#issuecomment-2414547866)。 有关 MacTeX 安装程序捆绑包的概述,请参阅 https://www.tug.org/mactex/。
- 如果您使用基于 ARM 的处理器,请安装 Cairo。
sh arch -arm64 brew install pkg-config cairo
- 使用以下命令安装最新版本的 manim。
sh git clone https://github.com/3b1b/manim.git cd manim pip install -e . manimgl example_scenes.py OpeningManimExample (请确保先将 manimgl 添加到 PATH。)
Anaconda 安装
- 按以上说明安装 LaTeX。
- 使用
conda create -n manim python=3.10创建 conda 环境。 - 使用
conda activate manim激活环境。 - 使用
pip install -e .安装 manimgl。
使用 manim
尝试运行以下命令:
sh manimgl example_scenes.py OpeningManimExample
这应该会弹出一个窗口播放一个简单场景。
浏览示例场景(https://3b1b.github.io/manim/getting_started/example_scenes.html)以了解该库的语法、动画类型和对象类型的示例。
在 3b1b/videos(https://github.com/3b1b/videos)仓库中,您可以查看 3blue1brown 视频的所有代码,不过较旧视频的代码可能与最新版本的 manim 不兼容。该仓库的 readme 还概述了如何设置更具交互性的工作流程,例如这个 manim 演示视频(https://www.youtube.com/watch?v=rbu7Zu5X1zI)所示。
在命令行中运行时,一些有用的标志包括:
-w将场景写入文件-o将场景写入文件并打开结果-s跳到结尾并只显示最后一帧。-so将最后一帧保存为图像并显示-n <n>跳到场景的第n个动画。-f使播放窗口全屏
请查看 custom_config.yml 以了解进一步配置。要添加自定义设置,您可以编辑此文件,或在您运行 manim 的任何目录中添加另一个同名文件 “custom_config.yml”。例如,这是 3blue1brown 视频使用的配置文件(https://github.com/3b1b/videos/blob/master/custom_config.yml)。您可以在其中指定视频输出位置、manim 查找图像文件和声音文件的位置,以及其他关于样式和视频质量的默认设置。
文档
文档正在 3b1b.github.io/manim(https://3b1b.github.io/manim/)上逐步完善。此外还有一个由 @manim-kindergarten(https://manim.org.cn)维护的中文版本:docs.manim.org.cn(https://docs.manim.org.cn/)(中文)。manim-kindergarten(https://github.com/manim-kindergarten/)在 manim_sandbox 仓库(https://github.com/manim-kindergarten/manim_sandbox)中编写并收集了一些有用的额外类和一些视频代码。
贡献
随时欢迎。如上所述,社区版(https://github.com/ManimCommunity/manim)拥有最活跃的贡献生态系统,具有测试和持续集成,但这里也欢迎拉取请求。请说明某项变更的动机及其效果的示例。
许可证
本项目采用 MIT 许可证。
相似文章
Show HN: 通过 WebGPU 在浏览器中运行 Manim(3Blue1Brown 的动画引擎)
Academa Studio 使用 WebGPU 将 3Blue1Brown 的 Manim 动画引擎带到浏览器,实现原生 AI 的 Manim 编辑,无需本地环境配置。
Math-to-Manim
Math-to-Manim是一个开源工具,利用AI代理将数学和物理提示词转换为Manim解说视频,生成课程计划、故事板和场景说明等成果物。
@rwayne: Manim — 数学解释视频的绝对王者 3Blue1Brown 用来做 YouTube 视频的就是 Manim。最近两年 AI 解释类视频的视觉风格被它反向定义,Sora 出图学不来这种数学动画质感。 核心能力: LaTeX 公式动画:M…
Manim 是一个用 Python 驱动的动画引擎,专为数学解释视频设计,可精确控制 LaTeX 公式、几何变换和 3D 空间动画,广泛应用于 YouTube 教育视频和学术演示。
@XAMTO_AI: 你还记得以前折腾数学物理教学动画时那种抓狂的感觉吗? Manim要手写、LaTeX要配、镜头运动要一帧帧调,光环境搭建就能劝退一半人。 现在有个开源工具直接把这条路打通了——Math-To-Manim,一句话描述,自动生成完整交互动画。 …
Math-To-Manim 是一个开源工具,能根据一句话描述自动生成完整的数学物理教学动画,包括 LaTeX 公式和镜头设计,并附带 55+ 示例,大幅降低制作门槛。
@denziideng: 我的妈呀!用完这家伙,再也回不去PPT动画了!免费开源还丝滑! PPT动画生硬卡顿?想做精准数学/知识讲解动画还得AE? 这款数学动画神器 Manim 就狠在这 代码驱动精准:数学公式、图形变换精确到像素,丝滑流畅 完全免费开源:Pyth…
Manim 是一款开源的 Python 数学动画引擎,用于创建精确的数学视频动画,由 3Blue1Brown 使用,提供代码驱动的高效动画制作。