使用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中的Descriptor描述符学习教程
Jun 02 Python
Python实现模拟分割大文件及多线程处理的方法
Oct 10 Python
Python实现读取txt文件并画三维图简单代码示例
Dec 09 Python
python之pandas用法大全
Mar 13 Python
如何利用Python开发一个简单的猜数字游戏
Sep 22 Python
PYTHON实现SIGN签名的过程解析
Oct 28 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
Feb 09 Python
Python爬虫实现模拟点击动态页面
Mar 05 Python
使用Keras预训练好的模型进行目标类别预测详解
Jun 27 Python
python xlwt模块的使用解析
Apr 13 Python
基于python制作简易版学生信息管理系统
Apr 20 Python
Jupyter notebook 更改文件打开的默认路径操作
May 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
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
PHP入门速成(2)
2006/10/09 PHP
注册页面之前先验证用户名是否存在的php代码
2012/07/14 PHP
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
PHP二进制与字符串之间的相互转换教程
2016/10/14 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
原生JS实现拖拽图片效果
2020/08/27 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
2016/05/04 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
JS实现动画兼容性的transition和transform实例分析
2016/12/13 Javascript
Three.js基础部分学习
2017/01/08 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
webpack4简单入门实例
2018/09/06 Javascript
Vue.js中 v-model 指令的修饰符详解
2018/12/03 Javascript
JavaScript中的惰性载入函数及优势
2020/02/18 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
python正则中最短匹配实现代码
2018/01/16 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
2020/07/28 Python
校园招聘策划书
2014/01/09 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
优秀团队申报材料
2014/12/26 职场文书
计算机考试作弊检讨书1000字
2015/01/01 职场文书
出租车拒载检讨书
2015/01/28 职场文书
vue特效之翻牌动画
2022/04/20 Vue.js
python实现一个简单的贪吃蛇游戏附代码
2022/06/28 Python