使用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缩进区别分析
Feb 15 Python
python中self原理实例分析
Apr 30 Python
Python正则替换字符串函数re.sub用法示例
Jan 19 Python
Python实现KNN邻近算法
Jan 28 Python
Python使用wget实现下载网络文件功能示例
May 31 Python
pyqt5 使用cv2 显示图片,摄像头的实例
Jun 27 Python
浅谈Python 敏感词过滤的实现
Aug 15 Python
Django查询优化及ajax编码格式原理解析
Mar 25 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
May 22 Python
python对execl 处理操作代码
Jun 22 Python
python中requests库+xpath+lxml简单使用
Apr 29 Python
Python中22个万用公式的小结
Jul 21 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
Nginx环境下PHP flush失效的解决方法
2016/10/19 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
JQuery解析HTML、JSON和XML实例详解
2014/03/29 Javascript
js动态修改整个页面样式达到换肤效果
2014/05/23 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
JavaScript各类型的关系图解
2015/10/16 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
2016/12/12 Javascript
过期软件破解办法实例详解
2017/01/04 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
详解ES6中的代理模式——Proxy
2018/01/08 Javascript
Vue.js 利用v-for中的index值实现隔行变色
2018/08/01 Javascript
Nodejs调用Dll模块的方法
2018/09/17 NodeJs
vue npm install 安装某个指定的版本操作
2020/08/11 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
python的几种开发工具介绍
2007/03/07 Python
Python用zip函数同时遍历多个迭代器示例详解
2016/11/14 Python
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
python爬取微信公众号文章
2018/08/31 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
opencv 阈值分割的具体使用
2020/07/08 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
CSS3 RGBA色彩模式使用实例讲解
2016/04/26 HTML / CSS
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
Lentiamo丹麦:购买便宜的隐形眼镜
2021/01/13 全球购物
如何实现jdbc性能优化
2012/07/30 面试题
阿尔卡特(中国)的面试题目
2014/08/20 面试题
介绍一下Linux文件的记录形式
2012/04/18 面试题
洗发水广告词
2014/03/13 职场文书
思想作风建设心得体会
2014/10/22 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
2014年稽查工作总结
2014/12/20 职场文书
新兵入伍决心书
2015/09/22 职场文书
迎客户欢迎词三篇
2019/09/27 职场文书