跡が形になる — 凝集と成長
軌跡そのものを固めて形にする決め方が二つある。縁から酔歩で歩いてきた点を塊に触れた瞬間で固着させる凝集と、閉じた線が押し合いながら点を増やして溢れる差分成長。
中央に一粒だけ種を置いて、まわりに撒いた点を酔歩させる。向きを毎フレーム乱数で選んで一歩進めるだけで、塊にはまだ触らない。種の円周のすぐ外に湧かせ、遠くへ逸れた点は湧き直す。
点が種のまわりで行きつ戻りつして、固まらずに散らばり続ける。動きはサイコロのまま、塊は種の一粒だけのまま動かない。
固着の一行を足す。歩いた先の八近傍に固まったマスがあれば、その場で点を止めて塊に加える。固まったマスを occ で覚えておき、止まった点は湧き直す。
拡散律速凝集(DLA, Diffusion-Limited Aggregation)。酔歩する粒子が既存の塊に触れた瞬間その場で固着する成長則。Witten と Sander が 1981 年に金属の電析を説明するために提示した。塊の先端は奥より飛んでくる粒子を捕まえやすく、捕まえた先端がさらに突き出て奥を遮蔽する。この捕獲確率の偏りが枝分かれを生み、結晶・放電・血管に似たフラクタル状の樹になる。
種の一粒から枝が四方へ伸びて、先端ほど早く太り、内側に空洞を残したまま樹になる。湧かせる半径 birth を塊の半径 radius に追従させ、一フレームの歩数も半径に比例させているので、塊が育っても点が縁まで届く。birth の + 4 を広げると枝が疎になり、八近傍の dirs を上下左右の四近傍に絞ると枝が縦横に角張る。
閉じた線そのものを育てる成長は、線の上に点を等間隔に並べるところから始まる。各点を、前後の隣との中点へ少し引き寄せて線を滑らかに保ちつつ、近すぎる点どうしを押し返す。点の数は固定で、まだ増やさない。
差分成長(differential growth)。曲線上の点に二つの局所則だけを課す。隣との平均位置へ寄る平滑化が線を縮めようとし、一定半径より近い点との反発が線を膨らませようとする。この縮もうとする力と膨らもうとする力が拮抗したまま、点を増やして総延長を伸ばすと、平面に収まりきらない余りが折りたたまれて、脳の皺やサンゴの縁のような波打つ縁になる。
円がいったん少し膨らんで、点の数のまま釣り合った大きさに落ち着く。平滑化が線を縮め、反発が押し戻して、二つの力が止まる輪になる。総延長が頭打ちなので皺は出ない。
中点挿入を足す。隣り合う二点の間隔がしきい値を越えたら、その中点に新しい点を差し込む。点が増えるほど反発の押し合いが強まり、膨らもうとする力が平滑化に勝って、線が折りたたまれる。
小さな円が点を増やしながら外へ広がり、辺が伸びるたびに中点が割り込んで、縁が皺を打って溢れていく。中点を入れる間隔 maxLen を詰めると皺が細かくなり、反発半径 repel を広げると点どうしが遠ざかって皺の波長が伸びる。平滑化の係数 0.22 を上げると線が張って皺が減る。