Context Free Art というものに挑戦してみました。
再帰的に図形を描くプログラミング言語のようなもので、図形を描画する規則を描画位置・サイズ・描画する色を相対的に定義していき、作成した規則を再帰的に呼び出すことで図形を描くことができるツールです。再帰の終了判定は描画するサイズが小さくなったところで終了してくれるため、終了条件を描く必要がないのがプログラム言語とは違って特徴的なところです。
ということで、さっそく作ったのが上の迷路のような図形です。まっすぐ、曲がり角、交差点、丁字路、行き止まりを確率的に発生させて再帰的に規則を呼び出して描いています。描画する際は乱数の種を選べるのですが、発散しないように交差点などの発生確率を選ぶ必要があるところがコツでした。簡単なルールで複雑な図形が作成されていくのを見るのは思ったよりも楽しかったです。
再帰呼び出しによって図形が成長する様子の動画はこちら。
最後に今回のスクリプトを書いておきます。本家のギャラリーではいろんな作品を見ることができます。












最近のコメント