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