Я пытаюсь адаптировать алгоритм трехмерного шума Перлина к более низким размерам, но у меня проблемы с функцией градиента, так как я не полностью понимаю аргументацию.
Первоначальная функция градиента Перлина принимает четыре аргумента: хэш
и трехмерную координату (x, y, z)
. Результат функции возвращается на основе значения hash mod 16
, как указано ниже.
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
: у - z
11
: -y - z
12
: у + х
13
: - y + z
14
: y - x
15
: -y - z
Возвращаемые значения от 0
до 11
составляют своего рода образец, поскольку каждая комбинация представлена один раз. Последние четыре, однако, являются дубликатами.Почему они были выбраны так, чтобы соответствовать последним четырем возвращаемым значениям? И каковы будут аналогичные случаи с двумя (x, y)
и одним (x)
измерениями?