科学的な目的で、古典的なパーリンノイズ(src:http: //mrl.nyu.edu/~perlin/doc/oscar.html#noise)をJavaScriptに移植しようとしています。理由はわかりませんが、私のコードはランダムなパターンではなく周期的なパターンを生成します。
キャンバスに描画された例を含む完全なコードをここで見つけることができます(1次元に分解):http://jsfiddle.net/YL77D/
問題は「noise1」関数内にあると思います。
sx = s_curve(rx0);
u = rx0 * g1[ p[ bx0 ] ];
v = rx1 * g1[ p[ bx1 ] ];
return lerp(sx, u, v);
xシードが10.1、10.2、10.3などの場合、uとvは同じ数である必要があると思います(uは10に基づいており、vは11に基づいている必要があります。したがって、sxはその中間にあります)。私は正しいですか?しかし、私のコードでは、uとvは常に異なります。
何か案は?どうもありがとうございます。