Шум Перлина - Исследование и построение решения задачи 30

^ Шум Перлина История возникновения
Вначале эффекты в кино были стопроцентно под контролем художника и режиссера. Все, что не снималось на камеру, а добавлялось на шаге монтажа, нужно было добавлять в каждый кадр. Работа Шум Перлина - Исследование и построение решения задачи 30 эта была ручная и занимала колоссальное количество человеко-часов. Очень стремительно стало понятно, что можно использовать вычислительные способности ЭВМ для того, чтоб упростить эту задачку. Внедрение компьютерной графики позволило привнести в киноиндустрию нечто новое Шум Перлина - Исследование и построение решения задачи 30 и изумить зрителей необыкновенными технологиями. TRON был первым проектом с хорошей порцией компьютерных эффектов. Совместно с тем, компьютерная графика тех пор (80ые годы) смотрелась искусственно гладко и монотонно. С Шум Перлина - Исследование и построение решения задачи 30 этой неувязкой столкнулся Ken Perlin во время работы над фильмом TRON. Недовольный противоестественностью синтезируемых кадров Ken Perlin стал находить метод варьировать получаемое изображение.

В TRON были применены не полигоны, а подход, называемый ^ Constructive Шум Перлина - Исследование и построение решения задачи 30 solid geometry (CSG), при котором все объекты моделировались как логические композиции математических примитивов, таких как сферы, эллипсы, цилиндры и другие обыкновенные формы.







Логическое Объединение

Логическое Вычитание

Логическое Скрещение




Примеры моделирования CSG






Это подтолкнуло Ken Perlin'a находить решение Шум Перлина - Исследование и построение решения задачи 30 в текстурировании объема, а не поверхностей. В 1983 году Perlin предложил ординарную псевдослучайную функцию для наполнения объема. Главным преимуществом его подхода перед обычным текстурированием, легкодоступным в современном графическом микропроцессоре, являются:

  1. Экономия Шум Перлина - Исследование и построение решения задачи 30 памяти: все получаемые текстуры синтезируются, они не требуют места для хранения, что в особенности критично для трехмерных текстур.

  2. Больший период повторения.

  3. Позволяет использовать четырехмерный шум, в то время как поддержка четырехмерных Шум Перлина - Исследование и построение решения задачи 30 текстур отсутствует.

  4. Качество фильтрации значительно выше, благодаря интерполяции более высочайшего порядка:





Обычное текстурирование

Внедрение функции Perlin'a







Главные требования, которые предъявлялись к функции шума Perlina при разработке:

  1. Снаружи производит воспоминание шума.

  2. Контролируема: при передаче схожих характеристик, возвращает Шум Перлина - Исследование и построение решения задачи 30 схожие значения.

Случайная функция Perlin'a позволяла заполнить все трехмерное место. Срез значений этой функции показан на рисунке.

Она обладала еще несколькими увлекательными качествами:

  1. Периодичность в пространстве

  2. Нулевое математическое ожидание

  3. Отсутствие очень больших либо Шум Перлина - Исследование и построение решения задачи 30 очень низких частот

Наличие таковой функции позволило продвинуться далее.






Сам по для себя шум был не очень увлекателен, но его внедрение в купе с математическими выражениями позволило создавать достойные внимания Шум Перлина - Исследование и построение решения задачи 30 текстуры.
Метод
Шум Перлина – это отображение из места Rn в R. В реальный момент более всераспространенными значениями n являются {1, 2, 3, 4}.

Шум ограничен в частотной области – фактически вся его энергия, если разглядеть шум как Шум Перлина - Исследование и построение решения задачи 30 сигнал, сконцентрирована в малой частотной области. Высочайшие частоты, проявляющие себя как мелкие детали, и низкие частоты заносят маленький вклад в общую энергию. Снаружи это смотрится как белоснежный шум после свертки с ядром Гаусса.

Метод Шум Перлина - Исследование и построение решения задачи 30 Шума Перлина довольно обычной, разглядим его для места R2:

  1. Метод употребляет регулярную сетку

  2. Для входной точки P определяются окружающие ее точки, лежащие на сетке. Таких точек 2n т.е. 4 для Шум Перлина - Исследование и построение решения задачи 30 R2

  3. Для каждой точки Qi i={1,2,3,4}, лежащей на сетке:

    1. Выбирается псевдослучайный вектор градиент G.

    2. Рассчитывается скалярное произведение D = G * (P - Qi)

  4. Получили Di i={1,2,3,4}, которые можно проинтерполировать:

    1. Рассчитываются веса для S-curve интерполяции

(3t2 – 2t Шум Перлина - Исследование и построение решения задачи 303) в [15]

    1. В предстоящем в [14] была предложена другая формула для S-curve коэффициентов:

6t5 - 15t4 + 10t3. Это вызвано тем, что 2-ая производная в верхней формуле не равна нулю при t = {0, 1}. Это вызывает видимые разрывы Шум Перлина - Исследование и построение решения задачи 30 в освещении геометрии, верхушки которой были смещены, используя шумовую функцию (displacement mapping).

    1. 2n-1 линейные интерполяции.










Для резвого вычисления псевдослучайных градиентов был предложен последующий метод:

  1. Заблаговременно рассчитывается 2 таблицы (в каждой Шум Перлина - Исследование и построение решения задачи 30 таблице n записей):

    1. Таблица случайных целых чисел P, в какой перемешаны числа от 0..(n-1)

    2. Таблиц случайных градиентов G

    3. В уникальной работе n = 256

  2. Для узла с целочисленными координатами {i,j,k} градиент можно вычислить по Шум Перлина - Исследование и построение решения задачи 30 формуле: grad_vec = G[ (i + P[ (j + P[k]) mod n ] mod n ]

  3. Таковой подход был изменен в [14], где было предложено отрешиться от таблицы случайных векторов G. Заместо этого Perlin предложил использовать Шум Перлина - Исследование и построение решения задачи 30 12 векторов, которые подобраны так, чтоб избежать корреляции меж ними и координатными осями. Предложенные вектора ориентированы из центра куба [-1, 1]3 в стороны вершин.
Применение
В природе многие явления владеют свойством самоподобия. Используя данный факт Шум Перлина - Исследование и построение решения задачи 30 можно смоделировать достойные внимания поверхности при помощи шума Перлина. Разглядим последующий пример:

  1. Пусть дана функция noise(x)

  2. Разглядим линейную комбинацию:

  3. Такая функция (BM значит Brownian Motion) смотрится уже еще лучше: проиллюстрируем это на графиках













    a

    b

    c

    d

    e

    f

    Данная Шум Перлина - Исследование и построение решения задачи 30 таблицы представляет функцию Перлина на различных частотах

    a-e – 1-ые 5 октав, f – результирующая Brownian Motion функция

  4. Аналогично можно получить функцию турбулентности:

  5. Используя разные композиции функций можно получать разные материалы:

















shpori-po-buh-uchetu-aprel2004.html
shpori-po-ekonomicheskoj-teorii-s-voprosami.html
shpori-po-finansovomu-pravu-rf.html