Физические подходы к моделированию водной поверхности в реальном времени
Автор: Гуртовцев А.В.
Журнал: Теория и практика современной науки @modern-j
Рубрика: Основной раздел
Статья в выпуске: 6 (24), 2017 года.
Бесплатный доступ
В статье рассматриваются физические подходы к созданию моделей водных поверхностей. Основные методы: Лагранжевы, Эйлеровские, SPH. Современные технологии позволяют получить достаточно высокое качество изображения. Разработка производительных кросс-платформенных приложений, позволяющих осуществлять реалистичную визуализацию водных поверхностей, является актуальной задачей.
Лагранж, эйлер, моделирование водной поверхности
Короткий адрес: https://sciup.org/140271856
IDR: 140271856
Текст научной статьи Физические подходы к моделированию водной поверхности в реальном времени
Физические гибридные подходы позволяют избежать проблемы взаимодействия поверхности с другими объектами в динамичных сценах и получить реалистичные результаты моделирования. Реалистичных результатов можно достичь, используя волнение поверхности, полученное с помощью статических моделей и реализовать полноценный контроль над тем, что происходит в сцене, используя геометрические подходы. Такие методы, использующие гибридный подход, позволяют достигать компромисс между спектральными и геометрическими методами и получать быструю и высоко реалистичную картинку.
Большое количество физических моделей описания водных поверхностей и жидкостей основаны на решении уравнений Навье-Стокса. Используя эти уравнения, можно описать динамику водной поверхности и просчитать потоки воды для любого характера движения. Любая водная поверхность: река, море, океан, озеро, может быть рассмотрена в качестве потока несжимаемой жидкости, который описывается уравнениями (1.6) и (1.7).
da _ 1
— = —(v • V)v + vAv — ~Vp + f, (1.6)
Vv = 0, (1.7) где V - оператор набла, A - векторный оператор Лапласа, v - коэффициент кинематической вязкости, t - время, р - плотность, p - давление, f -векторное поле массовых сил, v - векторное поле скоростей.
Еще одним подходом к моделированию водной поверхности является использование уравнений мелкой воды Сен-Ванена. Такой подход используется, когда вертикальный масштаб моделируемой поверхности меньше, чем горизонтальный.
Есть два способа для дискретизации уравнений, приведенных выше, для того, чтобы использовать их в визуализации.
Первый способ - использование эйлеровых подходов, которые для расчетов перемещения воды из одних ячеек сетки в другие используют двухмерную или трехмерную сетку.
Второй способ - это применение лагранжевых подходов, которые основаны на частицах, переносящих воду, представляющих собой малые объемы воды.
Большое количество методов и алгоритмов физического моделирования было разработано, используя эти два подхода. Это происходило, в основном, за счет добавления системы частиц в эйлеровские подходы описания жидкостей. Эти принципы и применение их в компьютерной графике на примере моделирования океанов и морей были рассмотрены в работе [1]. Основной недостаток всех рассмотренных выше методов - огромные вычислительные затраты.
Подходы, основанные на уравнениях Лагранжа, разработанные для применения в компьютерной графике, являются на сегодняшний день самыми распространенными для применения к визуализации водных поверхностей и жидкостей.
В таких подходах [2] жидкость представляется в виде ряда частиц, взаимодействие и поведение которых описывается с помощью нескольких правил гидромеханики. Применяя такие подходы, можно получить реалистичные результаты визуализации водных поверхностей, но они не являются имитацией реальных процессов и не могут описывать процессы, которые протекают внутри водной среды, которые могут быть описаны с помощью уравнений Навье-Стокса.
Еще одним подходом к физическому моделированию водной поверхности является метод гидродинамики сглаженных частиц (SPH), которые сейчас применяются в компьютерной графике, хотя раньше назначение SPH было совсем иным. Такой подход использовался в астрофизике, для исследований движения облаков в космосе и их взаимодействий друг с другом. Позже модель утвердили для жидкостей, формализовали и впервые этот подход к моделированию жидкостей был описан в работе [3].
Уравнения Навье-Стокса можно упростить и линеаризовать с помощью SPH подхода. В таком методе подразумевается, что каждая частица (материальная точка) имеет свою массу и сумма таких масс дает полную массу водной среды, следовательно второе уравнение Навье-Стокса может быть опущено, так как масса жидкости остается постоянной в течение долгого времени, а в первом уравнении Навье-Стокса может быть опущен нелинейный коэффициент, описывающий перенос жидкости, так как она переносится частицами. Следовательно, при таком подходе достаточно применить одно линейное уравнение, для описания водной среды. Формула
dv _ 1 -
(1.8)
Ot = p " ^
где величина / = — Vp + pV2U + pg, которая представляет сумму сил, действующих на частицу, где Vp - сила давления, p.V2U - сила вязкости, pg - внешние силы, действующие на частицу.
Основная цель SPH – это определение частиц, как неявных поверхностей, связанных друг с другом и влияющих друг на друга. В данном случае частица представляет собой макрообъем жидкости в текущей позиции, а не молекулу. Любая физическая величина частицы может быть получена при суммировании этих величин всех близлежащих частиц.
У данного метода существует ряд проблем. Первая проблема – погрешность вычислений базового алгоритма, в результате которых наблюдаются эффекты сжимаемости среды. Другая проблема – это необходимость использования большого количества частиц для описания динамики и поведения больших водных сред с высокой точностью и высокой детализацией. Это приведет к большим вычислительным затратам и большой занимаемой памяти. Следовательно, такой подход невозможно применять в играх, интерактивных системах и других системах виртуальной реальности.
Главная идея большинства разработанных на сегодня физических подходов заключается в том, чтобы описать динамику массы жидкости при помощи подходов Эйлера, а небольшие явления, такие как брызги, пузыри и пена – с помощью подходов Лагранжа. Авторы в работе [4] совместили систему частиц с методом Эйлера для создания имитации брызг.
Преимущество эйлеровых подходов – это возможность описывать довольно большой спектр различных физических явлений и процессов в водной среде, поэтому имеют высокую популярность среди ученых и разработчиков в компьютерной графике. Но так как при создании небольших явлений, таких как брызги или пузыри, должна быть очень высокая детализация сетки, что приводит к резкому повышению вычислительной сложности по сравнению с методами SPH.
Другой недостаток – создание и использование сеток с фиксированным шагом. Это делает невозможным моделирование водной поверхности за пределами данной сетки. Преимущество лагранжевых подходов – представление мелких явлений, процессов и возможность их описания вне рамок сетки, но при этом требуется большое количество частиц, чтобы картинка была реалистичной, что в свою очередь также приведет к росту вычислительной сложности.
Поэтому имеет смысл грамотно использовать модификации и гибриды данных методов, чтобы найти компромисс между реалистичностью и быстродействием.
Список литературы Физические подходы к моделированию водной поверхности в реальном времени
- Bridson, R. Fluid simulation [Text] / R. Bridson, M. Muller-Fischer // ACM SIGGRAPH. - 2007. - P. 1-81.
- Reeves, W. T. Particle Systems: a Technique for Modeling a Class of Fuzzy Objects [Text] / W. T. Reeves // ACM Trans. Graph. - 1983. - Т. 2. № 2. - P. 91-108.
- Monaghan, J. J. Smoothed particle hydrodynamics [Text] / J. J. Monaghan // Annual Review of Astronomy and Astrophysics. - 1992. - Т. 30. - P. 543-574.
- O'Brien, J. F. Dynamic simulation of splashing fluids [Text] / J. F. O'Brien, J. K. Hodgins // Proceedings of the Computer Animation. - 1995. - P. 198.