Моделирование эстетического жидкообразного потока в системе частиц в реальном времени

Я играю с системой частиц в реальном времени в openframeworks для художественной инсталляции.

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

В настоящее время у меня есть простая система частиц, основанная на физике: ParticleVec3 на github имеют массу, скорость и т. д., и к ним математически можно применить силы.

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

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

Есть ли у вас какие-либо советы или общий алгоритм решения этой проблемы?

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


person matthiaswitt    schedule 08.06.2018    source источник
comment
Вы имеете в виду это?   -  person meowgoesthedog    schedule 09.06.2018
comment
Это помогло бы   -  person matthiaswitt    schedule 11.06.2018
comment
Это наводит меня на мысль о моделировании Boid. Он не предназначен для имитации жидкости, но вы можете попробовать настроить параметры. Кажется, существует как минимум одна реализация openframeworks.   -  person Gabriel Devillers    schedule 20.06.2018