波の合成 -1-
複雑な波を作る
より複雑な波を作成するために2つの波を組み合わせることができます。
サイン波の合成の例
y1は波長の長い大きな振幅の波
y1=Math.sin(time*Math.PI*0.5)**20
y2は波長が短く振幅も小さい波
y2=Math.sin(time*Math.PI*10)*5
上の二つの波を合成してみます。
結果は加算( + )と乗算( * )で大きく異なります。
加算 y=y1+y2
乗算 y=y1*y2
- その他既出の矩形波やKeyFrameとの合成も可能。
- ランダムやノイズを合成する場合も加算と乗算の違いに配慮が必要です。
Sin波にノイズを乗せる
(加算)
x=320/4*time;
amp=100;
y=Math.sin(Math.PI*1*time)*amp;
p=[x,y];
[0,120]+ p+noise(p)*10
波の増幅率を変化させる
これは波の合成ではありませんがコントロールする1手段です。
ease()を使って増幅率ampを12Frから72Frで0から100まで増やしています。
x=320/4*time;
amp=ease(time,0.5, 3, 0, 100);
y=Math.sin(Math.PI*8*time)*amp;
[x,y]+[0,120]
※スライダーで自由にAmpをコントロールする。 実例/画面動
つづく波の合成 -2-