Исследуя внутреннюю работу перлин-шума, я удивлялся, почему можно использовать перлин-шум вместо простого значения шума. Насколько я правильно понимаю, применимо следующее:
Шум Перлина - это шумовая функция на основе решетки, которая назначает n-мерный градиент (случайный для исходной реализации, фиксированный для улучшенной) для каждой точки в базовом шумовом пространстве. Теперь вы можете запросить значение для каждой точки пространства, вычислив произведение точек между вектором расстояния и вектором градиента. После этого вы усредняете все рассчитанные значения и получаете запрашиваемое значение.
Но разве шум-значение не такой же, без использования векторов градиента, а случайных значений? Поскольку я также интерполирую значения в значении шума, я не вижу каких-либо преимуществ, используя дополнительный шаг вычисления (точечное произведение) для шума перлина.
Так почему бы мне использовать перлин-шум вместо ценового шума? Почему шум перлина так популярен?
Ответы:
Преимущество перлин-шума заключается в общем распределении частот. Поскольку значение шума использует простые значения, которые интерполируются, существует большая вероятность того, что ряд из нескольких значений отличается лишь незначительно. Следствием этого является то, что некоторые области вашей картинки могут содержать небольшие изменения, а некоторые области - множество изменений.
Используя градиенты, вы уменьшаете этот эффект, потому что интерполяция выполняется не по значению, а вместо этого вычисляется между касательными. Теперь сложнее иметь плоскую кривую (обе касательные должны быть коллинеарны).
Источник: Как отметил Мартин Эндер вопрос уже был размещен на другом StackExchange сообщества: см этот пост Math.SE .
источник