这篇文章主要介绍怎么使用Python快乐学数学Github万星神器Manim,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
python的五大特点是什么
python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2.面向对象,与其他主要的语言如C++和Java相比, Python以一种非常强大又简单的方式实现面向对象编程。3.可移植性,Python程序无需修改就可以在各种平台上运行。4.解释性,Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。5.开源,Python是 FLOSS(自由/开放源码软件)之一。
安装Manim
虽然manim已经支持Python3.7的,不过安装起来还是比较麻烦,我在ubantu18.04上直接使用安装的过程如下:
1.首先尝试直接使用pip install manimlib
命令安装,但是会有以下报错
Cannot uninstall 'pycairo'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
2.pip安装失败后使用git命令安装
sudo apt install sox ffmpeg libcairo2 libcairo2-dev
sudo apt install texlive-full
git clone https://github.com/3b1b/manim
cd manim
pip install -r requirement.txt
这里还是会报错,使用gedit requirement.txt
将pycairo两行去掉,再执行pip install -r requirement.txt
命令。
3.单独安装pycairo
使用以下命令强制升级就可以了。
sudo pip install pycairo --upgrade --ignore-installed pycairo
4.安装manim
确保在manim的目录下执行
python setup.py install
即可完成安装了。
windows下安装manim实在太痛苦了,得把c的编译环境,git for windows等等通通装一遍,不建议尝试,如果执意不想放弃windows请考虑在ubantu虚拟机装manim
体验Manim
1.运行例程
使用以下命令就可以看到本文开头的动画了
python extract_scene.py example_scenes.py SquareToCircle -pl
2.manim例程概述
打开manim目录下的example_scenes.py
找到“class SquareToCircle”一段,这也就是我们刚刚生成动图的代码具体如下:
class SquareToCircle(Scene):
def construct(self):
circle = Circle()#定义圆
square = Square()#定义方形
square.flip(RIGHT)#放置正确位置
square.rotate(-3 * TAU / 8)#逆时针旋转3/8pi
circle.set_fill(PINK, opacity=0.5)#背景定为粉色,不透明度0.5
self.play(ShowCreation(square))#显示方形
self.play(Transform(square, circle))#由方变圆
self.play(FadeOut(square))#圆形淡出
其中第1、2行circle = Circle()
和 square = Square()
其实就是定义圆形和正方形两个物体,后面使用在第3行调用flip()函数将正方形放到正确的位置上。然后调用第4行调用rotate()函数,在逆时针方向旋转3/8pi的角度。第5行调用set_fill()将圆形的填充颜色设置为粉红色,不透明度设置为0.5,具体也可以参考我上面的注释。以上这些参数都可以自行修改设置,改好之后再调用
python extract_scene.py example_scenes.py SquareToCircle -pl
就能重新生成好新的图像。 当然这只是manim的最简单入门的用法,也可以定义许多其它的方法,比如这个
不可否认manim的确是数学展示动画制作的神器,建议当爸爸的程序员们赶快学起来吧,培养孩子对几何的兴趣效果还不错。
以上是“怎么使用Python快乐学数学Github万星神器Manim”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注天达云行业资讯频道!