Estoy tratando de hacer una función de ruido Perlin, pero la interpolación no funciona bien. Esperaba que cambiar los diferentes productos escalares en la interpolación funcionara, pero no es así. También probé si mi función de interpolación funciona y parece que funciona.
Mi guión está en: 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)));Primero probé mi script de ruido Perlin con solo 4 vectores que puedes ver aquí: https://codepen.io/Koen124/pen/GRMGrEM?editors=0010
La prueba de interpolación está en: https://codepen.io/Koen124/pen/ExwRMgB?editors=0010
Ya lo he solucionado. Tuve que voltear los productos de puntos de abajo a la izquierda y de abajo a la derecha