019 · 生成
lsystem
文字を書き換えて植物
短い文字列を決まったルールで置き換え、育った文字列を亀に一文字ずつ読ませて線にすると、枝分かれした植物が立つ。L-system の作り方。
この実装で足したもの。
ルールは 4 つの変種から毎回ひとつ選ぶ。角度は 18〜34 度、書き換え回数は 3〜4 回、根元の向きと一歩の長さも少し振る。同じ作り方でも毎回ちがう植物になる。
[ で枝に潜るたび len *= 0.86 でも縮め、それをスタックに積んで ] で書き戻す。根元が太く枝先が細い。
線を先に全部 segs に貯めて左右上下を測り、画面の 82% に収まる倍率と中央寄せの位置を出してから描く。iters を上げて枝が増えても大きさは揃う。
毎フレーム step 本ずつ描き足すので、根元から枝先へ伸びていく。書き換え文字列と線の本数には上限を置いて、回数を上げすぎても固まらないようにしている。