创造一个类似熔岩灯的动画

时间:2011-01-28 22:04:47

标签: graphics animation

我最近看到的东西让我想知道如何为屏幕保护程序或游戏创建逼真的(2D)lava lamp类动画。

当然可以使用偏微分方程对熔岩灯的物理进行建模,并将其转化为代码。然而,这可能是非常困难的(因为有几个因素,其中最重要的是蜡的“斑点”的几何形状的固有不规则性和大量的变量)并且可能在计算上太昂贵而无法计算实时。

分析解决方案,如果可以找到,也同样没用,因为你想在动画中有一定程度的随机性(或随机性)。

所以,问题是,任何人都可以想到一种方法,可以让你在典型的桌面上实时(例如10-30 FPS)动画逼真的熔岩灯/笔记本电脑,没有任何细节建模物理?换句话说,有没有办法“欺骗”?

2 个答案:

答案 0 :(得分:6)

作弊的一种方法可能是使用具有精心选择的转换表的概率cellular automaton来模拟斑点的运动。一些流行的屏幕保护程序(特别是ParticleFire)使用这种方法通过将对象分解为单个像素然后通过查看其邻居的状态来定义各个像素转换的方式来优雅地模拟2D空间中的复杂运动。您可以使用简单的细胞自动机获得一些非常紧急的行为 - 例如,查看Conway's game of lifesimulation of a forest fire

答案 1 :(得分:4)

LavaLite是开源的。您可以在大多数Linux发行版中使用xscreensaver-gl包获取代码。它使用metaballs