数学+数字图形化:3Blue1Brown的动画引擎如何配置?[转载]

本文全文转载自知乎:https://zhuanlan.zhihu.com/p/70243739

作者:李狗嗨(英属哥伦比亚大学(UBC) 机械工程博士在读)

他的专栏:直观の数学​zhuanlan.zhihu.com


相信很多人都知道3Blue1Brown,这是一个由斯坦福大学的数学系学生Grant Sanderson 创建的YouTube 频道。该频道从独特的视觉角度解说高等数学,内容包括线性代数微积分神经网络黎曼猜想傅里叶变换以及四元数等等。

本人通过该视频频道获得了很多启发,同时也对其精良的视频制作技术产生了浓厚的兴趣。

偶然的机会,得知其在Github上有专门开设了一个动画制作引擎:manim

所以,突然想尝试用一下该基于Python的可视化引擎,如果可以实现功能,以后就可以根据自己的需要利用该引擎进行动画演示。

网上找了一些相关的文章,有的写得很好,但是因为该开源代码库更新频繁,所以以前的配置教程往往会有过时的情况。现在最新的版本是基于Python 3的,以前的基于Python 2.7的教程已经不再适用于当前代码。所以在安装过程中,遇到了不少新问题,在解决的过程中记录了这些新问题的解决方法。并形成此文。(测试于2019年6月)

在配置前首先得安装Python 3,这个安装过程在此处不再赘述。建议通过Anaconda进行安装,而不是直接安装Python。这里的演示也是基于Windows 10 系统,在安装Anaconda的基础上完成的。Anaconda的下载地址为:

anaconda.com/distributi 建议选择安装Python 3.7 version,具体安装步骤网上有很多。

除此之外,还要下载:

  1. manimgithub.com/3b1b/manim,选择clone or download,然后Download ZIP,解压后到一个合适的位置(路径中不要包含中文!),即可使用(此为manim动画引擎所包含的全部文件);
  2. miktexmiktex.org/download,直接安装即可,(安装路径中不要包含中文!)(此为windows平台下的Tex套件,TeX 是一种排版语言,主要用于处理视频中包含的文字信息);
  3. ffmpegBuilds – Zeranoe FFmpeg,下载好后,放到一个合适的路径下(路径中不要包含中文!),解压后将../bin/目录添加进用户环境变量(见后图)(此为音视频流处理软件)
  4. dvisvgm:dvisvgm.de/Downloads/ ,64位的用户请注意选择64位的安装包,,下载好后,放到一个合适的路径下(路径中不要包含中文!),解压后将../dvisvgm/目录添加进用户环境变量(见后图)(此为可以将dvi转换为高质量svg的软件)。