螺旋を描いていたら星が出てきた。

マット・ピアソン氏の名著「ジェネラティブ・アート 〜Processingによる実践ガイド」で紹介されている、螺旋にノイズを加えることで落書きのような面白い形を描き出すアプローチをJavaScriptで試してみました。考え方はとてもシンプルですが加えるノイズの量や線の長さなど様々なパラメータが影響しあって想像以上に複雑で多様なパターンが現れます。ほとんどの場合はぐちゃぐちゃな形になるのですが、中心角の変化量を少しずつ変えながら出力されるパターンを確認していたところ、あるとき突然美しい星が描かれて驚きました。いわゆる五芒星、ペンダグラムです。自作プログラムを実行していて作者であるはずの自分が全く予想していなかった結果が得られたとき、妙に神秘的な感動をおぼえます。落ち着いてよく考えてみれば数学的になんの不思議もないことなのですが。

このサンプルはパラメータを1ずつ変化させたときのパターンを一覧化したものです。五芒星の他にも正三角形や正五角形など調和のとれた図形がたくさん出現していることがわかります。まったく同じロジックなのにほんのちょっとパラメータが変わるだけでこれだけの多様性が生まれる。専門外ですが動植物の姿かたちや模様などもこういうわずかな差から生まれているのかもしれないなあと思ったりします。