热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

3Blue1Brown的动画引擎如何配置?

相信很多人都知道3Blue1Brown,这是一个由斯坦福大学的数学系学生GrantSanderson创建的YouTube频道。该频道从独特的视觉角度解说高等数学,内容包括线性代数、

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

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

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

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

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

所以,突然想尝试用一下该基于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,具体按照步骤网上有很多。

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

除此之外,还要下载:

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

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

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

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

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

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

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

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

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

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

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

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

python --version

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

latex --version

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

xelatex --version

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

ffmpeg -version

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

dvisvgm --version

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

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

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

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

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

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

回到Anaconda Prompt中,输入:

cd <manim 的根目录>

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

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

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

python -m pip install -r requirements.txt

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

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

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

conda install vs2015_runtime

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

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

conda install pycairo

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

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

python -m manim example_scenes.py SquareToCircle -pl

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

pip install

一个特例是readline包,如果提示“ModuleNotFoundError: No module named &#8216;readline&#8217;”,则需要输入的是:

pip install pyreadline

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

python -m manim example_scenes.py SquareToCircle -pl

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

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

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

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

同理,输入命令:

python -m manim example_scenes.py WarpSquare -pl

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

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

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

输入命令:

python -m manim example_scenes.py WriteStuff -pl

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

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

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

输入命令:

python -m manim example_scenes.py UpdatersExample -pl

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

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

《3Blue1Brown的动画引擎如何配置?》
《3Blue1Brown的动画引擎如何配置?》

是不是手痒了?23333。

如果安装成功,感谢点赞支持,如果配置遇到什么问题,欢迎在评论区留言~

<本教程仅针对Windows 10 64位系统>


推荐阅读
  • R语言openxlsx、car、rmarkdown包安装报错: 句法分析器2行里不能有多字节字符;解决WARNING: Rtools is required to build R packages
    每次打开Rstudio这里会警告句法分析器2行里不能有多字节字符当安装car包时报错,安装Markdown包一直加载不出来,查了一下安装上了Rtool ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • OpenCV4.5.0+contrib编译流程及解决错误方法
    本文介绍了OpenCV4.5.0+contrib的编译流程,并提供了解决常见错误的方法,包括下载失败和路径修改等。同时提供了相关参考链接。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • 安装Tensorflow-GPU文档第一步:通过Anaconda安装python从这个链接https:www.anaconda.comdownload#window ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • Inno Setup区段之Components篇相关知识详解
    本文详细介绍了Inno Setup区段之Components篇相关的知识,包括Components和Types的使用方式以及各个参数的说明,希望对读者有一定的参考价值。内容涵盖了ComponentsName、Description、Types、ExtraDiskSpaceRequired、ExtraDiskSpaceRequiredFlags等多个关键词,帮助读者更好地理解和应用Inno Setup区段之Components篇的知识。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 该ROM为红米3S3X手机提供了最强大的自定义功能,包括美观流畅的界面、全新的起航动画、魔幻的动画效果以及冰箱冻结功能。同时,还提供了高级设置,包括悬浮窗口显示自定义、WIFI密码查看器、S8炫酷跑马灯显示自定义等多项实用功能。此外,该ROM还优化了手机的待机时间、wifi连接速度,并支持状态栏实时网速显示和电池电量百分比显示。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有