OscSin and other wave oscillator class

description

多様な波形を生成する波形オシレータのクラス群です。 現在、波形オシレータは、サイン波、コサイン波、三角波、矩形波、ノコギリ波(上り)、ノコギリ波(下り)の7つのクラスが存在します。これらのクラスは相互に互換性を持っており、Oscillator型の変数に一括して格納することができます。波形も最も簡単な使い方としては、まずnew OscSin(100,100)と言った具合に波形オシレータを作成し、毎フレームupdate()メソッドで波形を更新し、getValue()メソッドで値を取得します。

example

Oscillator osc;

void setup(){
loop();
osc = new OscSin(100,100);
}

void draw(){
osc.update();
println( osc.getValue());
}

constractor

OscSin()

OscSin(amplitude, period);
OscSin(amplitude, period, amplitudeOffset);
OscSin(amplitude, period, amplitudeOffset, periodOffset);

波形を生成するオシレータオブジェクトを作成します。第一引数は振幅、波の揺れ幅を示します。第二因数は周期、波が繰り返すまでの長さを示します。第三引数は揺れ幅のオフセット、第四関数は周期のオフセットを示します。波形オシレータはOscSinだけでなく、以下のような種類を持ちます。全てのオシレータは互換性を持っており、同じ関数で制御することができます。

サイン波: OscSin
コサイン波: OscCos
三角波: OscTriangle
矩形波: OscSquare
ノコギリ波(上): OscTriangle
ノコギリ波(下): OscTriangle2

basic method

update()

波形を更新します。一般的はdraw内でこのupdate()メソッドを毎フレーム呼び出すことで、波形をリアルタイムに更新していきます。

float getValue()

現在の波形の値を取得します。
返される値は、-amplitude から amplitudeの間の値にampOffsetの値を足した範囲となります。

float getAmplitude()

現在の波形の振幅を返します。

SetAmplitude( int or float or Oscillator )

波形の振幅を設定します。

float getPeriod()

波形の周期を返します。

SetPeriod( int or float or Oscillator )

波形の周期を設定します。

intermediate method

float getAmpOffset()

振幅のオフセット(ずれ)を取得します。

setAmpOffset( int or float or Oscillator)

振幅のオフセット(ずれ)を設定します。例えば-1~1の値をとる波を5オフセットすると、4~6の値を返すようになります。

float getPerOffset()

周期のオフセット(ずれ)を取得します。

setPerOffset( int of float )

周期のオフセット(ずれ)を設定します。例えば周期100の波を50オフセットすると、波は周期の真ん中からスタートします。

advanced method

Oscillator getAmplitudeOsc()

波形のamplitude(振幅)を制御しているオシレータを取得します。amplitude(振幅)にint型やfloat型の数値が設定されている場合、このメソッドはその数字を格納したOscConstantのインスタンスを返します。

Oscillator getAmpOffsetOsc()

波形のamplitude(振幅)のオフセットを制御しているオシレータを取得します。amplitude(振幅)のオフセットにint型やfloat型の数値が設定されている場合、このメソッドはその数字を格納したOscConstantのインスタンスを返します。

Oscillator getPeriodOsc()

波形のamplitude(周期)を制御しているオシレータを取得します。amplitude(周期)にint型やfloat型の数値が設定されている場合、このメソッドはその数字を格納したOscConstantのインスタンスを返します。

Oscillator getPerOffsetOsc()

波形のperiod(周期)のオフセットを制御しているオシレータを取得します。period(周期)のオフセットにint型やfloat型の数値が設定されている場合、このメソッドはその数字を格納したOscConstantのインスタンスを返します。