秀一个 Python 脚本生成的新作品

2017-10-10 13:59:12 +08:00
 mathzhaoliang

请看动态图: https://github.com/neozhaoliang/pywonderland/raw/master/img/wilson.gif

这个图演示的是概率论中的一个随机算法,叫做 Wilson 算法,它生成一个完美迷宫(即一个生成树),而且这个迷宫是在所有完美迷宫中等概率地随机选取的,UST 这个单词的意思是 uniform spanning tree 的简写,即服从一致分布的生成树。

生成迷宫后根据每个顶点与起点的距离对迷宫进行染色,使用的是宽度优先搜索算法。

整个动态图是用 python 一次生成的,不调用任何外部程序和第三方模块。(字体文件没有办法,这是必须的,不过如果不嵌入文本,只生成迷宫的话则不需要此文件)。只要你安装了纯净版的 python2 或者 python3,那么不需要安装任何依赖即可运行。

程序运行时间一般不超过半分钟,生成的动态图一般在 1M 左右,一般包含 1000 - 5000 帧。(是的你没看错,就是这么拽)

项目之前在论坛上发过,不过这次玩了一点新花样。当然最精彩的永远在后面。下一个项目双曲蜂巢正在紧张制作中。

6534 次点击
所在节点    Python
49 条回复
mathzhaoliang
2017-10-12 14:27:20 +08:00
@sennes 可以当头像吗?我看 V2EX 允许 GIF 格式的图片,但是上传动图作为头像会报错吧?
sennes
2017-10-12 14:29:55 +08:00
@mathzhaoliang #39 哈哈有些网站支持 gif 动图头像的。
mathzhaoliang
2017-10-13 15:58:53 +08:00
@sennes 我在这个项目下的另一个程序 Reaction Diffusion Simulation 也可以用来生成字符动态图:

http://wxt.sinaimg.cn/thumb300/4e130e36ly1fkgoanosrmg205k02snmt.gif?tags=%5B%5D
mathzhaoliang
2017-10-13 16:00:06 +08:00
@sennes 那个地址不对,好像应该这样

sennes
2017-10-13 18:04:41 +08:00
@mathzhaoliang #42 好 我研究一下!
f8281113
2017-10-13 23:08:45 +08:00
一脸蒙蔽的进来,一脸蒙蔽的出去 ^v^
dd0754
2017-10-14 00:02:06 +08:00
一脸蒙蔽的进来,一脸蒙蔽的出去
wisetc
2017-10-15 17:42:09 +08:00
高深
buyaoshuohua
2017-10-23 11:31:10 +08:00
一脸蒙蔽的进来,一脸蒙蔽的出去

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/396442

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX