0


用 python 制作高逼格的数学动画

来源:Python数据之道 (ID:PyDataLab)

作者:阳哥

大家好,我是阳哥。

01写在前面

最近几个月,我在微信视频号「价值前瞻」和「Python数据之道」发布了一些视频,有不少同学问到这些视频是怎么做的,用什么工具制作的。

今天来给大家揭秘。

02视频制作神器:Manim

最近,我在视频号上的视频,主要是用视频制作工具

Manim

来制作的。

Manim

真的是一款高逼格的视频制作工具,尤其是数学动画领域。

Manim

是斯坦福大学数学系小哥

Grant Sanderson

开源的python库,并用于 油管频道

3Blue1Brown

,来解说数学等相关内容。

可能大家没有听说过

3Blue1Brown

频道, 该频道在油管上拥有 400万+ 的粉丝,其发布的视频浏览量大部分都在百万级以上,有不少在千万级别,作为一个专业领域的博主,不得不令人佩服。
2ef7efb40d7586a9d5243047b50945ab.pngaf5f826d52f1e751a6cd283f44a4f129.png

Manim 的魅力

Manim

是一个非常优秀的数学动画制作引擎,可以制作视频格式(

.mp4

)或动图格式的动画(

.gif

),先来几个动画感受一下

Manim

的魅力:
ea33fe5357f8642c1add8fc0f4acd3ab.gife55e42dc80f52a3462792d7d307903f6.gif

版本说明

对于

Manim

的初学者,使用

Manim

时,对于其版本的选择还是有些需要注意的地方。

不同版本的代码、教程等,还是有稍许差异的。

目前

Manim

主要有三个版本:
1812d5d0dd95d375d3d392f0d604de54.png

  • 3b1b 旧版:3blue1brown 自己维护的版本,使用 Cairo 作为后端;
  • 3b1b 新版:3blue1brown 自己维护的版本,使用 OpenGL 和 moderngl 来进行 GPU 渲染,优点是速度快;
  • Manim 社区版:社区版是2020年下半年才出来的版本,目前主要是 Manim 旧版的衍生,更新更活跃,有很好的文档和社区支持。当然,随着社区版的迭代更新,目前 3b1b 新版 的某些特性也在逐步容纳进来。

关于这几个版本如何选择的建议:

  • 如果你是新接触这个工具的,建议可以从社区版开始,主要是社区版的文档教程比较齐全,其迭代的频率更快。
  • 如果你是 Python 或者其他编程领域的资深人士,想体自己动手深入理解并优化这个工具,可以使用 3b1b 新版
  • 对于 3b1b 旧版,我暂时没有更多的想法

Manim 的安装

Manim

3b1b 版本 和 社区版均提供了如何安装的文档:

有同学说安装是比较容易的,不过,我自己在安装过程中还是遇到了一些麻烦。

最终,上述两个版本我都安装了,大家可以自行尝试安装下。由于不同的电脑环境,有时候总会出现一些意想不到的bug,在这里我就不介绍如何安装了。

一些有意思的经历,在2019年的时候,我曾经尝试安装 3b1b 旧版 的

Manim

,几次安装失败后,成功的被劝退了。

要不是开始弄视频,估计也不会再次去尝试安装

Manim

,毕竟之前的阴影还在。

03我的 Manim 之路

3b1b 新版 的

Manim

和 社区版的

Manim

我都有安装并使用。

在最初的时候,我只安装了 3b1b 新版,在制作了一些视频后,觉得支持文档这方面对我而言还是有不少难度,不然就需要自己花大量时间去熟悉这个工具的源代码。

总的来说,刚开始使用 3b1b 新版,在效率方面会有一些折扣。

后面折腾了一阵,将社区版也安装好了,所以我主要是以使用社区版

Manim

为主。

社区版的文档、教程,可以在下面这个网站查询:

https://docs.manim.community/en/stable/tutorials/quickstart.html

我制作的视频主要在微信视频号「价值前瞻」和「Python数据之道」上发布:

  • 价值前瞻,主要是读书、财经、思维等相关内容
  • Python数据之道,主要是Python、算法、数学、IT等相关内容

价值前瞻

思维类

对于读书笔记、思维模型等内容,其实也是可以用

Manim

这个工具的,尤其是某些思维模型如果涉及某些数学常识相关的内容。

当然,这类视频,并不一定要用

Manim

这个稍显生硬的工具,也还是有其他很多更好的工具的。

我制作了一个 “复利效应” 相关的视频,如下:

财经类

时序数据的曲线绘制,在

Manim

上并没有提供现成的方法,但经过研究,其实也是可以实现的,如下:

对于企业的财务数据,分阶段的可视化,也可以想办法来实现,如下:

上面的效果,个人觉得,后续还可以继续优化,使切换过程更加平滑。

Python数据之道

在视频号「Python数据之道」上,目前主要有 算法系列、数学系列的视频。

算法方面,目前已经跟大家分享了10大经典排序算法的视频(点击下面图片链接查看)。

数学方面,主要是一些经典图形,以及一些基础内容的介绍,要做好数学类的视频,最最最主要的,还是要对数学原理有比较深入的理解,这个是最难滴~

此外,我还想弄一些跟Python相关的视频,暂时称之为 “好玩的Python”,最近的就是做了一个如何绘制圣诞树的视频。

类似的视频,有不少同学是用 Python 的

Turtle

包来绘制的,在这里我用

Manim

进行了绘制,效果如下:

04小结

不得不说,用

Manim

制作出来的视频,效果确实挺不错的。在使用过程中,也有一些小小的经验,想用

Manim

制作出高逼格的视频,需要注意的是:

  • 每一个视频花费的时间,都会不少;
  • Manim 这个工具的源代码有足够的理解;
  • 对 数学或算法知识有一定的理解;
  • 所谓的高逼格,其实主要是在内容领域和视觉领域,内容领域体现的是内容的专业性,而视觉领域,则更多的是艺术效果,比如布局、配色等。

所有的这些因素,每个人在刚开始的时候,并不是都熟悉,但随着知识与经验的积累,会越来越好的。

为了更好的使用

Manim

,我建立一个 github 仓库,来整理相关的资源,目前还是一个起始阶段,欢迎大家提供建议!

地址如下:

https://github.com/liyangbit/ManimLab


大家读完顺手点下右下角的 “在看” ,就是最大的鼓励和支持了。


本文转载自: https://blog.csdn.net/lemonbit/article/details/122098020
版权归原作者 Python数据之道 所有, 如有侵权,请联系我们删除。

“用 python 制作高逼格的数学动画”的评论:

还没有评论