福彩七乐彩走势图:怎样用Python制作迷宫GIF 本文将告诉你诀窍

马哥Linux运维 ? 2018-07-13 08:57 ? 次阅读

新疆25选7走势 www.ve66b.cn 安装

可以通过PyPi安装

怎样用Python制作迷宫GIF 本文将告诉你诀窍

怎样用Python制作迷宫GIF 本文将告诉你诀窍

或者通过Git

怎样用Python制作迷宫GIF 本文将告诉你诀窍

为什么你需要这个库?

问:我是一个Python迷,并且对迷宫的生成和迷宫解决的办法非常感兴趣。我很羡慕别人能够做出生成迷宫的动画。我如何能够用Python自己做一个迷宫动画,然后把我的成果展示给其他人呢?(我知道tkinter, pyglet 和 pyqt,但是它们很难发布给别人看)

答:现在,你可以使用库gifmaz来做这件事了,它有一些很好的特性:

1、它是纯Python编写的,没有第三方依赖,只使用内置??椋。ㄈ绻阆氚讯度胪计?,那么你需要PIL,PIL虽然不是内置???,但是任何Python版都支持PIL。除此之外再没有其他的依赖了)

2、它运行速度很快,而且几秒钟就能生成优化过的GIF图片。每个GIF通常都包含上千帧,但是GIF大小确只有几百KB。

3、你可以绘制各种各样的迷宫动画,和解迷宫动画。

4、代码都有很好的注释,文档有很好的范例,而且文档很完整。

这个库的一个教程

首先我们需要构建一个GIFSurface对象(类似cairo的ImageSurface类),我们的动画将会画在这个对象上。同时,我们需要指定图片的大小和可用的颜色数量。

怎样用Python制作迷宫GIF 本文将告诉你诀窍

这里color_depth=2意味着调色板中有2^2=4种颜色,bg_color=0说明调色板中的第0个颜色被作为背景色。

只要你还没有最后保存图片,你都可以更改设置调色板,你可以这样做

怎样用Python制作迷宫GIF 本文将告诉你诀窍

所以图片中可以用的颜色有:黑、白、品红、黑。

然后我们构建一个环境,生成的动画基于这个环境构建(类似cairo的Context类)。

怎样用Python制作迷宫GIF 本文将告诉你诀窍

然后我们设置这个动画的控制参数

怎样用Python制作迷宫GIF 本文将告诉你诀窍

这些参数的意思是“每20步渲染一帧,帧之间间隙0.05s,调色板中第四个颜色作为通明度通道”。

我们有了绘制动画的“桌面”,和绘制动画需要的参数,接下来就是实际地画一个迷宫了。

怎样用Python制作迷宫GIF 本文将告诉你诀窍

这个语句在图片中央绘制了一个迷宫,然后在四边留了8像素的空白,迷宫中每一格在图片中占据5像素*5像素的大小。

然后让我们运行Prim的迷宫算法。

怎样用Python制作迷宫GIF 本文将告诉你诀窍

其中我加了两个延迟帧,以便我们能够看清楚动画的过程。

完成了!让我们把这个动画保存到GIF文件。

怎样用Python制作迷宫GIF 本文将告诉你诀窍

下面是运行结果,大小小于300K,很赞吧!

当然,你也可以把多个算法整合进一个动画。下面的动画展示了随机深度优先搜索算法和A*搜索算法。(这个图片只有120K)

这个库的原理是什么?

这个库实际上是一个GIF的编码库,算法运行过程中,动画帧被编码为BytesIO文件。只有在调用save方法时,动画才会真正地被存入图片。

深度资料

1、什么是GIF://www.matthewflickinger.com/lab/whatsinagif/bits_and_bytes.asp。

2、迷宫生成算法://weblog.jamisbuck.org/2011/2/7/maze-generation-algorithm-recap

原文标题:用Python制作迷宫GIF

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

如何快速学习Python?学习Python有哪些坑?

此外,作为人工智能的主要编程语言,未来的几年,Python势必继续高歌。而近期,数据科学网站KDnu....

的头像 电子发烧友网工程师 发表于 11-29 10:11 ? 250次 阅读
如何快速学习Python?学习Python有哪些坑?

想做好数据分析,不用Python怎么行?

Python因为其易读、易学和高效有了今天的人气,而人气高的语言意味着更多的大?;峥ython相....

的头像 算法与数据结构 发表于 11-28 18:01 ? 362次 阅读
想做好数据分析,不用Python怎么行?

如何在python 3中安装pyntcloud?

我想在python 3中安装pyntcloud windows10英特尔?实感 以上来自于谷歌翻译 以下为原文 i want to install pyntcloud ...

发表于 11-28 14:53 ? 32次 阅读
如何在python 3中安装pyntcloud?

找不到python代码管理激光功率

第1项)我找不到python代码来主动管理激光功率或切换发射器。 我翻译C ++代码的尝试(正如预期的那样)没有好处。 项目2)内在...

发表于 11-26 14:12 ? 59次 阅读
找不到python代码管理激光功率

目前常用的自然语言处理开源项目/开发包大汇总

中文主要有:NLTK,FoolNLTK,HanLP(java版本),pyhanlp(python版本),Ansj,THULAC,结巴分词,FNLP...

发表于 11-26 10:31 ? 129次 阅读
目前常用的自然语言处理开源项目/开发包大汇总

如何在Python中划分训练/测试集并进行交叉验证

模型过拟合意味着我们把模型“训练得太好了”,通过一遍又一遍的训练,它已经把训练数据的特征都“死记硬背....

的头像 论智 发表于 11-26 08:59 ? 230次 阅读
如何在Python中划分训练/测试集并进行交叉验证

Python的编码风格你知道多少

分号Tip不要在行尾加分号, 也不要用分号将两条命令放在同一行。 行长度Tip每行不超过80个字符

的头像 电子发烧友网工程师 发表于 11-25 10:58 ? 270次 阅读
Python的编码风格你知道多少

机器学习入门宝典《统计学习方法》的介绍

《统计学习方法》可以说是机器学习的入门宝典,许多机器学习培训班、互联网企业的面试、笔试题目,很多都参....

的头像 人工智能爱好者社区 发表于 11-25 09:24 ? 204次 阅读
机器学习入门宝典《统计学习方法》的介绍

Python的类型系统

过了一段时间你回头看代码的时候,或者同事看你的代码的时候,看到speak(x)这行会觉得x太含糊。于....

的头像 论智 发表于 11-24 09:34 ? 158次 阅读
Python的类型系统

Python图像处理:图像腐蚀与图像膨胀

图像的膨胀(Dilation)和腐蚀(Erosion)是两种基本的形态学运算,主要用来寻找图像中的极大区域和极小区域。其中膨胀类似于“...

发表于 11-23 16:39 ? 346次 阅读
Python图像处理:图像腐蚀与图像膨胀

来看看Pythoner志朋的爬虫实验

另外,我觉得爬虫是一件非常有意思的事情,在这个内容消费升级的年代,如何在广阔的互联网的数据海洋中挖掘....

的头像 马哥Linux运维 发表于 11-23 15:43 ? 301次 阅读
来看看Pythoner志朋的爬虫实验

如何在yocto上获得pip3?

你好, 我试图在我的aero上写一些python 3代码,但我似乎无法通过dnf得到pip3。 在aero(股票yocto)上有python 3,默认(也是...

发表于 11-23 11:45 ? 37次 阅读
如何在yocto上获得pip3?

学AI,从幼儿园的娃娃抓起

据澎湃新闻报道,华东师范大学出版社近期出版了“AI上未来智造者”丛书,计划出版10册,目前已出版6册....

的头像 EDA365 发表于 11-23 10:31 ? 488次 阅读
学AI,从幼儿园的娃娃抓起

Python多线程编程原理

Python多线程类似于同时执行多个不同程序,但其执行过程中和进程还是有区别的,每个独立的线程有一个程序运行的入口、顺序执行序...

发表于 11-22 14:01 ? 169次 阅读
Python多线程编程原理

Python十大应用领域和就业方向

Python是一门简单、易学并且很有前途的编程语言,很多人都对Python感兴趣,但是当学完Python基础用法之后,又会产生迷茫,尤其...

发表于 11-21 14:54 ? 186次 阅读
Python十大应用领域和就业方向

Agilent 34970A编程无法达到要求的分辨率

在我们的小组中,我们想要计算4线电阻(之后我们使用我们的特殊算法计算温度(-20 - +50 C))。 我们非常需要高分辨率为6,5位...

发表于 11-21 10:49 ? 33次 阅读
Agilent 34970A编程无法达到要求的分辨率

Python、线程和全局解释器锁

线程有开始,顺序执行和结束三部分。它有一个自己的指令指针,记录自己运行到什么地方。 线程的运行可能被....

的头像 马哥Linux运维 发表于 11-19 18:02 ? 413次 阅读
Python、线程和全局解释器锁

哪里可以找到免费的Python代码

除了安捷伦提供的示例,有谁知道我在哪里可以找到免费的Python代码来帮助实现模拟? 以上来自于谷歌翻译    ...

发表于 11-19 11:01 ? 27次 阅读
哪里可以找到免费的Python代码

PIC32上的Python?

Python是否已经移植到PIC32。我不确定这是不是一个好主意,但是Python写起来很快。 以上来自于百度翻译   &n...

发表于 11-19 10:51 ? 25次 阅读
PIC32上的Python?

最新Python学习热度前10的项目

Geospatial 是一个基于 Python 的地理空间数据项目。在该项目中,你可以了解到两个用于....

的头像 电子发烧友网工程师 发表于 11-19 09:36 ? 254次 阅读
最新Python学习热度前10的项目

在Python中创建API的具体操作

Jupyter Notebook非常适合处理有关Python、R和markdown的东西。但一旦涉及....

的头像 论智 发表于 11-18 08:58 ? 364次 阅读
在Python中创建API的具体操作

123个Python渗透测试工具你了解多少黑客资源

今天的文章来源于dloss/python-pentest-tools,本文中列举了123个Pytho....

的头像 马哥Linux运维 发表于 11-17 11:10 ? 435次 阅读
123个Python渗透测试工具你了解多少黑客资源

python3如何取出重复3次的字符串保存为3列

本文档的主要内容详细介绍的是python3如何取出重复3次的字符串保存为3列详细资料免费下载C语言资....

发表于 11-16 16:17 ? 34次 阅读
python3如何取出重复3次的字符串保存为3列

Python你为何这么厉害,这么嚣张?

在中国,Python相关职位的需求量依然集中在三大经济圈,特别是在北京、上海、深圳这几个城市。从行业....

的头像 电子发烧友网工程师 发表于 11-16 10:54 ? 421次 阅读
Python你为何这么厉害,这么嚣张?

Python编码风格不可不知 没准要靠它吃饭

Python会将圆括号,中括号和花括号中的行隐式的连接起来,你可以利用这个特点.如果需要,你可以在表....

的头像 嵌入式资讯精选 发表于 11-15 16:28 ? 321次 阅读
Python编码风格不可不知 没准要靠它吃饭

如何使用Word2vec模型进行古诗词个性化推荐的应用

古诗词是中华优秀传统文化上璀璨的明珠,两千年来,我国优秀诗人辈出,其诗作若满天繁星,内容丰富影响深远....

发表于 11-15 16:15 ? 43次 阅读
如何使用Word2vec模型进行古诗词个性化推荐的应用

怎么用Python玩GTA5?跟着教程玩!

好了,第一步,我们如何实现读取屏幕画面?我一直在想可以做,但还真没想过怎么做。所以,Google!我....

的头像 马哥Linux运维 发表于 11-15 12:55 ? 401次 阅读
怎么用Python玩GTA5?跟着教程玩!

灵者Gif录制软件应用程序免费下载

灵者Gif录制一款轻巧实用的Gif动画录制生成工具。它能把屏幕的指定部分录制下来,可以是全屏幕,也可....

发表于 11-15 08:00 ? 23次 阅读
灵者Gif录制软件应用程序免费下载

大数据需要用到什么编程语言

R经常被称为是“统计人员为统计人员开发的一种语言”。如果你需要深奥的统计模型用于计算,可能会在CRA....

发表于 11-14 09:44 ? 196次 阅读
大数据需要用到什么编程语言

街机游戏《街头霸王 3》中进行模拟来训练改进强化学习算法的工具包

实际上该工具包与模拟器本身不需要太多的交互,只需要查找和内部状态相关联的内存地址,同时用所选取的环境....

的头像 电子发烧友网工程师 发表于 11-13 09:30 ? 298次 阅读
街机游戏《街头霸王 3》中进行模拟来训练改进强化学习算法的工具包

开源工具就是你数据科学入门时所需的全部内容

如你所见,它返回一个列表,每个数字预测训练集中每个记录的武器。我们之所以看到的是数字而不是武器名称,....

的头像 电子发烧友网工程师 发表于 11-12 14:15 ? 243次 阅读
开源工具就是你数据科学入门时所需的全部内容

半路“出家”如何逆袭科班程序员?

能混到腾讯面试,我也很意外,居然没有被刷简历刷掉。我没有通过腾讯的社招平台投简历,而是在 V2EX ....

的头像 电子发烧友网 发表于 11-12 11:06 ? 742次 阅读
半路“出家”如何逆袭科班程序员?

精选10个Python开源项目

过去一个月里,我们对近 250 个 Python 开源项目进行了排名,并挑选出热度前 10 的项目。

的头像 电子发烧友网工程师 发表于 11-12 09:47 ? 364次 阅读
精选10个Python开源项目

Python编写代码的风格规范是怎样的

分号Tip不要在行尾加分号, 也不要用分号将两条命令放在同一行.行长度Tip每行不超过80个字符例外....

的头像 人工智能 发表于 11-11 09:21 ? 357次 阅读
Python编写代码的风格规范是怎样的

python机器学习和深度学习的学习书籍资料免费下载

本文档的主要主要内容详细介绍的是python机器学习和深度学习的学习书籍资料免费下载。

发表于 11-05 16:28 ? 74次 阅读
python机器学习和深度学习的学习书籍资料免费下载

数据科学家们常用的一种工具——Jupyter notebook,纳入天文学研究

这种工具能帮数据科学家极大地推进数据探索。notebook是交互式的,用户可以在这种环境中运行代码、....

的头像 论智 发表于 11-05 15:30 ? 247次 阅读
数据科学家们常用的一种工具——Jupyter notebook,纳入天文学研究

给大家推荐一名网友开源的Python库

这个工具包之所以易于上手,是因为它和模拟器本身不需要太多交互,只需注意两点——一是查找你关注的内部状....

的头像 论智 发表于 11-05 15:04 ? 415次 阅读
给大家推荐一名网友开源的Python库

Python在实时嵌入式系统中扮演的角色

而下面是来自 gooroo.io的数据,根据每条招聘启事给出的薪酬范围取了平均数:懂 Ruby,C+....

的头像 玩转单片机 发表于 11-05 11:08 ? 711次 阅读
Python在实时嵌入式系统中扮演的角色

如何用Python编程下载和解析英文版维基百科

从自然语言处理到监督式机器学习,维基百科助力了无数的数据科学项目。 维基百科的规模之大,可称为世上....

的头像 中国人工智能学会 发表于 11-04 10:37 ? 361次 阅读
如何用Python编程下载和解析英文版维基百科

基于Python编写的语音播放软件

瑞声科技是苹果公司在全球最大的声学元器件供应商,目前正在向成为全球主要视频元器件供应商的发展目标冲刺....

的头像 MEMS 发表于 11-03 08:36 ? 1961次 阅读
基于Python编写的语音播放软件

GDAL库有什么作用GDAL学习笔记详细资料免费下载

可能你不玩GIS,不懂这个库到底有什么用,或者和python有什么关系。但是你要玩GIS,RS,你就....

发表于 11-02 17:18 ? 44次 阅读
GDAL库有什么作用GDAL学习笔记详细资料免费下载

用Python制作编程语言的关系网络图

本文会介绍简单的网络知识,即便你没有相关背景知识也能轻松学会。今天要教大家制作一张编程语言的关系网络....

的头像 人工智能 发表于 11-02 10:29 ? 366次 阅读
用Python制作编程语言的关系网络图

如何使用脚本编程语言详细使用资料讲解免费下载

脚本编程语言通常是解释执行(interpreted )而非编译执行(compiled)即写即运行方便....

发表于 11-01 16:49 ? 50次 阅读
如何使用脚本编程语言详细使用资料讲解免费下载

程序员如何提高自己的等级

你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外....

发表于 11-01 09:22 ? 43次 阅读
程序员如何提高自己的等级

新手学习Python有哪些常见的错误

学习Python的过程中发现一些常见的错误,或许大家也会 遇到,这里在此总结如下:

发表于 10-30 19:45 ? 56次 阅读
新手学习Python有哪些常见的错误

python基础教程之Python学习入门字符串的详细程序资料说明

Python 字符串操作,如string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、....

发表于 10-30 19:13 ? 57次 阅读
python基础教程之Python学习入门字符串的详细程序资料说明

python基础教程之Python初学者入门学习指南资料免费下载

Python,在这里不过多的做介绍,我们主要看看做为一名初学者,在刚刚起步学习Python的时候,该....

发表于 10-30 19:13 ? 56次 阅读
python基础教程之Python初学者入门学习指南资料免费下载

ruby教程之学习ruby的实例详细资料免费下载

Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Y....

发表于 10-30 18:30 ? 34次 阅读
ruby教程之学习ruby的实例详细资料免费下载

用Python做一个模拟实验,赌博为什么能赌到倾家荡产?

但是实际通货膨胀率要比官方数据(根据居民消费指数)高得多(十年前两块钱一个的肉夹馍如今已经要十块钱了....

的头像 马哥Linux运维 发表于 10-29 14:53 ? 312次 阅读
用Python做一个模拟实验,赌博为什么能赌到倾家荡产?

机器人十大流行编程语言的介绍及机器人编程系统以及操作方法

如果您问“机器人的最佳编程语言是什么?计算机视觉程序员会给出不同于认知机器人的答案。每个人都不同意....

的头像 机器人前沿 发表于 10-28 11:46 ? 1096次 阅读
机器人十大流行编程语言的介绍及机器人编程系统以及操作方法

TensorFlow安装手册之如何利用pip安装 TensorFlow

关于 TensorFlow 安装,有很多方法可以实践。本文将为大家详细介绍如何利用 pip 安装 T....

的头像 TensorFlow 发表于 10-28 10:57 ? 738次 阅读
TensorFlow安装手册之如何利用pip安装 TensorFlow

Google公司的面试题和详细的分解过程

作为一名Google的工程师和面试官,今天是我第二次发文分享科技公司面试建议了。这里先声明:本文仅代....

的头像 悟空智能科技 发表于 10-28 10:33 ? 539次 阅读
Google公司的面试题和详细的分解过程

Python是否会取代C/C++成为人工智能核心算法?

互联网产品日渐饱和,移动互联网也已进入下半场,市场已经从巅峰时代逐渐进入一个相对平稳的发展阶段,互联....

的头像 张康康 发表于 10-25 19:44 ? 703次 阅读
Python是否会取代C/C++成为人工智能核心算法?

python语言中类的特殊方法相关用法详细资料概述

本文和大家分享的主要是python语言中类的特殊方法相关用法,希望对大家有帮助。包括了:构造序列,程....

发表于 10-25 18:01 ? 38次 阅读
python语言中类的特殊方法相关用法详细资料概述

学Python能做什么Python语言到底能做哪些事

Python是一门脚本语言,因为能将其他各种编程语言写的??檎辰釉谝黄?,也被称作胶水语言。强大的包容....

发表于 10-25 16:56 ? 105次 阅读
学Python能做什么Python语言到底能做哪些事

如何学习Python快速学习Python的技巧详细资料概述

Python现在的运用范围非常广,所以在IT专业中热度一直在增加,并且是人工智能的第一语言,如果你想....

发表于 10-25 16:55 ? 58次 阅读
如何学习Python快速学习Python的技巧详细资料概述

python基础教程之如何使用python进行环境搭建

Python 有 Python 2 和 Python 3 两个版本。 语法有些区别。 保险起见, 我....

发表于 10-25 16:55 ? 77次 阅读
python基础教程之如何使用python进行环境搭建

用Python进行全面数据探索

GarageCars 和 GarageArea 也是相关性比较强的变量. 车库中存储的车的数量是由车....

的头像 人工智能 发表于 10-25 09:15 ? 671次 阅读
用Python进行全面数据探索

Python基础教程之Python界面程序开发应用技术的详细资料概述

本文介绍了Python 下开发界面程序的基本技术情况,简要分析了各种技术的优劣,并着重探讨了其中Wx....

发表于 10-24 17:24 ? 78次 阅读
Python基础教程之Python界面程序开发应用技术的详细资料概述

python基础教程之Python核心编程学习详细代码说明

bwpython基础教程之Python核心编程学习详细代码说明这一章蛮重要,代码都敲进去试过,请批评....

发表于 10-24 14:45 ? 49次 阅读
python基础教程之Python核心编程学习详细代码说明
  • 福建10岁男孩偷吃零食 被两名教师悬吊虐待致死 2018-12-12
  • 电视新闻与新媒体融合的发展策略探讨 2018-12-11
  • 回复@大雨582:任何人的自由发展都是跟他的能力意愿行动及生成的结果平滑对接的。 2018-12-11
  • 安徽国资委变相“输血” 江淮汽车拟进军融资租赁市场 2018-12-10
  • 惊艳卢浮宫小牛电动发布新款电动车惊艳卢浮宫小牛电动发布新款电动车-手机行情 2018-12-10
  • 养老金体系补短板系列政策将出 2018-12-09
  • 欧美同学会首届数字经济与人工智能大会将在成都召开 2018-12-09
  • 【聚焦军博会】216个代表团2037个项目将亮相军博会 11大军工集团全部参展 2018-12-09
  • 四兄弟合伙创业 种植羊肚菌成功 2018-12-08
  • 南京高速“微笑收费员”视频走红 2018-12-08
  • 【理上网来喜迎十九大】姚树洁:世界看好中国的未来 2018-12-07
  • 济南新规:自由职业者也可缴存住房公积金 2018-12-07
  • 这5棵“中国最美古树”在西藏 2018-12-06
  • 【理上网来喜迎十九大】推动中国经济乘风破浪行稳致远 2018-12-06
  • 郝龙斌:台湾经济最大难题不是经济 关键在民粹 2018-12-06
  • 915| 262| 889| 634| 884| 702| 585| 70| 482| 323|