用 Python 写了小脚本,绘制埃舍尔风格的画:不可能的铺砖

2020-12-05 12:47:35 +08:00
 mathzhaoliang

最近写了一个小脚本,可以绘制一种特殊的图案 "不可能的铺砖",想法来自 Greg Egan 。

这种铺砌最早来自对拟周期晶体的研究,它使用两种类型的砖铺砌地面(胖菱形和瘦菱形),有旋转对称但是没有平移对称。(不要以为这很简单,你可以试试设计用两种多边形的砖铺砌地面并且不出现平移对称性)

这种铺砖最早是彭罗斯 (就是今年得物理学诺奖那个) 发现的,后来 de Bruijn 用新的代数方法进行了阐述。这个脚本的就是使用的 de Bruijn 的方法绘制的。我仿照 Greg Egan 的思路将每一个菱形加上了 "窗户",使得每一个 "方块" 和每一个 "空缺的角落" 处的三个窗户看起来位置都是不一致的。

这个小脚本的代码在这里:

https://github.com/neozhaoliang/pywonderland/blob/master/src/aperiodic-tilings/escher_impossible_tiling.py

最近在思考做一些更精彩的数学对象的动画展示,所以 pywonderland 项目的更新在变慢,但是慢工出细活,后面的内容会更精彩。

1280 次点击
所在节点    分享创造
1 条回复
YAHIKO0
2021-01-18 19:08:58 +08:00
有意思,

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

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

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

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

© 2021 V2EX