使用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编写检测数据库SA用户的方法
Jul 11 Python
Python制作爬虫抓取美女图
Jan 20 Python
Python控制多进程与多线程并发数总结
Oct 26 Python
Python中easy_install 和 pip 的安装及使用
Jun 05 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
Apr 02 Python
利用Pandas 创建空的DataFrame方法
Apr 08 Python
pytorch + visdom 处理简单分类问题的示例
Jun 04 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
win10系统下Anaconda3安装配置方法图文教程
Sep 19 Python
Python用61行代码实现图片像素化的示例代码
Dec 10 Python
基于h5py的使用及数据封装代码
Dec 26 Python
在python中修改.properties文件的操作
Apr 08 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
动易数据转成dedecms的php程序
2007/04/07 PHP
php curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
关于PHP语言构造器介绍
2013/07/08 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
JavaScript 数组的 uniq 方法
2008/01/23 Javascript
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
2011/12/31 Javascript
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
jquery使用jxl插件导出excel示例
2014/04/14 Javascript
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
phantomjs导出html到pdf的方法总结
2017/10/19 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
axios发送post请求,提交图片类型表单数据方法
2018/03/16 Javascript
vue实现验证码按钮倒计时功能
2018/04/10 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
详解Axios 如何取消已发送的请求
2018/10/20 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
深入理解基于vue-cli的webpack打包优化实践及探索
2019/10/14 Javascript
Python设计模式之单例模式实例
2014/04/26 Python
python正则表达式match和search用法实例
2015/03/26 Python
Django中对通过测试的用户进行限制访问的方法
2015/07/23 Python
python验证码识别教程之滑动验证码
2018/06/04 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
美国用餐电影院:Alamo Drafthouse Cinema
2020/01/23 全球购物
迟到检讨书900字
2014/01/14 职场文书
汽车维修求职信
2014/06/15 职场文书
文秘班元旦晚会活动策划方案
2014/08/28 职场文书
文员岗位职责
2015/02/04 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers