我正在尝试制作一个Perlin噪波函数,但插值效果不佳。我希望在插值时切换不同的点积会起作用,但事实并非如此。我还测试了我的插值函数是否有效,看起来它确实有效。
我的脚本位于:https://codepen.io/Koen124/pen/WNZyMdj?editors=0010
var x10 = x - Math.floor(x); // x10 is between 0 and 1
var y10 = y - Math.floor(y); // y10 is between 0 and 1
// topleft && topright
var upInterpolate = (vec_dot[0]*cosInterp(x10))+(vec_dot[1]*(1-cosInterp(x10)));
// bottomleft && bottomright
var downInterpolate = (vec_dot[2]*cosInterp(x10))+(vec_dot[3]*(1-cosInterp(x10)));
var final = (upInterpolate*cosInterp(y10))+(downInterpolate*(1-cosInterp(y10)));
我第一次尝试Perlin噪波脚本时只使用了4个向量,您可以在这里看到:https://codepen.io/Koen124/pen/GRMGrEM?editors=0010
插值测试位于:https://codepen.io/Koen124/pen/ExwRMgB?editors=0010
我已经解决了它。我不得不翻转左下角和右下角的点产品