来源:Python数据之道 (ID:PyDataLab)
作者:阳哥
大家好,我是阳哥。
最近几个月,我在微信视频号「价值前瞻」和「Python数据之道」发布了一些视频,有不少同学问到这些视频是怎么做的,用什么工具制作的。
今天来给大家揭秘。
最近,我在视频号上的视频,主要是用视频制作工具 Manim 来制作的。
Manim 真的是一款高逼格的视频制作工具,尤其是数学动画领域。
Manim 是斯坦福大学数学系小哥 Grant Sanderson 开源的python库,并用于 油管频道 3Blue1Brown,来解说数学等相关内容。
可能大家没有听说过 3Blue1Brown 频道, 该频道在油管上拥有 400万+ 的粉丝,其发布的视频浏览量大部分都在百万级以上,有不少在千万级别,作为一个专业领域的博主,不得不令人佩服。
Manim 是一个非常优秀的数学动画制作引擎,可以制作视频格式(.mp4)或动图格式的动画(.gif),先来几个动画感受一下 Manim 的魅力:
对于 Manim 的初学者,使用 Manim 时,对于其版本的选择还是有些需要注意的地方。
不同版本的代码、教程等,还是有稍许差异的。
目前 Manim 主要有三个版本:
3b1b 旧版:3blue1brown 自己维护的版本,使用 Cairo 作为后端;
3b1b 新版:3blue1brown 自己维护的版本,使用 OpenGL 和 moderngl 来进行 GPU 渲染,优点是速度快;
Manim 社区版:社区版是2020年下半年才出来的版本,目前主要是 Manim 旧版的衍生,更新更活跃,有很好的文档和社区支持。当然,随着社区版的迭代更新,目前 3b1b 新版 的某些特性也在逐步容纳进来。
关于这几个版本如何选择的建议:
如果你是新接触这个工具的,建议可以从社区版开始,主要是社区版的文档教程比较齐全,其迭代的频率更快。
如果你是 Python 或者其他编程领域的资深人士,想体自己动手深入理解并优化这个工具,可以使用 3b1b 新版
对于 3b1b 旧版,我暂时没有更多的想法
在 Manim 3b1b 版本 和 社区版均提供了如何安装的文档:
3b1b 新版的安装文档:https://github.com/3b1b/manim
社区版的安装文档:https://docs.manim.community/en/stable/installation.html
有同学说安装是比较容易的,不过,我自己在安装过程中还是遇到了一些麻烦。
最终,上述两个版本我都安装了,大家可以自行尝试安装下。由于不同的电脑环境,有时候总会出现一些意想不到的bug,在这里我就不介绍如何安装了。
一些有意思的经历,在2019年的时候,我曾经尝试安装 3b1b 旧版 的 Manim,几次安装失败后,成功的被劝退了。
要不是开始弄视频,估计也不会再次去尝试安装 Manim,毕竟之前的阴影还在。
3b1b 新版 的 Manim 和 社区版的 Manim 我都有安装并使用。
在最初的时候,我只安装了 3b1b 新版,在制作了一些视频后,觉得支持文档这方面对我而言还是有不少难度,不然就需要自己花大量时间去熟悉这个工具的源代码。
总的来说,刚开始使用 3b1b 新版,在效率方面会有一些折扣。
后面折腾了一阵,将社区版也安装好了,所以我主要是以使用社区版 Manim 为主。
社区版的文档、教程,可以在下面这个网站查询:
https://docs.manim.community/en/stable/tutorials/quickstart.html
我制作的视频主要在微信视频号「价值前瞻」和「Python数据之道」上发布:
价值前瞻,主要是读书、财经、思维等相关内容
Python数据之道,主要是Python、算法、数学、IT等相关内容
对于读书笔记、思维模型等内容,其实也是可以用 Manim 这个工具的,尤其是某些思维模型如果涉及某些数学常识相关的内容。
当然,这类视频,并不一定要用 Manim 这个稍显生硬的工具,也还是有其他很多更好的工具的。
我制作了一个 “复利效应” 相关的视频,如下:
时序数据的曲线绘制,在 Manim 上并没有提供现成的方法,但经过研究,其实也是可以实现的,如下:
对于企业的财务数据,分阶段的可视化,也可以想办法来实现,如下:
上面的效果,个人觉得,后续还可以继续优化,使切换过程更加平滑。
在视频号「Python数据之道」上,目前主要有 算法系列、数学系列的视频。
算法方面,目前已经跟大家分享了10大经典排序算法的视频(点击下面图片链接查看)。
数学方面,主要是一些经典图形,以及一些基础内容的介绍,要做好数学类的视频,最最最主要的,还是要对数学原理有比较深入的理解,这个是最难滴~
此外,我还想弄一些跟Python相关的视频,暂时称之为 “好玩的Python”,最近的就是做了一个如何绘制圣诞树的视频。
类似的视频,有不少同学是用 Python 的 Turtle 包来绘制的,在这里我用 Manim 进行了绘制,效果如下:
不得不说,用 Manim 制作出来的视频,效果确实挺不错的。在使用过程中,也有一些小小的经验,想用 Manim 制作出高逼格的视频,需要注意的是:
每一个视频花费的时间,都会不少;
对 Manim 这个工具的源代码有足够的理解;
对 数学或算法知识有一定的理解;
所谓的高逼格,其实主要是在内容领域和视觉领域,内容领域体现的是内容的专业性,而视觉领域,则更多的是艺术效果,比如布局、配色等。
所有的这些因素,每个人在刚开始的时候,并不是都熟悉,但随着知识与经验的积累,会越来越好的。
为了更好的使用 Manim,我建立一个 github 仓库,来整理相关的资源,目前还是一个起始阶段,欢迎大家提供建议!
地址如下:
https://github.com/liyangbit/ManimLab
大家读完顺手点下右下角的 “在看” ,就是最大的鼓励和支持了。
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
Unity自动旋转动画1.开门需要门把手先动,门再动2.关门需要门先动,门把手再动3.中途播放过程中不可以再次进行操作觉得太复杂?查看我的文章开关门简易进阶版效果:如果这个门可以直接打开的话,就不需要放置"门把手"如果门把手还有钥匙需要旋转,那就可以把钥匙放在门把手的"门把手",理论上是可以无限套娃的可调整参数有:角度,反向,轴向,速度运行时点击Test进行测试自己写的代码比较垃圾,命名与结构比较拉,高手轻点喷,新手有类似的需求可以拿去做参考上代码usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;u
我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的
本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决
动漫制作技巧是很多新人想了解的问题,今天小编就来解答与大家分享一下动漫制作流程,为了帮助有兴趣的同学理解,大多数人会选择动漫培训机构,那么今天小编就带大家来看看动漫制作要掌握哪些技巧?一、动漫作品首先完成草图设计和原型制作。设计草图要有目的、有对象、有步骤、要形象、要简单、符合实际。设计图要一致性,以保证制作的顺利进行。二、原型制作是根据设计图纸和制作材料,可以是手绘也可以是3d软件创建。在此步骤中,要注意的问题是色彩和平面布局。三、动漫制作制作完成后,加工成型。完成不同的表现形式后,就要对设计稿进行加工处理,使加工的难易度降低,并得到一些基本准确的概念,以便于后续的大样、准确的尺寸制定。四、
2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p
ValidPalindromeGivenastring,determineifitisapalindrome,consideringonlyalphanumericcharactersandignoringcases. [#125]Example:"Aman,aplan,acanal:Panama"isapalindrome."raceacar"isnotapalindrome.Haveyouconsiderthatthestringmightbeempty?Thisisagoodquestiontoaskduringaninterview.Forthepurposeofthisproblem