授权转发自 知乎网友 李狗嗨
原文地址:https://www.zhihu.com/question/57357012/answer/723888621

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

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

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

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

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

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

https://www.anaconda.com/distribution/#download-section

建议选择安装Python 3.7 version,具体按照步骤网上有很多。

除此之外,还要下载:

  1. manim:https://github.com/3b1b/manim,选择clone or download,然后Download ZIP,解压后到一个合适的位置(路径中不要包含中文!),即可使用(此为manim引擎所包含的全部文件);

  2. miktex:https://miktex.org/download,直接安装即可,(路径中不要包含中文!)(此为windows平台下的Tex套件,TeX 是一种排版语言,主要用于处理视频中包含的文字信息);

  3. ffmpeg:https://ffmpeg.zeranoe.com/builds/,下载好后,放到一个合适的路径下(路径中不要包含中文!),解压后将../bin/目录添加进用户环境变量(见后图)(此为音视频流处理软件)

  4. dvisvgm:https://dvisvgm.de/Downloads/ ,64位的用户请注意选择64位的安装包,下载好后,放到一个合适的路径下(路径中不要包含中文!),解压后将../dvisvgm/目录添加进用户环境变量(见后图)(此为可以将dvi转换为高质量svg的软件)。

添加进用户环境变量的方法

右击“我的电脑”图标-“属性”-左边的”高级系统设置”

选择”环境变量”-“用户变量”中的”Path”-“编辑”-“新建”。

然后把解压后的FFmpeg的bin文件夹的路径和dvisvgm的dvisvgm文件夹路径添加进去,并选择确定。然后进行环境测试,看各个依赖环境是否都配置妥当(注意:按照个人安装的实际路径进行添加,图中只是一个参考)。

在Anaconda Prompt 中通过命令行配置并测试

具体方法是:右击”Anaconda Prompt”-“更多”-“以管理员身份运行”

这一步很重要,因为如果不以管理员身份运行很可能带来权限不够的情况,妨碍后期的各个程序包的安装。

在命令行中分别输入下列命令,并回车运行:

python —version

latex —version

xelatex —version

ffmpeg -version

dvisvgm —version

如果都有类似于上面的版本提示,则说明依赖的软件安装成功,否则,回去检查安装或用户路径的添加是否正确。

打开前面下载并解压后的manim文件夹,在其中添加一个空白文件夹“media”,并新建一个名字为“MEDIA_DIR.txt”的.txt文件。

在”MEDIA_DIR.txt”文件中输入刚刚新建的”media”文件夹所在的路径并保存。

回到Anaconda Prompt中,输入:

cd <manim的根目录>

该命令的意思是:跳转到manim的根目录中(注意:按照个人安装的实际路径进行添加,图中只是一个参考)。

然后输入(手机上如果看不到此处的全部代码,请在代码处左右滑动或在电脑上打开该文章):

python -m pip install -r requirements.txt

这个安装过程中常见的问题是“pycairo”这个包安装异常。

解决方法是先输入并运行:

conda install vs2015_runtime

然后再单独安装“pycairo”这个包,输入并运行:

conda install pycairo

现在,基本的东西都安装好了。尝试着运行一下测试命令:

python -m manim example_scenes.py SquareToCircle -pl

在运行的时候可能会有形如:ModuleNotFoundError: No module named的错误提示,这说明还缺少程序包。请运行命令(注意:<pack name>改为对应缺失的程序包的名字,命令中不含括号或引号):

pip install <pack name>

一个特例是readline包,如果提示“ModuleNotFoundError: No module named ‘readline’”,则需要输入的是:

pip install pyreadline

安装好提示缺少的包后再输入并运行:

python -m manim example_scenes.py SquareToCircle -pl

缺什么程序包就按照上面的方法添加该程序包,直到命令可以通过:

此时打开media文件夹将找到生成的视频,表示的是正方形变成圆形的动画演示:

同理,输入命令:

python -m manim example_scenes.py WarpSquare -pl

得到一个向复平面映射的动画:

输入命令:

python -m manim example_scenes.py WriteStuff -pl

此过程中会提示安装一些程序包,为了加快编译进度,可以点击去掉那个复选框的勾选,默认安装所有需要的程序包。得到的是具有3b1b经典风格的文字动画:

输入命令:

python -m manim example_scenes.py UpdatersExample -pl

将得到一个数据随图形位置变化的动画:

是不是手痒了?23333。
如果安装成功,感谢点赞支持,如果配置遇到什么问题,欢迎在评论区留言~

(注:本教程仅针对Windows 10 64位系统)

3Blue1Brown的B站主页:
https://space.bilibili.com/88461692

AI社群 | 与优秀的人交流

AI内参 | 关注行业发展

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !

B站最火数学视频3Blue1Brown是如何制作的相关推荐

  1. 七年级上册数学计算机教学视频,七年级上册数学视频教学

    简单学习网七年级上册数学视频教学,专注中学课程,汇聚专业优质师资讲课,针对基础不扎实.成绩不稳定.想冲刺高考的学员快速提升成绩,稳固分数,考入理想名校! 数学三角函数公式大全 sin30°=1/2 s ...

  2. python爬取抖音用户数据的单位是_爬取并分析一下B站的最热视频排行榜,看看大家都喜欢看什么视频...

    前言 现在大家的生活中,已经越来越离不开B站了,2020年的第一季度,B站月活跃用户达到了1.72亿,日活跃用户也已经突破了5000万个用户.源源不断的流量让B站的up主们也是粉丝数目不断暴涨,百万粉 ...

  3. python B站UP主所有视频封面下载

    python B站UP主所有视频封面下载 仅用于个人学习 ''' B站视频封面下载,仅用于个人学习 ''' import requests, math, time, random, re, ossta ...

  4. B站手机APP缓存视频(m4s)转换为mp4格式

    B站手机APP缓存视频转换到电脑上面播放 前言 效果 缓存视频 上传到PC端 找到缓存的视频存放位置 连接手机上传数据到PC端 通过批处理命令进行转换 前言 哔哩哔哩为我们提供了许多的资源,比如某某课 ...

  5. Node.js脚本项目合集(一):Node.js+FFmpeg实现批量从B站导出离线缓存视频到mp4格式,mp4转mp3,实现听歌自由

    Node.js脚本项目合集(一):Node.js+FFmpeg实现批量从B站导出离线缓存视频到mp4格式,mp4转mp3,实现听歌自由 前言 一.准备工作以及介绍 1.什么是FFmpeg 2.FFmp ...

  6. 安卓桌面壁纸_火莹视频桌面:好玩的动态桌面壁纸软件,让你的桌面动起来

    前言 每天都看着静止的桌面壁纸会不会感到有些无聊呢? 今天分享一款动态桌面壁纸软件,带你打开新世界的大门--「火莹视频桌面」,让我们的桌面动起来!φ(゜▽゜*)♪ 火莹视频桌面 火莹视频桌面是一款桌面 ...

  7. [资源下载]张宇老师讲授的数学视频(概率+高数+线代)

    张宇老师讲授的三套数学视频 最近发现有不少群友都在补数学的缺,原因是他们尝试学习机器学习的理论,却发现自己在微积分.概率统计.凸优化.线性代数方面的知识不够用,或者,准确地说,是-- 以前学的都还给数 ...

  8. 火萤视频桌面|火萤视频桌面下载

    火萤视频桌面是我非常喜欢的一款电脑主题软件,软件在拥有非常的的壁纸,虽然其他的主题软件也是有很多漂亮的壁纸,但如果还能让桌面"动起来",那样酷炫的效果才够让人一眼难忘的,所以火萤视 ...

  9. 在 mac 下遇到一个强力的软件:火萤视频桌面

    使用它后,删除了火萤视频桌面 桌面切换时还会闪现一下视频 怎么删除呢? 如图先设置 一下. 再删除干净本地视频 再在应用程序目录中删除掉. 我这就可以了. 后面发现的目录 /Users/****/Li ...

最新文章

  1. 吴恩达老师深度学习视频课笔记:多隐含层神经网络公式推导(二分类)
  2. Angular下通过命令创建组件至指定文件夹下
  3. pip指定包的安装路径
  4. NodeJS知识汇总
  5. 周鸿祎回应参加RSA大会一事:已在家自行隔离 目前身体状况一切都好
  6. Reacr-Native Android 环境搭建 、运行项目(二)Window
  7. bzoj4567: [Scoi2016]背单词
  8. Hadoop (一) Hadoop学习
  9. Java-面试-逻辑题
  10. 谈谈心理学--那些令人叫绝的心理效应
  11. SAP MM ME56不能为审批后的PR分配货源? 2
  12. Manifest merger failed
  13. Dive into Vue.js
  14. 【量化】基于聚宽实现基本面多因子选股+技术指标择时策略
  15. 立体像对前方交会模型
  16. 慕课软件质量保证与测试(第五章.课后作业)
  17. 跟谁学计算机老师,跟谁学
  18. OSChina 周五乱弹 ——越污的人颜值越高 不信看图!
  19. 解码(decode)与编码(encode)(内附源代码)
  20. 动态修改RelativeLayout的宽高

热门文章

  1. Linux 文件的权限
  2. 4.Azure创建点到站点的***隧道(下)
  3. 大数据产业正处在蓬勃发展的孕育期与机遇期
  4. Java嵌入式数据库H2学习总结(三)——在Web应用中嵌入H2数据库
  5. PHP将死。何以为继?
  6. Office 2010的贴心功能:迷你翻译器
  7. 移动测试之CheckList
  8. suse mysql root密码忘记_SUSE11.4 找回 mysql root 密码?网上能找到的所有方法都试过了,不行......
  9. python a any_Python any() 函数
  10. token验证_java基于token的身份验证?读完之后,大部分程序员收藏了...