Sto cercando di adattare l'algoritmo del disturbo 3D Perlin alle dimensioni inferiori, ma ho problemi con la funzione sfumatura, dal momento che non capisco completamente il ragionamento.Perlin gradiente di rumore funzione
La funzione di sfumatura Perlin originale richiede quattro argomenti: uno hash
e una coordinata tridimensionale (x, y, z)
. Il risultato della funzione viene restituito in base al valore di hash mod 16
, come elencato di seguito.
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
I valori restituiti da 0
a 11
fanno una sorta di modello, poiché ogni combinazione è rappresentata una volta. Gli ultimi quattro, tuttavia, sono duplicati. Perché sono stati scelti per adattarsi agli ultimi quattro valori di ritorno? E quali sarebbero i casi analoghi con due dimensioni (x, y)
e una (x)
?
Grazie per la risposta! Sono sempre incredibilmente grato agli eroi che si precipitano per salvare le vecchie domande dimenticate. –