让 AI 推演递归植物:每轮只替换旧芽,枝条总数才算得清

前天 3阅读

“画一棵越来越复杂的植物”适合寻找风格,却不足以说明每一步怎样生成。若想让AI协助设计可重复的图案,可以先写一套小型替换规则,再逐轮列账。下面的植物只是原创图形系统,不是在解释真实植物的生长、分枝或生理机制。

让 AI 推演递归植物:每轮只替换旧芽,枝条总数才算得清

AI生成概念插图:逐渐繁复的枝叶表达递归生长意象;图中枝芽数量和形状不是正文规则的精确绘制结果。

把枝条与待展开的芽分成两类

初始状态记为第零轮:没有枝条,只有一个朝上的芽。每轮开始先取得上一轮全部芽的清单,再同时处理:每个旧芽替换成一条新枝条,并在这条枝条末端留下两个新芽。旧枝条全部保留,已经替换的旧芽移除,新芽只能等下一轮再处理。

若需要绘制,可给芽记录位置与朝向。新枝沿该芽方向伸出;末端两个新芽的朝向分别相对这条枝向左右偏转二十五度。角度只是本例的造型约定,不参与下面的数量计算。即使暂时不画图,也能先检查计数是否符合替换规则。

新增枝条不能冒充累计枝条

第一轮处理初始的一个芽,因此新增一条枝,留下两个芽;总枝条数为一。第二轮处理那两个旧芽,新增两条枝,留下四个芽;第一轮的一条仍在,所以总枝条数是三,而不是二。第三轮新增四条枝,留下八个芽,累计枝条数为七。

把第零至第三轮按顺序写下,总枝条数是零、一、三、七,芽数是一、二、四、八。每一轮新增枝条数都等于上一轮芽数;这一条对应关系比直接背一串数字更适合检查AI的答案。如果它写成一、二、四条总枝,就漏掉了保留旧枝的条件。

这里的“同时”很关键。若处理一个芽后立刻继续处理刚产生的新芽,一次循环就可能跨过多个世代,甚至不停生成。另一个错误是把所有枝条也拿去替换,这会删除历史结构。两种做法都改变了规则,不能仍称为同一轮结果。

枝条变短,不代表累计长度不变

再约定新枝长度每轮减半,前三轮依次为八、四、二毫米。第一轮新增一乘八,共八毫米;第二轮新增二乘四,仍为八毫米;第三轮新增四乘二,也为八毫米。因此前三轮各自新增总长度相同,但累计长度依次为八、十六、二十四毫米。

这里统计的是所有线段长度之和,不是植物的最高点、最宽处或纸上墨迹面积。倾斜枝条的长度不会全部转化为竖直高度;线段重叠时,逐段求和也仍会分别计入。若要讨论边界框或覆盖面积,需要另做几何计算,不能拿二十四毫米直接回答。

按照当前规则再走一轮,应处理八个芽,新增八条一毫米枝,留下十六个芽。总枝条数变成十五,累计长度变为三十二毫米。这是规则的数学延伸,不是宣称真实画面可以无限细分后仍然清晰,也不是关于自然植物的预测。

可复制的逐轮检查提示词

“从零枝一芽开始,每轮同时把上一轮每个芽替换为一条枝和两个新芽,保留所有旧枝。请列第零至第三轮的旧芽数、新增枝数、累计枝数与新芽数。新枝长度依次八、四、二毫米,计算每轮新增及累计长度。禁止在当轮再次展开新芽,并解释错算成一、二、四条总枝的原因。”

如果还要加随机角度,先保留同一份计数记录,再记录随机种子或具体角度。只有造型参数改变时,枝芽数量应继续符合原规则;若数量也改变,就应明确是哪条替换条件被修改。这样可以把造型探索与规则错误分别定位。

本文用递推关系复算了前三轮与第四轮检查点,没有生成精确植物施工图,也没有进行人工观感比较。真正排版时仍需查看分枝是否重叠、末梢是否过细,以及目标尺寸能否容纳这些细节。

文章版权声明:除非注明,否则均为云鹊BLOG原创文章,转载或复制请以超链接形式并注明出处。