国外课栈 - 国外电子信息技术视角栈

Python创建数学动画【浅阅篇】

 二维码 5
文章附图

您是否曾经尝试过使用机器学习算法的数学概念并将3Blue1Brown用作学习资源?由于格兰特(Grant)出色的解释和出色的动画效果,许多人喜欢3Blue1Brown。

如果您可以了解他是如何创建这些动画的,那么您可以创建类似的动画来向队友,经理或追随者解释一些数据科学概念,这不是很酷吗?

幸运的是,Grant整理了一个名为manim的Python程序包,使您可以使用Python创建数学动画或图片。 在本文中,您将学习如何使用manim创建数学动画。

什么是Manim?

Manim是用于制作精确动画的引擎,旨在创建说明性的数学视频。 请注意,有2种版本的manim。 一种是由Grant创建的,另一种是由Manim社区创建和维护的。

要安装软件包的依赖项,请访问文档。 安装依赖项后,键入:

pip install manim

开始创建

创建一个从中心开始生长的蓝色方块。

我们将创建一个从中心开始生长的蓝色正方形。 用于创建动画的代码位于从Scene派生的类的Construct方法中。

将上面的脚本另存为start.py。 现在,运行以下命令为脚本生成视频。

要创建GIF而不是视频,请在命令中添加-i,如下所示:

将正方形变成圆形

单独创建一个正方形并不是那么有趣。 让我们将这个正方形变成一个圆圈。

创建上面动画的代码:

在此处找到形状的完整列表。

自定义Manim

如果您不希望背景为黑色,则可以将其变为灰色,如下所示:

通过使用config.background_color。

from manim import * config.background_color = DARK_GRAY

在这里找到其他自定义manim的方法。

Manim还能做什么?

用移动框架编写数学方程

您还可以创建一个动画,该动画编写带有移动框架的数学方程式,如下所示:

或逐步编写方程式的求解方法:

移动和缩放相机

您还可以使用从MovingCameraScene对象继承的类来调整摄像机并选择要放大的方程式的哪一部分。

图形

一起移动对象

追踪路径

本文代码

附录A:数学和物理概念动态解释示例(代码)

附录B:Manim视频教程(代码)


阅读完整文档


文章分类: 编程碎语Python