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


Posted in Python onAugust 07, 2019

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

使用Python快乐学数学Github万星神器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的最简单入门的用法,也可以定义许多其它的方法,比如这个

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

     不可否认manim的确是数学展示动画制作的神器,建议当爸爸的程序员们赶快学起来吧,培养孩子对几何的兴趣效果还不错。

总结

以上所述是小编给大家介绍的使用Python快乐学数学Github万星神器Manim简介,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
复制粘贴功能的Python程序
Apr 04 Python
Python查询Mysql时返回字典结构的代码
Jun 18 Python
python 合并文件的具体实例
Aug 08 Python
Python实现计算最小编辑距离
Mar 17 Python
python re模块findall()函数实例解析
Jan 19 Python
scrapy-redis的安装部署步骤讲解
Feb 27 Python
Python 爬虫实现增加播客访问量的方法实现
Oct 31 Python
Python:合并两个numpy矩阵的实现
Dec 02 Python
Django 多对多字段的更新和插入数据实例
Mar 31 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
Jul 03 Python
python 爬取免费简历模板网站的示例
Sep 27 Python
Python FuzzyWuzzy实现模糊匹配
Apr 28 Python
python中的&&及||的实现示例
Aug 07 #Python
程序员的七夕用30行代码让Python化身表白神器
Aug 07 #Python
python代码实现逻辑回归logistic原理
Aug 07 #Python
Python在cmd上打印彩色文字实现过程详解
Aug 07 #Python
Python如何调用外部系统命令
Aug 07 #Python
PyQt5通信机制 信号与槽详解
Aug 07 #Python
python 使用socket传输图片视频等文件的实现方式
Aug 07 #Python
You might like
用PHP制作的意见反馈表源码
2007/03/11 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
Jquery乱码的一次解决过程 图解教程
2010/02/20 Javascript
javascript学习笔记(五)正则表达式
2011/04/08 Javascript
jQuery源码分析-03构造jQuery对象-工具函数
2011/11/14 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
swiper在angularjs中使用循环轮播失效的解决方法
2018/09/27 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
爬山算法简介和Python实现实例
2014/04/26 Python
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
python fabric实现远程部署
2017/01/05 Python
Python 40行代码实现人脸识别功能
2017/04/02 Python
对python:threading.Thread类的使用方法详解
2019/01/31 Python
python matplotlib 画dataframe的时间序列图实例
2019/11/20 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
Python依赖包迁移到断网环境操作
2020/07/13 Python
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
车间统计员岗位职责
2014/01/05 职场文书
学习新党章思想汇报
2014/01/09 职场文书
元旦文艺汇演主持词
2014/03/26 职场文书
师范大学生求职信
2014/06/13 职场文书
四风问题自我剖析材料
2014/10/07 职场文书
医生见习报告范文
2014/11/03 职场文书
卫生院艾滋病宣传活动总结
2015/05/09 职场文书
导游词之扬州大明寺
2019/10/09 职场文书
CSS filter 有什么神奇用途
2021/05/25 HTML / CSS
python 使用tkinter与messagebox写界面和弹窗
2022/03/20 Python
Nginx 常用配置
2022/05/15 Servers