如果没有看过3blue1brown
的视频,那真是太遗憾了。Grant本人为了完成视频中通俗易懂的动画,专门使用python写了一个一些脚本来实现,就是manim
。这个库托管在github上:
根据早期的安装教程,manim
是基于python 2.7
的,并且可以运行在Windows上,用的是Agg软件绘图。但是目前最新的代码貌似只可以运行在Linux上了,如果Win10上使用WSL(Windows Subsystem for Linux)
也是可以的,并且绘图从Agg
切换到了Cairo
,Linux上pycairo
的安装就挺麻烦的。README
虽然说运行在Python 3.7
,最新UbuntuCairo
的python绑定仅支持3.6
,不然就要重新编译Cairo了,使用默认的python 3.6
也不是不可以。Ubuntu 18
折腾了几个小时环境,下面的方法同样适用于WSL
。
最基本的安装
如果使用Docker请绕过,下面是官网最最基本的安装方法作为参考,但是仅仅这样还是不行的。你还需要安装ffmpeg
生成视频和Latex渲染工具
。
使用pip安装manim(更新)
- 因为manim进入了pip包管理其实也不用自己再从github上下载了
python3 -m pip install manimlib
- 如果使用了
python3.7
一定要自己编译安装pycairo
,其实方法也不难
sudo apt install pkg-config libcairo2-dev python3.7-dev
python3 -m pip install pycairo
从github下载
git clone https://github.com/3b1b/manim.git
cd manim
python3 -m pip install -r requirements.txt
python3 -m manim example_scenes.py SquareToCircle -pl
pip
安装依赖时,默认的软件源还是会提示你编译pycairo
,直接从apt安装就没有问题了,都是编译过的,别怕。然后重新执行pip
安装python依赖。如果仍然会有问题,可能是pycairo
版本不对应的,在requirements.txt
中删除就可以了,版本变化影响不大。
sudo apt install python3-cairo
python3 -m pip install -r requirements.txt
安装FFMPEG
然后安装ffmpge
sudo apt install ffmpeg
这个时候,SquareToCircle
的例子就已经可以运行了
~/manim-master$ python3 -m manim example_scenes.py SquareToCircle -pl
File ready at /home/null/manim-master/media/videos/example_scenes/480p15/SquareToCircle.mp4
你可以直接打开观看结果,但是还差一步。
安装Latex依赖
想要运行带有Latex的例子还是不行,为了把Latex渲染成漂亮的图像还需要一番努力。Latex的扩展包暂时还没有好用的包管理,依赖的文件在texlive-*
相关的包中。
texlive-fonts-extra
字体包texlive-science
数学物理计算机科学的包
其他依赖的Latex包都会自动安装,这个时候可以试一试别的例子了看一看最终成果。
python3 -m manim example_scenes.py OpeningManimExample -pl