B站最火数学视频3Blue1Brown是如何制作的
授权转发自 知乎网友 李狗嗨
原文地址: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,具体按照步骤网上有很多。
除此之外,还要下载:
manim:https://github.com/3b1b/manim,选择clone or download,然后Download ZIP,解压后到一个合适的位置(路径中不要包含中文!),即可使用(此为manim引擎所包含的全部文件);
miktex:https://miktex.org/download,直接安装即可,(路径中不要包含中文!)(此为windows平台下的Tex套件,TeX 是一种排版语言,主要用于处理视频中包含的文字信息);
ffmpeg:https://ffmpeg.zeranoe.com/builds/,下载好后,放到一个合适的路径下(路径中不要包含中文!),解压后将../bin/目录添加进用户环境变量(见后图)(此为音视频流处理软件)
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是如何制作的相关推荐
- 七年级上册数学计算机教学视频,七年级上册数学视频教学
简单学习网七年级上册数学视频教学,专注中学课程,汇聚专业优质师资讲课,针对基础不扎实.成绩不稳定.想冲刺高考的学员快速提升成绩,稳固分数,考入理想名校! 数学三角函数公式大全 sin30°=1/2 s ...
- python爬取抖音用户数据的单位是_爬取并分析一下B站的最热视频排行榜,看看大家都喜欢看什么视频...
前言 现在大家的生活中,已经越来越离不开B站了,2020年的第一季度,B站月活跃用户达到了1.72亿,日活跃用户也已经突破了5000万个用户.源源不断的流量让B站的up主们也是粉丝数目不断暴涨,百万粉 ...
- python B站UP主所有视频封面下载
python B站UP主所有视频封面下载 仅用于个人学习 ''' B站视频封面下载,仅用于个人学习 ''' import requests, math, time, random, re, ossta ...
- B站手机APP缓存视频(m4s)转换为mp4格式
B站手机APP缓存视频转换到电脑上面播放 前言 效果 缓存视频 上传到PC端 找到缓存的视频存放位置 连接手机上传数据到PC端 通过批处理命令进行转换 前言 哔哩哔哩为我们提供了许多的资源,比如某某课 ...
- Node.js脚本项目合集(一):Node.js+FFmpeg实现批量从B站导出离线缓存视频到mp4格式,mp4转mp3,实现听歌自由
Node.js脚本项目合集(一):Node.js+FFmpeg实现批量从B站导出离线缓存视频到mp4格式,mp4转mp3,实现听歌自由 前言 一.准备工作以及介绍 1.什么是FFmpeg 2.FFmp ...
- 安卓桌面壁纸_火莹视频桌面:好玩的动态桌面壁纸软件,让你的桌面动起来
前言 每天都看着静止的桌面壁纸会不会感到有些无聊呢? 今天分享一款动态桌面壁纸软件,带你打开新世界的大门--「火莹视频桌面」,让我们的桌面动起来!φ(゜▽゜*)♪ 火莹视频桌面 火莹视频桌面是一款桌面 ...
- [资源下载]张宇老师讲授的数学视频(概率+高数+线代)
张宇老师讲授的三套数学视频 最近发现有不少群友都在补数学的缺,原因是他们尝试学习机器学习的理论,却发现自己在微积分.概率统计.凸优化.线性代数方面的知识不够用,或者,准确地说,是-- 以前学的都还给数 ...
- 火萤视频桌面|火萤视频桌面下载
火萤视频桌面是我非常喜欢的一款电脑主题软件,软件在拥有非常的的壁纸,虽然其他的主题软件也是有很多漂亮的壁纸,但如果还能让桌面"动起来",那样酷炫的效果才够让人一眼难忘的,所以火萤视 ...
- 在 mac 下遇到一个强力的软件:火萤视频桌面
使用它后,删除了火萤视频桌面 桌面切换时还会闪现一下视频 怎么删除呢? 如图先设置 一下. 再删除干净本地视频 再在应用程序目录中删除掉. 我这就可以了. 后面发现的目录 /Users/****/Li ...
最新文章
- 吴恩达老师深度学习视频课笔记:多隐含层神经网络公式推导(二分类)
- Angular下通过命令创建组件至指定文件夹下
- pip指定包的安装路径
- NodeJS知识汇总
- 周鸿祎回应参加RSA大会一事:已在家自行隔离 目前身体状况一切都好
- Reacr-Native Android 环境搭建 、运行项目(二)Window
- bzoj4567: [Scoi2016]背单词
- Hadoop (一) Hadoop学习
- Java-面试-逻辑题
- 谈谈心理学--那些令人叫绝的心理效应
- SAP MM ME56不能为审批后的PR分配货源? 2
- Manifest merger failed
- Dive into Vue.js
- 【量化】基于聚宽实现基本面多因子选股+技术指标择时策略
- 立体像对前方交会模型
- 慕课软件质量保证与测试(第五章.课后作业)
- 跟谁学计算机老师,跟谁学
- OSChina 周五乱弹 ——越污的人颜值越高 不信看图!
- 解码(decode)与编码(encode)(内附源代码)
- 动态修改RelativeLayout的宽高
热门文章
- Linux 文件的权限
- 4.Azure创建点到站点的***隧道(下)
- 大数据产业正处在蓬勃发展的孕育期与机遇期
- Java嵌入式数据库H2学习总结(三)——在Web应用中嵌入H2数据库
- PHP将死。何以为继?
- Office 2010的贴心功能:迷你翻译器
- 移动测试之CheckList
- suse mysql root密码忘记_SUSE11.4 找回 mysql root 密码?网上能找到的所有方法都试过了,不行......
- python a any_Python any() 函数
- token验证_java基于token的身份验证?读完之后,大部分程序员收藏了...