Алгоритмы для моделирования потока жидкости - PullRequest
14 голосов
/ 09 января 2009

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

Это для игры, поэтому 100% физического реализма не требуется. Что наиболее важно, это то, что расчеты могут быть выполнены в режиме реального времени на устройстве с мощностью iPhone.

Я думаю, что какой-то клеточный автомат или система частиц - это путь, но я не знаю, с чего начать.

Есть предложения?

Ответы [ 10 ]

10 голосов
/ 09 января 2009

Методы решетчатого Больцмана - довольно распространенный способ моделирования жидкости дискретным, клеточным автоматным способом.

Однако, для производительности iPhone в реальном времени, может быть более эффективно моделировать жидкость как систему частиц, а затем выработать способ визуализации частиц как объемной массы. Я подозреваю, что такой подход используют такие игры, как Aqua Forest .

8 голосов
/ 09 января 2009

Это не моя область исследований, но я считаю, что это считается канонической работой:

Fluid Simulation для компьютерной графики

http://www.akpeters.com/product.asp?ProdCode=3260

Также посмотрите на группу анимации и моделирования Беркли

http://www.cs.berkeley.edu/b-cam/

Я также рекомендую такой инструмент, как Google Scholar или Citeseer, и продолжаю научную литературу.

4 голосов
/ 01 мая 2009

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

3 голосов
/ 01 июня 2009

SPH с частицами, вероятно, является самым быстрым для запуска и запуска с преимуществом в расширении до вязко-эластичных и других вещей. Завтра я опубликую руководство в своем блоге, которое я писал последние несколько дней на эту тему. (http://blog.brandonpelfrey.com)

3 голосов
/ 20 апреля 2009
3 голосов
/ 09 января 2009

Работа Рона Федькова в этой области просто ошеломительна.

Еще один комментарий: моделирование жидкостей - это материал параллельного числового программирования и суперкомпьютеров или, по крайней мере, мощных многоядерных настольных компьютеров. IPhone, вероятно, не будет сокращать его.

1 голос
/ 20 мая 2016

Это так мало, что вы должны моделировать частицы?

Если это так, я рекомендую взглянуть на Решетчато-газовые сотовые автоматы (LGCA, см. Пример видео здесь ).

Короче говоря, LGCA - это подкласс клеточных автоматов, где состояния ячейки представляют собой кортежи двоичных значений, каждое из которых представляет канал между ячейкой и одним из ее соседей и через которые могут проходить частицы (канал равен 1, если он содержит частица, 0 в противном случае).

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

1 голос
/ 09 января 2009

Насколько я знаю в игре De Blob цветной "шарик" перемещается вокруг белого окружения, окрашивая объекты, с которыми он сталкивается. Это как-то вызвало у меня мысли, когда я прочитал ваше описание того, что вы, похоже, хотите сделать. (На самом деле я не играл в эту игру, поэтому я понятия не имею, насколько хорошо это подходит.)

Сказав это, я, кажется, вспоминаю, что текучесть сгустка в этой игре в основном искусственна: в основном это сфера, некоторые ее небольшие изменения размера / формы, некоторые сигналы движения и добавленные "мягкие звуки", У игрока создается впечатление, что что-то не совсем солидное является главным героем игры. Фактическое программирование физики или симуляции не было задействовано.

Звучит, как будто хорошо подходит для программного обеспечения, работающего на iphone. Возможно, вам этого будет достаточно?

1 голос
/ 09 января 2009

Интересно, вы думаете о чем-то вроде Меркурия Арчера Маклина или Обвал Меркурия для PSP.

0 голосов
/ 20 июня 2012

Решения Навье-Стокса на основе сетки всегда быстрее, а скорость вычислений постоянна.

...