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

Подходы

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

Разработка

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

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

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

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

  • 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]

Примечания

Ссылки

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.