使用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参数和作用域的使用
Nov 01 Python
Python实现拼接多张图片的方法
Dec 01 Python
Python 通过pip安装Django详细介绍
Apr 28 Python
解决Django模板无法使用perms变量问题的方法
Sep 10 Python
python将txt文件读入为np.array的方法
Oct 30 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
Python K最近邻从原理到实现的方法
Aug 15 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
Aug 26 Python
python实现统计代码行数的小工具
Sep 19 Python
Pandas —— resample()重采样和asfreq()频度转换方式
Feb 26 Python
使用keras实现非线性回归(两种加激活函数的方式)
Jul 05 Python
Python 一键获取电脑浏览器的账号密码
May 11 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
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
基于jQuery的表格操作插件
2010/04/22 Javascript
JavaScript修改css样式style动态改变元素样式
2013/12/16 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
2016/08/02 Javascript
Bootstrap CSS组件之大屏幕展播
2016/12/17 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
node.js入门学习之url模块
2017/02/25 Javascript
Webpack性能优化 DLL 用法详解
2017/08/10 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
JS简单判断是否在微信浏览器打开的方法示例
2019/01/08 Javascript
简化Python的Django框架代码的一些示例
2015/04/20 Python
python字典基本操作实例分析
2015/07/11 Python
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
详解python中init方法和随机数方法
2019/03/13 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
全球独特生活方式产品和礼品购物网站:AHAlife
2018/09/18 全球购物
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
审核会计岗位职责
2013/11/08 职场文书
简历中个人求职的自我评价模板
2013/11/29 职场文书
小学语文国培感言
2014/03/04 职场文书
婚礼主持结束词
2014/03/13 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
Python实现视频中添加音频工具详解
2021/12/06 Python