【ジェネラティブ・アート】ランダムを操作する技術

「ロジカルにカオスと戯れる。それがジェネラティブ・アート」

具体的な内容は公式サイトを。

ジェネラティブ・アート -Processingによる実践ガイド
Matt Pearson
ビー・エヌ・エヌ新社
売り上げランキング: 228,175

私たちは不完全で予測不可能な形状を望んでいるのかもしれません。しかし、だからといって不明瞭であてもなくさまようような不完全さもいりません。私たちは、有機性(オーガニック)と機械性(メカニカル)の間、カオスと秩序の間の、ちょうど良くバランスがとれたスイートスポットを探しています。

第2章「ランダム性とノイズ」まで読了。

ジェネラティブ・アートのように、作り手にすら予測不可能な出力を行うプログラムを書くにはランダム性が欠かせません。
しかし、コンピューターが生み出すランダムは、どこかシステマチックで味気ないものです。
出目に偏りがないとそれはそれで不自然なランダムなわけで、そこから生まれるのは単に雑然としただけのカオスでしかありません。
そこで、ある程度自然な偏りを持ったランダム、「ノイズ」が必要になります。

この本で使用しているProcessingには、そのものずばりnoiseという関数があってパーリンノイズが手軽に使えたりしますが、第2章ではパーリンノイズだけに依存することなく、自分の手で独自のノイズ関数を作ってランダム性を操作する方法が詳しく説明されてます。

ランダムな要素を自分の作品の中に取り込みたのだけれど、コンピューターの融通の利かないランダムに手を焼いている……そんな方へお勧めです。

HTML5でのジェネラティブ・アート[Processing、JavaScript、チュートリアル] (『ジェネラティブ・アート』の未刊の章)

【その他、参考】
パーリンノイズの仕組みについては以下を。
Perlinノイズ(Perlin Noise)

javascriptでパーリンノイズを使用するためのライブラリもあります。
Perlin noise versus Simplex noise in Javascript (final comparison)