Моделирование жидкости
Моделирование жидкости (англ. 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]
Примечания
Ссылки
- Англоязычные источники
- Fusion CI Studios, Fluid FX Specialists
- Flowline Homepage
- Glu3d Homepage
- ICE SPH Fluids Homepage
- RealFlow Homepage
- Blender Homepage
- AfterBurn Homepage
- Dynamite Homepage
- DPIT Nature Spirit Homepage
- Ron Fedkiw’s Homepage
- Berkeley Computer Animation Homepage
- Fluid Simulation for Video Games
- Русскоязычные источники
- Лев Симонов «LEVel». Моделирование жидкости в 2D с использованием GPU 3. UralDev (24 февраля 2009). Дата обращения: 15 августа 2011. Архивировано 15 мая 2012 года.
- Сергей Кольцов, Юлия Сазонова. Моделирование жидкостей — от капли к океану. журнал Компьюарт (№9 за 2008 год). Дата обращения: 15 августа 2011. Архивировано 15 мая 2012 года.


