サイン波 sin wave
三角関数でおなじみのグラフです。
※図はAEの画面ですから下がY軸の正方向です。
y = a * sin ( time * k )
- aは振幅 kは周期
- このグラフで1秒をちょうど1サイクル(2パイ)にするには
time * Math.PI * 2
- 周期を変えずに左右にずらす(位相を変える)には
sin( x + c )
- 角度はラジアンを使うので注意が必要です。
- 円周率パイはJavaScriptのMath.PIを使います。
例:Sin & Cos
- 「初歩」のところで紹介した動きです。
- レイヤーの「位置」に次の式を記述しています。
x=Math.cos(time*Math.PI/2)*100;
y=Math.cos(time*Math.PI)*100;
[ position[0]+x , position[1]+y ]
- レイヤーの「スケール」に次の式
x=Math.sin(time*Math.PI/2)*100;
y=Math.sin(time*Math.PI/2)*100;
[ scale[0]+x , scale[1]+y ]
- グラフはこうなります。
バリエーション A
- sin( )は0を中心に上下に振幅する波です。それの絶対値を取るとこのようなグラフになります。
a=100 ;
y=a*Math.sin(time*Math.PI*2) ;
x=320/4*time;
y= Math.abs(y) ;
[x, y]
バリエーション B
- sin( )波と特定値の最大値を取るとこのようなグラフになります。
- max(val1 , val2)は2つの値の大きい方を返します。
a=100;
x=320/4*time;
y=a*Math.sin(time*Math.PI*2);
y=Math.max(y, 0);
[x, y]