Изучение проблемы визуализации жидких сред в компьютерной графике. Применение уравнений Навье-Стокса для задач нефотореалистичного рендеринга. Математическое моделирование поверхности бумаги. Использование метода Лагранжа для дискретной системы частиц.
Аннотация к работе
В киноиндустрии необходимо убедительно мимикрировать (подражать) внешнему виду и поведению таких сред как: дым, вода и огонь. Программное обеспечение, используемое художниками и дизайнерами, также может выиграть от использования физического моделирования для имитации традиционных техник, как рисование акварелью или маслеными красками. Еще одно потенциальное приложение - это синтез текстур, так как многие текстуры получаются в результате воздействия жидкостей на какую-либо поверхность, например, таким образом можно получить эрозию. В идеале необходимо предоставить пользователю набор интерактивных инструментов, который бы позволил ему легко внедрить моделирование и визуализацию таких сред в собственное приложение. Первые модели, использовавшие уравнения Навье-Стокса, были реализованы для двумерного случая [6] и использовали решение уравнения Пуассона для создания анимации двумерной жидкости.Использование компьютерной графики позволило привнести в киноиндустрию нечто новое и удивить зрителей необычными технологиями. С этой проблемой столкнулся Ken Perlin во время работы над фильмом TRON. Недовольный неестественностью синтезируемых кадров Ken Perlin стал искать способ разнообразить получаемое изображение. В TRON были использованы не полигоны, а подход, именуемый Constructive solid geometry (CSG), при котором все объекты моделировались как логические комбинации математических примитивов, таких как сферы, эллипсы, цилиндры и другие простые формы. Это подтолкнуло Ken Perlin"a искать решение в текстурировании объема, а не поверхностей.Шум ограничен в частотной области - практически вся его энергия, если рассмотреть шум как сигнал, сконцентрирована в малой частотной области. Высокие частоты, проявляющие себя как маленькие детали, и низкие частоты вносят небольшой вклад в общую энергию. Алгоритм Шума Перлина достаточно простой, рассмотрим его для пространства R2: 1. Алгоритм использует регулярную сетку 2. Для входной точки P определяются окружающие ее точки, лежащие на сетке.В природе многие явления обладают свойством самоподобия. Используя этот факт можно смоделировать интересные поверхности с помощью шума Перлина. Пусть дана функция noise(x)Интересное применение уравнениям гидродинамики было дано в [8]. Авторы предложили использовать уравнение «мелкой воды» для имитации различных техник рисования. Для получения окончательного результата слои накладываются друг на друга с помощью модели Кубелки-МункаАнизотропность бумаги моделируется созданием в каждой точке случайным образом заданных определяющих направлений (волокон) с помощью шума Перлина, что позволяет достичь реалистичной симуляции наложения акварельных красок на бумагу. Каждый слой имитируется с использованием 3х-уровневой модели: · Уровень растекания воды (shallow-water layer), где вода с пигментом течет по поверхности бумаги по тем областям, которые помечены маской влажных участков. · Уровень передвижения пигмента (pigment deposition layer), где пигмент осаждается на бумагу и всплывает обратно (по законам процессов адсорбции и десорбции) · Капиллярный уровень (capillary layer), где вода впитывается в бумагу и распределяется в ней, происходит имитация движения воды по порам бумаги.Движение жидкости в каждой точке потока полностью описывается системой нелинейных дифференциальных уравнений Навье-Стокса (уравнений «мелкой воды»). В двумерном случае для несжимаемых жидкостей, эти уравнения могут быть записаны в следующем виде: Рассмотрим условия, которым должно удовлетворять поведение воды для достижения реалистичного эффекта: 1. Избыток воды в какой-то области должен вызывать течение воды из этой области в соседние и приводить к равновесию концентраций. Уравнения Навье-Стокса переходят в уравнения «мелкой» воды. Для численного решения использовалась следующая дискретная схема: Перенос красителя на уровне растекания воды зависит от локальной скорости движения жидкости, которая рассчитывается на первом этапе имитации.Перелом произошел, когда в [12] был предложен вычислительно простой алгоритм для моделирования движения газа в двумерном случае.Математически состояние жидкости в любой момент времени моделируется как поле скоростей (задается функция, которая определяет для каждой точки пространства вектор скорости). Каждая частичка имеет скорость, которая может изменяться в зависимости от внешних условий: наличие батареи (источник тепла), присутствие сквозняка в комнате и др. Распределение скоростей внутри комнаты очевидно также сложно, как описание распределения скоростей частиц дыма, поднимающегося вверх от зажженной сигареты, или движение частиц пыли в воздухе. Уравнения Навье-Стокса - точно описывают эволюцию поля скоростей с течением времени. При данных скоростях и силах уравнение говорит, как точно скорости будут изменяться через бесконечно малый промежуток времени.Как сказано выше, сначала будет описано решение уравнения плотности, двигающейся сквозь поле скоростей, которое не меняется во времени. Первое слагаемое говорит, что плотность должна двигаться п
План
Содержание
Введение
1. Обзор существующих решений рассматриваемой задачи или ее модификаций
1.1 Шум Перлина
1.1.1 История появления
1.1.2 Алгоритм
1.1.3 Применение
1.2 Применение уравнений Навье-Стокса для задач нефотореалистичного рендеринга
1.2.1 Алгоритм
1.2.2 Моделирование поверхности бумаги
1.2.3 Математическая модель
1.3 Интерактивное моделирование дыма
1.3.1 Математическая модель
1.3.2 Движение плотностей
1.3.3 Наличие источников плотности
1.3.4 Диффузия
1.3.5 Движение плотности по полю скоростей
1.3.6 Решение уравнения для скоростей
2. Моделирование системой частиц
2.1 Схема работы системы частиц. Визуализация объемных данных текстурами и Ray-tracing
3. Исследование и построение решения задачи
3.1 Математическая модель
3.1.1 Уравнения Навье-Стокса
3.1.2 Метод Лагранжа
3.1.3 Метод Эйлера
3.1.4 Граничные условия
4. Схема работы программного решения. CUDA реализация алгоритмов
Список литературы
Введение
В настоящее время одна из наиболее интригующих проблем в компьютерной графике - это моделирование жидких и газообразных сред. Во многих областях потребность в инструменте подобного рода очень высока. В киноиндустрии необходимо убедительно мимикрировать (подражать) внешнему виду и поведению таких сред как: дым, вода и огонь.
Программное обеспечение, используемое художниками и дизайнерами, также может выиграть от использования физического моделирования для имитации традиционных техник, как рисование акварелью или маслеными красками.
Еще одно потенциальное приложение - это синтез текстур, так как многие текстуры получаются в результате воздействия жидкостей на какую-либо поверхность, например, таким образом можно получить эрозию.
В последнее время подобное моделирование получило широкое распространение и в геофизике, в частности, при моделировании предсказания погоды. И, конечно, моделирование жидких сред важно для различных инженерно прикладных задач. Во многих инженерных пакетах программного обеспечения существуют готовые решения для гидродинамических симуляций.
Распространенное мнение в научном сообществе, что уравнение Навье-Стокса хороши для моделирования движения жидкостей. Это подтверждают большое количество научных работ, учебников и статей, публикующихся в разных областях, но которые, тем не менее, используют численное решение уравнения Навье-Стокса как основу моделирования.
Какой численный метод использовать на практике зависит во много от задачи и доступных вычислительных мощностей.
Большинство инженерных задач требуют от симуляции точных значений различных физических величин, на основе которых принимаются решения о надежности, производительности и т.д.
Визуальное представление решения («форма» потока) обычно вторичной важности в таких приложениях.
С другой стороны в компьютерной графике наибольший интерес вызывают именно «форма» и поведение среды, а физическая точность вторична, а во многих случаях вообще не важна.
В идеале необходимо предоставить пользователю набор интерактивных инструментов, который бы позволил ему легко внедрить моделирование и визуализацию таких сред в собственное приложение.
Исторически так сложилось, что ранние модели сред (воды, дыма, огня) были основаны на внешнем виде, а не на физической симуляции. Потоки жидких и газообразных сред моделировались простыми примитивами, комбинация которых позволяла анимировать системы частиц [1, 3] или простую геометрию, такую как листья [4].
Визуальная насыщенность повысилась с появлением функции турбулентности [5], и долгое время такой подход был очень распространен в виду того, что функция турбулентности периодична в пространстве и времени и легко совместима с существующими методами текстурирования. Этот подход использовался во многих фильмах в 80-х - 90-х годах: «Трон», «Король Лев» и др.
Однако у такого подхода есть существенный недостаток - полное отсутствие взаимодействия с пользователем и внешней средой.
Первые модели, использовавшие уравнения Навье-Стокса, были реализованы для двумерного случая [6] и использовали решение уравнения Пуассона для создания анимации двумерной жидкости.
Однако этот подход был ограничен двумерным случаем, и авторы отмечали неустойчивость симуляции.
Дальнейшие исследования продолжили Kass и Miller в [7], где они предложили линеаризовать систему мелкой воды для моделирования жидкостей.
Эта тема получила продолжение в работе [8], где применили эту модель для моделирования течения акварельной краски по холсту.
Эта реализация использовалась в кино в 1998 году в фантастической мелодраме Винсента Уорда «Куда приводят мечты» («What Dreams May Come»). Фильм был удостоен премии «Оскар» за лучшие визуальные эффекты.
В 1999 году в [9] был предложен вычислительно простой, легкий в интеграции и устойчивый при любых параметрах метод моделирования динамики жидких сред.
В виду этих достоинств, данный метод, получивший распространенное название Stable Fluids, стал широко применим в различных интерактивных приложений, прежде всего игровых, и повлек за собой целый поток исследований: 1. условия, использование графических По использованию различных схем Back Projection алгоритма [11], 2. По использованию разных схем дискретизации и численных методов [12]
3. По использованию различных граничных условий [10]
4. По расширению применимости: для оригинального двумерного алгоритма был предложен трехмерный аналог [13]
5. Прочие модификации данного подхода: сложные граничные процессоров для ускорения и т.д.
В настоящее время Stable Fluids можно считать, де-факто, образцом, с которым все сравнивают новые результаты исследований в области моделирования и визуализации жидких и газообразных сред.
Постановка задачи: Необходимо разработать библиотеку, позволяющую проводить моделирование течения жидкостей и распространения газов в реальном времени в двумерном и трехмерном случаях.
Библиотека должна позволять загружать любую сцену, внутри которой в дальнейшем планируется проводить симуляцию, и в этой сцене устанавливать источник жидкости или газа, генерирующий в заданном направлении частицы среды.
Библиотека должна позволять устанавливать большое количество физических параметров моделирования, позволяющих найти компромисс между интерактивностью моделирования и визуализацией и качеством синтезируемого изображения. моделирование визуализация компьютерный графика