Ich bin auf der Suche nach dem 3D Perlin Noise-Algorithmus zu niedrigeren Dimensionen anzupassen, aber ich habe Probleme mit der Gradientenfunktion, da ich die Argumentation nicht vollständig verstehe. Die ursprüngliche Perlin-Gradientenfunktion benötigt vier Argumente: a hash
und eine dreidimensionale Koordinate (x, y, z)
. Das Ergebnis der Funktion wird basierend auf dem Wert hash mod 16
zurückgegeben, wie unten aufgeführt.Perlin Rauschgradientenfunktion
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
Die Rückgabewerte 0
-11
eine Art Muster machen, da jede Kombination einmal vertreten ist. Die letzten vier sind jedoch Duplikate. Warum wurden sie für die letzten vier Rückgabewerte ausgewählt? Und was wären die analogen Fälle mit zwei (x, y)
und einer (x)
Dimensionen?
Danke für die Antwort! Ich bin immer unglaublich dankbar für die Helden, die eintauchen, um die alten vergessenen Fragen zu retten. –