请看动态图: https://github.com/neozhaoliang/pywonderland/raw/master/img/wilson.gif
这个图演示的是概率论中的一个随机算法,叫做 Wilson 算法,它生成一个完美迷宫(即一个生成树),而且这个迷宫是在所有完美迷宫中等概率地随机选取的,UST 这个单词的意思是 uniform spanning tree
的简写,即服从一致分布的生成树。
生成迷宫后根据每个顶点与起点的距离对迷宫进行染色,使用的是宽度优先搜索算法。
整个动态图是用 python 一次生成的,不调用任何外部程序和第三方模块。(字体文件没有办法,这是必须的,不过如果不嵌入文本,只生成迷宫的话则不需要此文件)。只要你安装了纯净版的 python2 或者 python3,那么不需要安装任何依赖即可运行。
程序运行时间一般不超过半分钟,生成的动态图一般在 1M 左右,一般包含 1000 - 5000 帧。(是的你没看错,就是这么拽)
项目之前在论坛上发过,不过这次玩了一点新花样。当然最精彩的永远在后面。下一个项目双曲蜂巢正在紧张制作中。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.