使用Python快乐学数学Github万星神器Manim简介

 更新时间:2019年08月07日 10:11:19   作者:beyondma  
这篇文章主要介绍了使用Python快乐学数学Github万星神器Manim简介,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

高考在即,笔者想为孩子以后能够快乐学习数学、学习编程找到一个比较合适的项目,经过一番比较发现github上的万星项目manim(https://github.com/3b1b/manim)就非常好。它能够快速构建有关数学的动画,而且非常精确形象。

           安装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简介,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • Pytorch实现List Tensor转Tensor,reshape拼接等操作

    Pytorch实现List Tensor转Tensor,reshape拼接等操作

    这篇文章主要介绍了Pytorch实现List Tensor转Tensor,reshape拼接等操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 使用py-spy解决scrapy卡死的问题方法

    使用py-spy解决scrapy卡死的问题方法

    这篇文章主要介绍了使用py-spy解决scrapy卡死的问题方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • python3之http.server模块用法

    python3之http.server模块用法

    这篇文章主要介绍了python3之http.server模块用法,具有很好的参考价值,希望对大家有所帮助,
    2023-09-09
  • OpenCV+Imutils实现图像的旋转操作

    OpenCV+Imutils实现图像的旋转操作

    imutils是在OPenCV基础上的一个封装,达到更为简结的调用OPenCV接口的目的,它可以轻松的实现图像的平移,旋转,缩放,骨架化等一系列的操作。本文将用其实现图像的旋转操作,感兴趣的可以学习一下
    2022-05-05
  • 基于Python绘制一个摸鱼倒计时界面

    基于Python绘制一个摸鱼倒计时界面

    前端时间推出了一个摸鱼APP,这篇文章将为大家介绍基于Python绘制一个摸鱼倒计时界面,文中的示例代码讲解详细,感兴趣的可以学习一下
    2021-12-12
  • django使用sqlite3统计前台站点访问数量示例

    django使用sqlite3统计前台站点访问数量示例

    这篇文章主要为大家介绍了django使用sqlite3统计前台站点访问数量示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • python文件路径操作方法总结

    python文件路径操作方法总结

    在本篇文章里小编给大家整理的是一篇关于python文件路径操作方法总结内容,有需要的朋友们可以学习下。
    2020-12-12
  • django-rest-swagger的优化使用方法

    django-rest-swagger的优化使用方法

    今天小编就为大家分享一篇django-rest-swagger的优化使用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python读取yaml文件的详细教程

    Python读取yaml文件的详细教程

    这篇文章主要给大家介绍了关于Python读取yaml文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07
  • python 基于selectors库实现文件上传与下载

    python 基于selectors库实现文件上传与下载

    这篇文章主要介绍了python 基于selectors库实现文件上传与下载的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12

最新评论