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 安装,无报错。根据系统具体版本的不同,以上设置的具体显示可能不同,但位置大致相似。