Создание анимации в виде лавы - PullRequest
3 голосов
/ 29 января 2011

Недавно я увидел кое-что, что заставило меня задуматься о том, как создать реалистичную (2D) лавовую лампу -подобную анимацию для заставки или игры.

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

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

Итак, вопросможет ли кто-нибудь придумать подход, который позволил бы вам анимировать реалистично выглядящую лавовую лампу в режиме реального времени (скажем, 10-30 FPS), на типичном настольном компьютере / ноутбуке, без моделирования физикив любой большой детали?Другими словами, есть ли способ «обмануть»?

Ответы [ 2 ]

6 голосов
/ 29 января 2011

Одним из способов обмана может быть использование вероятностного клеточного автомата с хорошо подобранной таблицей переходов для имитации движения капель.Некоторые популярные заставки (в частности ParticleFire) используют этот подход для элегантного моделирования сложных движений в 2D-пространстве, разбивая объекты на отдельные пиксели, а затем определяя пути перехода отдельных пикселей, просматривая состояния своих соседей.Вы можете получить довольно эмерджентное поведение с простыми клеточными автоматами - посмотрите, например, Игра жизни Конвея или это симуляция лесного пожара .

4 голосов
/ 29 января 2011

LavaLite с открытым исходным кодом. Вы можете получить код с пакетом xscreensaver-gl в большинстве дистрибутивов Linux. Он использует метаболы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...