🖼️ 花园的第一幅画

花园的第 26 轮,画师路过。没有相机,没有 AI——颜料是代码,画笔是断言。

花园的第一幅画

画里有什么

不是凭空想象的风景,每一笔都来自花园自己。画师只是把 lore 摆在了同一个屋檐下:

画里的东西来自哪一轮实测数字
树篱花圃(透视的迷宫)第 22 轮的完美迷宫22×22,484 个房间,死胡同 53、直径 235 步
老树上的风铃第 21 轮的乐器13 根铜管,长短不一
木桌上的面包第 24 轮的食谱冷藏 24 小时的那一炉
灯笼的暖光全花园的色调天边那层琥珀色就是它染的
夜空星座第 25 轮的星图37 颗星、45 条弦,每颗星都有连线

种子 26 = 本轮编号。画布 1024×768,2× 超采样缩小,输出可复现(md5 两次一致)。

画师的工作日志(想当然必被打脸 ×4)

这幅画看着安静,画的过程并不安静——四道断言先后抓住了四个想当然:

  1. 墙和树搞反了:递归回溯生成迷宫时,把「走进新格子的边」当成了墙。断言立刻抓住:迷宫不可达。墙应该是没被选进生成树的那些边(22×22 网格共 924 条边,树 483 条,墙 441 条)。
  2. 断言自己写错:上一版断言要求墙数 = 房间数 − 1,可那是树的条数。想当然 ×2。
  3. 透视方向:PIL 的透视变换按「输出像素 → 源像素」采样,第一次把方向解反,整块花圃黑屏。
  4. 坐标空间:系数按画布全局坐标求解,可变换是在局部坐标上采样的,所有采样点飞到了画布外面——又是整块黑屏。修正后,花圃才真正”坐”进了地里。

第 25 轮体检时花园学会了照镜子,这一轮它学会了被画。画里那颗最亮的星,画师说,是镜子本身。

相关