Моделирование жидкости

Моделирование жидкости (англ. fluid simulation) — область компьютерной графики, использующая средства вычислительной гидродинамики для реалистичного моделирования, анимации и визуализации жидкостей, газов, взрывов и других связанных с этим явлений. Имея на входе некую жидкость и геометрию сцены, симулятор жидкости моделирует её поведение и движение во времени, принимая в расчёт множество физических сил, объектов и взаимодействий. Моделирование жидкости широко используется в компьютерной графике и ранжируется по вычислительной сложности от высокоточных вычислений для кинофильмов и спецэффектов до простых аппроксимаций, работающих в режиме реального времени и использующихся преимущественно в компьютерных играх.

Подходы

Существует несколько конкурирующих методов моделирования жидкости, каждый из которых имеет свои преимущества и недостатки. Наиболее распространёнными являются сеточные методы Эйлера, гидродинамика сглаженных частиц (англ. smoothed particle hydrodynamics — SPH), методы, основанные на завихрениях, и метод решёточных уравнений Больцмана. Эти методы возникли в среде вычислительной гидродинамики и были позаимствованы для практических задач в индустрии компьютерной графики и спецэффектов. Основное требование к данным методам со стороны компьютерной графики — визуальная правдоподобность. Иными словами, если наблюдатель при просмотре не может заметить неестественность анимации, то моделирование считается удовлетворительным. В физике, технике и математике, с другой стороны, основные требования предъявляются к физической корректности и точности моделирования, а не к её визуальному результату.

Разработка

В компьютерной графике самые ранние попытки решить уравнения Навье — Стокса в трёхмерном пространстве были предприняты в 1996 году Ником Фостером (англ. Nick Foster) и Димитрисом Метаксасом (англ. Dimitris Metaxas). Их работа в качестве основы использовала более раннюю работу по вычислительной гидродинамике, которая была опубликована в 1965 году Харлоу (англ. Harlow) и Уэлшем (англ. Welch). До работы Фостера и Метаксаса многие методы моделирования жидкости были построены на основе специальных систем частиц, методах снижения размерности (типа двухмерные модели мелких водяных объёмов типа луж) и полу-случайных шумовых турбулентных полях. В 1999 году на SIGGRAPH Джос Стэм (англ. Jos Stam) опубликовал метод так называемых «стабильных жидкостей» (англ. Stable Fluids), который использовал полу-лагранжевый метод адвекции и неявные интеграции вязкости для обеспечения безусловно устойчивого поведения жидкости. Это позволило моделировать жидкости со значительно большим временным шагом и в общем привело к более быстрым программам. Позже, в 2001—2002 годах, этот метод был расширен Роном Федкивым вместе со своими сотрудниками, благодаря чему стало возможным обрабатывать сложную модель воды в трёхмерной сцене с использованием метода установленного уровня.

Наибольший вклад в область моделирования жидкости внесли Рон Федкив, Джеймс О’Брайен, Марк Карлсон (англ. Mark Carlson), Грег Тарк, Роберт Брайдсон (англ. Robert Bridson), Кен Мюсит (англ. Ken Museth) и Джос Стэм.

Программное обеспечение

Ниже представлен набор наиболее известного и распространённого программного обеспечения, предназначенного для моделирования жидкости.

  • RealFlow — компьютерная программа от Next Limit Technologies, изначально предназначенная исключительно для моделирования жидкостей посредством SPH, однако позже расширенная для моделирования газов, твёрдых и деформируемых тел и проч. В 2007 году разработчики «RealFlow» получили Academy Award for Technical Achievement от Академии кинематографических искусств и наук за разработку своей программы.[1]
  • Свободный пакет для создания трёхмерной графики Blender содержит реализацию стабильного метода решёточных уравнений Больцмана для моделирования жидкости.[2]
  • Glu3d — плагин для 3ds Max и Maya, использующий SPH.
  • AfterBurn — популярный плагин к 3ds Max, среди прочего способный моделировать жидкость посредством системы частиц.
  • FumeFX — плагин к 3ds Max, моделирующий жидкости, газы, пламя и другие явления. Основан на внутренней технологии «VoxelFlow», которая использует несжимаемые уравнения Эйлера для массы и сохранения импульса.[3]

Примечания

  1. 10 Scientific and Technical Achievements to Be Honored with Academy Awards (англ.). Академия кинематографических искусств и наук (9 февраля 2008). — «RealFlow was the first widely adopted, commercially available, easy-to-use system for the simulation of realistic liquids in motion picture visual effects.» Дата обращения: 15 августа 2011. Архивировано 29 апреля 2012 года.
  2. Моделирование жидкостей Архивная копия от 27 сентября 2011 на Wayback Machine — BlenderWiki
  3. FumeFX - Simulation (англ.) (недоступная ссылка — история). Sitni Sati. Дата обращения: 15 августа 2011. Архивировано 25 августа 2012 года.

Ссылки

Англоязычные источники
Русскоязычные источники