Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

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

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

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

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

Другие советы

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

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

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

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

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

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

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

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

Похоже, что это хорошо подходит для работающей на iPhone программы. Возможно, вам этого хватит?

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top