使用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代码使其加快作用域内的查找
Mar 30 Python
Python基于pygame模块播放MP3的方法示例
Sep 30 Python
详解使用 pyenv 管理多个版本 python 环境
Oct 19 Python
用tensorflow搭建CNN的方法
Mar 05 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
Jun 13 Python
python中的单引号双引号区别知识点总结
Jun 23 Python
python如何统计代码运行的时长
Jul 24 Python
python爬虫添加请求头代码实例
Dec 28 Python
Python使用Pandas库常见操作详解
Jan 16 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
May 17 Python
基于PyInstaller各参数的含义说明
Mar 04 Python
利用Python判断你的密码难度等级
Jun 02 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面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
php小技巧之过滤ascii控制字符
2014/05/14 PHP
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
PHP实现动态web服务器方法
2015/07/29 PHP
详解PHP序列化反序列化的方法
2015/10/27 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
js改变文章字体大小的实例代码
2013/11/27 Javascript
js QQ客服悬浮效果实现代码
2014/12/12 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
总结十个Angular.js由浅入深的面试问题
2016/08/26 Javascript
bootstrap flask登录页面编写实例
2016/11/01 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
js遍历json的key和value的实例
2017/01/22 Javascript
聊聊JavaScript如何实现继承及特点
2017/04/07 Javascript
深入了解响应式React Native Echarts组件
2019/05/29 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
2019/08/23 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
numpy实现RNN原理实现
2021/03/02 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
电子商务专业学生的学习自我评价
2013/10/27 职场文书
2014年重阳节老干部座谈会局领导发言稿
2014/09/25 职场文书
公司经营目标责任书
2015/01/29 职场文书
目标责任书格式范文
2015/05/11 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
Django+Celery实现定时任务的示例
2021/06/23 Python
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android