manim 引擎是由 3Blue1Brown 开源的动画引擎,可以通过编程的方式创建动画。3Blue1Brown 使用这一引擎制作了大量的数学领域的可视化视频。

manim 的 GitHub 仓库:https://github.com/3b1b/manim
3Blue1Brown 的视频频道:YouTube 官方中文 bilibili

依赖安装

manim 依赖于 Cario, FFmpeg, SoX, LaTeX 运行,LaTeX 事实上是可选的,但是考虑到需要 LaTeX 来更加优雅地展示数学公式,通常还是需要安装 LaTeX。

Cario

Cairo 是一个 2D 图形库,支持多种输出设备,旨在在所有输出媒介上,产生一致的输出,同时利用显示硬件加速。

下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycairo

选择对应的版本下载,并使用 pip 安装即可:
python3 -m pip install ***.whl

FFmpeg

FFmpeg 是一个领先的跨平台多媒体框架,支持解码、编码、转码、混流等等多媒体操作。

下载地址:http://ffmpeg.org/download.html

选择 Windows 分类下的 build 下载即可,下载解压后得到如下文件:

此时需要将 bin 目录的路径添加到系统环境变量中。方法是:在「此电脑」上右击,点击「属性」,点击「高级系统设置」,点击「环境变量」,将 bin 目录的路径添加到 Path 变量中。

SoX

SoX(SoX eXchange)是一个跨平台的命令行实用程序,可以将各种格式的计算机音频文件转换为其他格式。它还可以对这些声音文件应用各种效果,此外,SoX 还可以在大多数平台上播放和录制音频文件。

下载地址:https://sourceforge.net/projects/sox/files/sox/

下载安装即可。

LaTeX

这里我们选择 MiKTeX。

下载地址:https://miktex.org/download

下载后安装即可。

manim 库安装

manim 库基于 Python3.7 运行,所以至少需要保证 Python 版本在 3.7 及以上。

我们可以使用 pip 直接安装 manim 库:

python3 -m pip install manimlib

我在实际安装时遇到了如下的报错:

UnicodeDecodeError: 'gbk' codec can't decode byte 0x9c in position 1903: illegal multibyte sequence

从报错信息可以看出,这个问题是由编码导致的,好消息是,在 Windows 10 平台上,已经可以通过修改系统默认编码的方式很便捷地解决这个问题,具体地操作步骤如下:

打开「时间和语言」设置,选择「区域」。

点击「其他日期、时间和区域设置」。

点击「区域」。

在「管理」选项卡中点击「更改系统区域设置」。

勾选「Beta 版:使用 Unicode UTF-8 提供全球语言支持」。

随后重新跑 pip 安装,无报错。根据系统具体版本的不同,以上设置的具体显示可能不同,但位置大致相似。