jk 自慰 Manim:超赞的Python数学动画库

jk 自慰 Manim:超赞的Python数学动画库

图片

01

小序

本文将带人人走进Manim的全国!这是一个由大名鼎鼎的3Blue1Brown 的作家Grant Sanderson创建,它能通过细巧的动画让数学维妙维肖,很是得当用于制作种种数学教授视频。

杨幂 丝袜在本文中,咱们将探索 Manim 在数学可视化方面的遍及功能,望望它是若何将轮廓的观点变得令东说念主沦落、令东说念主惊奇的。准备好买妻耻樵吧!

02

 装配

在认真初始之前,咱们需要进行装配,一般使用pip即可装配,呐喊如下:

pip install manim装配完成后,咱们就不错初始一齐探索这个超棒的动画库了。准备好用 Manim 制作细巧动画了吗?让咱们接下来一齐深切了解五个示例!咱们将检朴单的动画初始,逐渐过渡到更复杂的动画,展示Manim 的遍及功能和直不雅性。

03

  默契简便文本

最初,让咱们创建一个动画,在屏幕上默契笔墨 'Hello,Manim!'。底下是已矣这一狡计的代码片断:
# scene.pyfrom manim import *class HelloWorld(Scene):    def construct(self):        text = Text('Hello, Manim!')        self.play(Write(text))        self.wait()

之后在现时文献地点目次下的呐喊行窗口,实践以下呐喊:

manim -pql scene.py HelloWorld

即可得回如下效力:

图片

04

  分析评释

在上述中,最初咱们导入了 Manim 的基本组件,界说了一个摄取自 Scene 的自界说类 HelloWorld,并创建了一个包含输出信息的Text对象,使用 Write函数制作文本动画,self.play()默契动画,self.wait()暂停动画窄小。

此外,咱们对上述运行呐喊行进行分析:

manim -pql scene.py HelloWorld

最初,上述呐喊在包含形容绘画代码的文献scene.py上实践manim。此外,此呐喊告诉 manim 要渲染的真确场景,在本例中,它是HelloWorld。这是必需的,因为单个场景文献scene.py 可能包含多个场景类的界说。

接下来,符号位 -p 告诉 manim在渲染场景后播放场景,而 -ql 符号位告诉 manim 以低质料渲染场景。虽然,指定渲染场景动画质料的其他选项还包括 -qm、-qh 和 -qk,分歧示意中、高和4k高清质料。

05

 画图几何图形

目下,让咱们用一个圆形和一个正方形制作一个简便的动画。
# scene.pyfrom manim import *class Shapes(Scene):    def construct(self):        circle = Circle()        square = Square()        self.play(Create(circle))        self.play(circle.animate.shift(LEFT))        self.play(Create(square))        self.play(square.animate.shift(RIGHT))        self.wait()
上述代码中,咱们界说了一个体式类Shapes,并创建了圆形和正方形对象。然后,咱们使用 Create 画图相搪塞象的体式,并使用animate.shift() 关节将它们分歧向左和向右出动。一样在呐喊行中,运行如下呐喊: manim -pql scene.py Shapes

得回效力如下:

图片

06

动画组合接着让咱们用动画演示从正方形到圆形的调治。
# scene.pyfrom manim import *class Transformation(Scene): def construct(self): square = Square() circle = Circle() self.play(Create(square)) self.play(Transform(square, circle)) self.wait()

在本例中,咱们同期创建了正方形和圆形对象,使用创建动画函数Create画图正方形,然后使用变换动画函数Transform将正方形变为圆形。

一样在呐喊行中,运行如下呐喊:

manim -pql scene.py Transformation

得回效力如下:

图片

06

演示数学函数

接着让咱们来画图一条简便的抛物线:

# scene.pyclass FunctionPlot(Scene):    def construct(self):        ax = Axes(            x_range=[-5, 5, 1],            y_range=[-3, 3, 1],            x_length=10,            y_length=6,            axis_config={'include_numbers': True},        )        func = lambda x: 0.1 * (x**2)        curve = ax.plot(func, color=YELLOW)        self.play(Create(ax))        self.play(Write(curve))        self.wait()

在上述代码中,咱们最初要开荒一个Axes对象,竖立其 x 标的和 y标的的边界及长度,并启用沿轴默契数字。接下来,咱们为抛物线弧线

(y=0.1x^2)界说一个 lambda函数。临了咱们使用 plot() 关节生成函数的图形,并将其存储在变量curve中。

一样在呐喊行中,运行如下呐喊:

manim -pql scene.py FunctionPlot

得回效力如下:

图片

07

演示复杂公式事实上,咱们持续会碰到一些数学上复杂的狡计公式,此时咱们不错使用 LaTeX 代码来示意对应的方程,例如如下:
class LaTeXFormula(Scene):    def construct(self):        formula = MathTex(r'\int_{-\infty}^{\infty} \frac{1}{\sqrt{2\pi\sigma^2}}dx')        self.play(Write(formula))        self.wait()

咱们创建一个名为formula 的MathTex 对象,其中包含形容方程的LaTeX 代码。运行上述代码后,不错得回效力动画如下:

图片

08

归来

只需简便几行代码,人人就不错使用 Manim 来制作出令东说念主惊奇的数学动画。对数学和编程感敬爱敬爱的同学,保举人人快来尝试,享受其中的乐趣吧!

点击上方小卡片祥和我

新年传话:

所求齐遂愿,

所行齐坦途。

多喜乐jk 自慰,长冷静。

本站仅提供存储劳动,总共履行均由用户发布,如发现存害或侵权履行,请点击举报。