父亲节到了,教你用Python动画神器送上节日祝福

        我上周介绍了3b1b的manim项目用Python快乐学数学,Github万星神器Manim简介,原计划在暑假期间教一下孩子在manim上做一个入门动画。结果没想到在今天教孩子“hello world"的时候,宝宝竟然还记得周末是父亲节,直接问我“父亲节快乐”应该怎么做。我真的是太惊喜了,下面我就会使用Manim来制作祝福的教程奉送给大家。

父亲节到了,教你用Python动画神器送上节日祝福_第1张图片

             Manim的Happy father's Day初步教程

      Manim中文字属于TextMobject类,圆形(circle)、方形(square)形状属于Mobject类,”hello world“这种简单显示文字的要求,只需要新建一个TextMobject类的对象,然后显示出来即可。咱们可以继续拿example_scenes.py开刀,使用gedit example_scenes.py命令打开example_scenes.py,在其中新建一个HappyFathersDay函数即可,具体代码如下:

Class HappyFathersDay(Scene):
	Def construct(self):
        happyfatherdayText=TextMobject(“Happy father’s Day”)#然后再定义一个文字对
		Self.play(ShowCreation(happyfatherdayText))#再把这个对象show出来即可。

      当然这里如果读者把第三行的“Happy father's day"换成”hello world“,就是经典的hello world教程了。然后使用以下命令就能看到效果了。

python extract_scene.py example_scenes.py HappyFathersDay -pl

       如果读者遇到报错” latex:not found"那可没关系,这是因为latex太大,安装起来可能漏过了一些包,使用以下命令就能修复

sudo apt install texlive-full --fix-missing

     之后生成的结果如下,虽然简单,而且4行代码中的3行半还都是我敲的,不过孩子能有这份心我真的欣慰啊。

     Happy father's Day进阶 

   

      除了文字和形状外,manim还可以定义点。语法如下:DotN=Dot(color,point),通过点还可以定义线这个也简单lineN=Line(dotn1,dotn2),有了线就可以做一淡入淡出的工作了。具体代码如下:

Class HappyFathersDay(Scene):
	Def construct(self):
        happyfatherdayText=TextMobject(“Happy father’s Day”)
        Dot1=Dot(color=COLOR_MAP[“RED_A”],point=UL+DL)
        Dot2=Dot(color=COLOR_MAP[“RED_A”],point=UR+DR)
        Line1=Line(Dot1,Dot2)
        self.play(ShowCreation(happyfatherdayText))#显示文字
        self.play(Transform(happyfatherdayText, Line1))#变为直线
        self.play(FadeOut(Line1))#直线淡出

    上述代码使用“python extract_scene.py example_scenes.py HappyFathersDay -pl”生成后的效果如下: 

父亲节到了,教你用Python动画神器送上节日祝福_第2张图片

    那么淡入的效果其实不贴代码想必读者也可以完成了吧。

父亲节到了,教你用Python动画神器送上节日祝福_第3张图片

           后续

    Manim之父3b1b实在是一个伟大的机构,笔者随手就能做出一些非常强悍数学动画效果出来,比如像这样,我在后续的博客中有机会还会继续向大家介绍Manim的使用心得。

     今天就到这里,最后祝所有码二代们都能成绩优秀;编程技术一代更比一代强;祝所有程序员父亲们节日快乐! 

 

你可能感兴趣的:(python)