見出し画像

max/msp gen~ ニュートンの前進補間公式

max/msp gen~でニュートンの前進補間公式を書いてみました。 

波形を補間で変形できるオシレータとして使えます。

左から周波数 それから節点のy軸の位置です。

ニュートンの前進補間公式


以下がgen~の中身です。

画像2


以下がgen~のコードです。


x=7*phasor(in1);
x0=0.0;x1=1.0;x2=2.0;x3=3.0;x4=4.0;x5=5.0;x6=6.0;x7=7.0;
f0=in2;f1=in3;f2=in4;f3=in5;f4=in6;f5=in7;f6=in8;f7=in9;

k=x;

c1=k;
c2=k*(k-1)/2.0;
c3=k*(k-1)*(k-2)/6;
c4=k*(k-1)*(k-2)*(k-3)/24;
c5=k*(k-1)*(k-2)*(k-3)*(k-4)/120;
c6=k*(k-1)*(k-2)*(k-3)*(k-4)*(k-5)/720;
c7=k*(k-1)*(k-2)*(k-3)*(k-4)*(k-5)*(k-6)/5040;

del_1f=f1-f0;
del_2f=f2-2*f1+f0;
del_3f=f3-3*f2+3*f1-f0;
del_4f=f4-4*f3+6*f2-4*f1+f0;
del_5f=f5-5*f4+10*f3-10*f2+5*f1-f0;
del_6f=f6-6*f5+15*f4-20*f3+15*f2-6*f1+f0;
del_7f=f7-7*f6+21*f5-35*f4+35*f3-21*f2+7*f1-f0;

fx=f0+c1*del_1f+c2*del_2f+c3*del_3f+c4*del_4f+c5*del_5f+c6*del_6f+c7*del_7f;

out1=fx;

















よろしければサポートお願いします!