Estoy tratando de adaptar el algoritmo 3D Perlin de ruido a las dimensiones inferiores, pero estoy teniendo problemas con la función de gradiente, ya que no entiendo completamente el razonamiento.Función de gradiente de ruido Perlin
La función original del degradado Perlin toma cuatro argumentos: un hash
y una coordenada tridimensional (x, y, z)
. El resultado de la función se devuelve en función del valor de hash mod 16
, como se detalla a continuación.
0
:x + y
1
:-x + y
2
:x - y
3
:-x - y
4
:x + z
5
:-x + z
6
:x - z
7
:-x - z
8
:y + z
9
:-y + z
10
:y - z
11
:-y - z
12
:y + x
13
:-y + z
14
:y - x
15
:-y - z
Los valores de retorno de 0
a 11
hacen una especie de patrón, ya que cada combinación está representado una vez. Los últimos cuatro, sin embargo, son duplicados. ¿Por qué fueron elegidos para ajustarse a los últimos cuatro valores de retorno? ¿Y cuáles serían los casos análogos con dos dimensiones (x, y)
y una (x)
?
¡Gracias por la respuesta! Siempre estoy increíblemente agradecido con los héroes que se lanzan en picado para salvar las viejas preguntas olvidadas. –