Шумные разработчики, или Какие виды шума бывают?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
У дриады была ещё фраза "Бесшумно словно рысь", но эту я слышал на порядок чаще
У дриады была ещё фраза "Бесшумно словно рысь", но эту я слышал на порядок чаще

Играясь с генерацией карт высот в unity, я заметил одну неприятную тенденцию: большинство статей и материалов рассказывают либо о Value Noise, либо о Perlin Noise, либо о Voronoi Noise. Возможно я плохо искал, но это не отменяет того факта, что я сел писать эту статью, поэтому для всех нуждающихся я сделал шпаргалку. (Здесь нет реализаций, только собраны разные шумы с картинками, описанием и применением)

Начиная это писать, я не понимал, что лезу в непроглядные дебри. Прошу простить неточности, так как я чёрт, который вообще не вдупляет о чём тут говорится. Я не включал сюда множество шумов, которые применимы в основном в различных фильтрах для фотографий.


Perlin Noise

Да, я на него сетовал, но и без обойтись нельзя

Шум Перлина является самым ярким примером Градиентных шумов (Gradient Noise).

Ощущение, что в глазах поплыло
Ощущение, что в глазах поплыло

Наиболее очевидное различие — картинка выглядит «облачной». Если говорить о технических деталях, она непрерывна — если сильно увеличить ее масштаб, градиент всегда будет плавным. Нет резких переходов от чёрного к белому, поэтому алгоритм работает на удивление хорошо, когда нужно что-то «случайное», но не слишком.

Шум Перлина широко используется в двухмерной и трёхмерной компьютерной графике для создания таких визуальных эффектов, как дым, облака, туман, огонь и т. д. Он также очень часто используется как простая текстура, покрывающая геометрическую модель.

Похоже на облака?
Похоже на облака?
Выглядит иначе?
Выглядит иначе?

Стоит сказать, что у многих шумов есть аналоги, которые могут быть лучше оптимизированы или просто по-другому выглядят. Для шума Перлина таким аналогом служит Simplex Noise, он не сильно отличается от своего предшественника, но выигрывает в производительности. Особым ценителям могу ещё порекомендовать обратить внимание на Wavelet Noise - она решает проблемы со сглаживанием и потерей деталей (я не понял, но кто-то из вас может поймёт, о чём речь).

Voronoi Noise (Worley Noise)

Самым известным примером Клеточного шума (Cellular Noise) является Вороной шум.

Мне это напоминает плесень
Мне это напоминает плесень

Используется в компьютерной графике для случайного разбиения поверхностей.

Используется при генерации органических клеткообразных структур, таких как: крылья стрекозы, рисунок на листе или жирафе.

Горыныч
Горыныч
Я явно *****ящер, что вижу тут плитку
Я явно *****ящер, что вижу тут плитку





Одна из разновидностей Chebyshev Noise - имеет более резкие переходы, похоже на какую-то плитку или мозаику.

Curl Noise или Flow Noise

Честное слово: я пытался найти чёрно-белую, но не смог (а самому сделать - лень)
Честное слово: я пытался найти чёрно-белую, но не смог (а самому сделать - лень)

Шум Curl похож на шум Perlin, но вместо этого используется для физически обоснованного моделирования для создания "изменяющихся во времени полей несжимаемых турбулентных скоростей". Шум потока - это еще один шум, используемый для физического моделирования. Это полезно для создания изменяющихся во времени текстур с закручивающимся поведением.

Как раз для подобных шумов используется Симплекс, а не Перлин. Однако с областью применения я зашёл в тупик - конкретных примеров не нашёл.

Sparse Convolution Noise и Gabor Noise

К этому моменту меня уже тошнит от всевозможных шумов
К этому моменту меня уже тошнит от всевозможных шумов

Это два разных шума, но суть одна: похоже на волосы или шерсть.

Почему-то пример вышел очень НЕ шерстяной
Почему-то пример вышел очень НЕ шерстяной

Fractal Brownian Motion Noise или Ridged-Multifractal Noise

Мой глаз замылился... опять
Мой глаз замылился... опять
А вы бы смогли произвести такое сложение?
А вы бы смогли произвести такое сложение?

Фрагмент 2D шума выглядит довольно хорошо и подойдет для создания хорошей текстуры шума в большинстве случаев. Однако, если вы используете шум для изображения реальных несовершенств, он получается слишком однородным и больше похож на размытую сетку. Случайность в реальном мире более динамична. Мы можем достичь этого, добавив несколько шумовых паттернов вместе, но разного размера. Это то, что обычно называют фрактальным броуновским движением.
Контролируя, сколько шумов мы добавляем (октавы), насколько интенсивным (амплитуда) и насколько “плотным” (частота) является каждый слой, мы получаем гораздо более динамичный шумовой паттерн.

Довольно детально?
Довольно детально?


Мы просто накладываем много слоёв друг на друга, чаще всего берут много слоёв шума Перлина с уменьшением масштаба, каждый раз добавляя всё больше деталей (Multi-Octaves Perlin Noise), но никто не запрещает складывать Вороной с Перлином и Габором. Чаще всего эту технику используют для создания ландшафтов.
Очень интересно наблюдать за изменением параметров такого преобразования.

Повторяю картинку, потому что разные контекст
Повторяю картинку, потому что разные контекст





Во время добавления октав можно провернуть приём под названием Turbulence. Им можно превратить Fractal Brownian Motion Noise в такое.

Ridged Noise

Сглаженные вершины исчезли
Сглаженные вершины исчезли

Чтобы добавить октавы, мы можем изменять амплитуды более высоких частот так, чтобы дополнительный шум был виден только в горах.

Я смог найти реализацию, но не объяснение.

Terraces

Появились ступеньки
Появились ступеньки

Это применение функций перераспределения высот. При использовании функции, отличной от ступенчатой, террасы могут быть более круглыми или располагаться только на некоторых высотах.

Я смог найти реализацию, но не объяснение (опять).

Domain Warping

Похоже на растёкшуюся краску
Похоже на растёкшуюся краску

Деформирование, или доменное искажение, является очень распространенным приемом в компьютерной графике для создания процедурных текстур и геометрии. Его часто используют, чтобы сжать объект, растянуть его, скрутить, согнуть, сделать толще или нанести любую желаемую деформацию. Это работает до тех пор, пока ваш базовый цветовой узор или геометрия определены как функция пространства.

Завораживает
Завораживает




Очень хорошая статья с красивыми картинками про это.


Заключение

Самое главное в искусстве шума - это возможность модифицировать базовые паттерны, чтобы получать красивые картинки, а из них и текстуры, и анимации, и партиклы, и материалы.

Я проделал большую работу по поиску всего этого, поэтому, надеюсь вы оцените мой первый пост и укажите на недочёты или неточности.

"Опять работа?"
"Опять работа?"

Источник: https://habr.com/ru/articles/743914/


Интересные статьи

Интересные статьи

Ни для кого не секрет, что сейчас игровая индустрия штампует только те виды игр, которые гарантированно пользуются спросом. Время идет вперед. Мир меняется. Технологии развиваются. Некоторые жанры ост...
Цифровой лог жизни парня с 17 до 27 лет содержит более 85 000 активностей за десять лет Жизнь человека можно представить по-разному. В минимальном формате это просто две даты. Но если человек соб...
«Дураки учатся на своих ошибках, а умные — на чужих» Теодор Рузвельт, 26-й президент США Теодор Рузвельт, к сожалению, не был знаком с подходом MVP, и в соответствии с этим высказ...
Изображение: Unsplash В нашем блоге мы уже рассказывали о фьючерсах и опционах. Это так называемые производные инструменты – так их называют, потому что они основаны на базе какого-то друг...
В каких фильмах и сериалах всё показано верно? Мы расспросили настоящих астронавтов. «Марсианин» / «Армагеддон» / «Интерстеллар» / «Гравитация» Говорят, что в космосе никто не услышит ваш к...