Manim: 让你的报告动起来 | 第86期

二维图或者三维图终归是静态的,如果能够使用动画来表现时间维度,就会更加生动有趣。如果你正准备作报告或者展示Demo,动画会让整个观感增色不少。一般地,我们可以使用AfterEffect来制作,但是对于需要比较复杂的数据和逻辑驱动的时候,就会非常累而且效果很难达到预期。

有人开发了一款数学动画制作软件 Manim,只需要熟悉Python和Latex的一些知识,就可以用来制作自己的动画。 这款软件能够做什么,做出来的效果怎么样,这里带大家先睹为快。

1 物体移动

既然是动画,那自然缺少不了目标物体的移动。Manim提供了直观的接口来控制物体的位置,并且在移动的过程中添加了一些效果。这些移动包括直接设置目标的绝对位置,或者以当前位置为参考作出相对移动。

Manim: 让你的报告动起来 | 第86期

物体移动

2 Latex复杂文本

做科技动画时,常常需要展示数学公式,或者其他的形式非常复杂的文本,这时,常常需要借助Latex来生成。manim会调用Latex指令将生成指定内容的矢量图文本,然后将这些矢量图放到动画中。除了展示五颜六色的文字,还可以展示复杂的数据公式和程序代码。

Manim: 让你的报告动起来 | 第86期

Latex复杂文本

3 坐标轴

绘制一些数学图形时,坐标轴会是一个必不可少的组件。Manim提供了一些默认的坐标轴对象,可以直接在自己的动画中使用。除了普通的数轴和二维直角坐标系,还可以添加复数坐标和三维坐标。有一些坐标轴自带了比较酷炫的效果,让人眼前一亮。

Manim: 让你的报告动起来 | 第86期

坐标轴

4 常用的形状

Manim提供了一些常用的矢量图基本形状,也提供了将这些基本形状组装成复杂形状的机制。首先看看一些基本的2D形状,包括并不限于圆、矩形、直线、弧形等等。

Manim: 让你的报告动起来 | 第86期

2D形状

此外,Manim也提供了绘制3D形状的方法,使用者只需要给出形状的表面描述方程即可生成对应的三维形状,包括球形、立方体以及根据函数确定的复杂形状,如马鞍面、锥面等等。


Manim: 让你的报告动起来 | 第86期

3D形状

5 动画效果

从一个物体变化到另一个物体,这之间的转台变化过程该如何表现,这一点并不需要我们关心,Manim已经提供了一些非常不错的动画效果。

Manim: 让你的报告动起来 | 第86期

动画效果

以上介绍了Manim的一些基础组件和基础效果,由于这是一个开源的Python模块,大家可以根据自己的需求来定制几乎所有的对象和效果。如果你有一个特殊的形状需要展示,完全可以使用其他软件设计完成,然后导出SVG文件的矢量图,就可以在Manim中通过代码来操作这些自定义对象了。

题外

频道资源,可以私信关键字获取。

Python编程问题咨询,请发送关键字【咨询

获取leetcode源代码,请发送关键字【leetcode

获取书籍,请发送关键字【书籍


分享到:


相關文章: