Ученые разработали новый способ симуляции воды на основе теоретической физики

Когда вы в последний раз были у воды: на озере у реки или океана? Помните рябь на поверхности, волны, которые разбиваются о скалы, дорожка на воде за лодкой и солнце, которое отражается на гребнях волны? Математические уравнения, описывающие многие из этих явлений, известны уже сотни лет. Проблема в том, что их настоящее решение крайне сложно и затратно. Создание точных, реалистичных симуляций - это существенная проблема как для ученых, так и художников.

Теперь ученые австрийского института науки и технологии совместно с Nvidia представили новую модель волн, которая улучшает эффективность вычислений минимум на порядок. Их метод, основанный на теоретической физике, позволяет создавать значительно больше визуальных деталей с большей степенью пользовательского контроля, об этом пишет Sciencedaily.

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

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

А теперь профессор Chris Wojtan из Австрийского института наук и технологий и его коллега Stefan Jeschke применили идеи теоретической физики и разработали новый тип модели волн как совокупности. Каждый волновой пакет (или цуг волн) содержит коллекцию таких же длин волн. Большие образования волн создаются путем соединения отдельных пакетов. Моделирование волн таким способом не ново для физики, но в компьютерной графике это делается впервые. Таким способом команда создала гораздо более подвижную и физически достоверную симуляцию, чем в предыдущих методах.

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

Кроме правдоподобности, для любой симуляции также крайне важны вычислительные затраты и эффективность. В этом отношении новый метод тоже выигрывает. “Когда мы хотим оптимизировать компьютерную симуляцию, мы должны думать о том, какую информацию мы храним, сколько ее и сколько это стоит - обновить все”, - объясняет Chris Wojtan. - “В таком случае каждый пакет волн относительно дешев. Поскольку каждый пакет просчитывается параллельно, их количество зависит от пользователя. Он сам может решать, в зависимости от своих потребностей и возможностей системы”.

“Это популярно также среди художников”, - прибавляет Stefan Jeschke. - “Если режиссер кино хочет увеличить волны вокруг монстра, даже если законы физики с ним не согласны - он легко может настроить высоту волн в определенной области просто меняя волновые пакеты в этом участке. Когда визуализация основывается на маленьких, последовательных тактах, одно небольшое изменение может привести к очередным 24-часовым расчетам, причем новая версия может тоже не понравиться”.

В дополнение к применению идеи волновых пакетов, Jeschke and Wojtan также разработали новую теорию для симуляции волновых следов - дорожки, которая тянется за объектом на водной поверхности. Опять же, они использовали теоретическую физику, чтобы выяснить, какие волны визуально доминируют. Это позволило отсечь незначительные движения и сократить вычислительные расходы. Сейчас команда работает над улучшенной версией своего метода, но код для их текущих симуляций можно скачать в Интернете.

Видео о проекте:

Источник>>

669 0 850 3
0
RENDER.RU