見出し画像

PureData Perlin Noise

PureDataで一次のパーリンノイズ(Perlin Noise)を作りました。

参考文献

(1)K.Perlin (July 1985) "An Image Synthesizer"
https://doi.org/10.1145%2F325165.325247

(2)Perlin noiseを理解する

(3)その3 パーリンノイズとフラクタル
~ フラクタブルな地形を作る基盤 ~

まず、基本形
基本波形です。

Perlin noise 

次に、オクターブを加算していった波形です

ゴーッというこもったようなノイズです。

x2 octave
x2 & x3 Octave
x2, x3, x5 Octave

解説 (先の文献を参照せよ。)
c(t) = 1-3t² + 2|t|³となる関数に対し、
L(t) = α * t
W(t) = C(t)*L(t)
とする。すなわち、原点(x=0)で1、x=1及びx=-1で0になる次のような3次関数C(t)に対して傾きがaで原点を通る直線L(t)をC(t)に乗算を行ったものである。(引用元:文献(3))

これを実装するには、phasor~を位相シフトし、コサイン波形を出力しunipolar化した関数(いわゆるDC Offsetが乗ったものであり、ハニング窓と同様であるwavelet関数)を用意し、phasor~のClockに合わせてnoise~をSample&Holdし元のphasor~と乗算して傾きαを定義し、先に用意したwavelet関数と乗算し、一次のPerlin Noiseを作成できる。この方式により、オクターブによる加算合成や周波数シフトが容易となる。

更新履歴
2023/08/23 18:05 新規作成

この記事が気に入ったらサポートをしてみませんか?