3b1b/manim

GitHub Trending (daily) 工具

摘要

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)

  1. 安装系统依赖。

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

  1. 安装一个轻量级 LaTeX 发行版(可选,用于 LaTeX 渲染)。

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

这个轻量级安装比安装 texlive-full 小得多,同时仍支持大多数 Manim 项目。

  1. 克隆并安装 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)

  1. 安装 FFmpeg(https://www.wikihow.com/Install-FFmpeg-on-Windows)。
  2. 安装 LaTeX 发行版。推荐 MiKTeX(https://miktex.org/download)。
  3. 安装其余 Python 包。

sh git clone https://github.com/3b1b/manim.git cd manim pip install -e . manimgl example_scenes.py OpeningManimExample

Mac OSX

  1. 在终端中使用 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/。

  1. 如果您使用基于 ARM 的处理器,请安装 Cairo。

sh arch -arm64 brew install pkg-config cairo

  1. 使用以下命令安装最新版本的 manim。

sh git clone https://github.com/3b1b/manim.git cd manim pip install -e . manimgl example_scenes.py OpeningManimExample (请确保先将 manimgl 添加到 PATH。)

Anaconda 安装

  1. 按以上说明安装 LaTeX。
  2. 使用 conda create -n manim python=3.10 创建 conda 环境。
  3. 使用 conda activate manim 激活环境。
  4. 使用 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 许可证。

相似文章

Math-to-Manim

Hacker News Top

Math-to-Manim是一个开源工具,利用AI代理将数学和物理提示词转换为Manim解说视频,生成课程计划、故事板和场景说明等成果物。

@XAMTO_AI: 你还记得以前折腾数学物理教学动画时那种抓狂的感觉吗? Manim要手写、LaTeX要配、镜头运动要一帧帧调,光环境搭建就能劝退一半人。 现在有个开源工具直接把这条路打通了——Math-To-Manim,一句话描述,自动生成完整交互动画。 …

X AI KOLs Timeline

Math-To-Manim 是一个开源工具,能根据一句话描述自动生成完整的数学物理教学动画,包括 LaTeX 公式和镜头设计,并附带 55+ 示例,大幅降低制作门槛。

@denziideng: 我的妈呀!用完这家伙,再也回不去PPT动画了!免费开源还丝滑! PPT动画生硬卡顿?想做精准数学/知识讲解动画还得AE? 这款数学动画神器 Manim 就狠在这 代码驱动精准:数学公式、图形变换精确到像素,丝滑流畅 完全免费开源:Pyth…

X AI KOLs Timeline

Manim 是一款开源的 Python 数学动画引擎,用于创建精确的数学视频动画,由 3Blue1Brown 使用,提供代码驱动的高效动画制作。