パーリンノイズ
CGなどで、自然な模様をランダムに生成するのに使われる技法。これによって、雲や煙、炎などのテクスチャを手軽にそれっぽく作れる。
ある入力値に対応してランダムっぽく値を返す関数なのだが、完全にランダムなのでなく滑らかさを持つ。
Ken Perlinさんという方が発明したもので、ご本人のサイトにアルゴリズムの説明とソースコードが載っている。
また、別の人が上記と同じ説明をより読みやすくした説明ページを作ってくれている。
上記を参考にした定義域が1次元のバージョンの実装が下記。
a-i-to/perlin-noise-sample · GitHub
下記で実際に動いているものを確認できる。
Perlinさんは2002年に改訂版の実装を公開しているのだが、上記はその前のオリジナルに基づくもの。
テクスチャをつくるには、色々と技法がある。最もシンプルなものでスケールの違うものを足していくというものがある。以下がその例。
http://a-i-to.github.io/perlin-noise-sample/perlin_noise2.html
稜線っぽいかな。