我最近看到一些东西,让我想知道如何创建一个逼真的 (2D) lava lamp -类似动画,用于屏幕保护程序或游戏。
当然可以使用偏微分方程对熔岩灯的物理原理进行建模,并将其转换为代码。然而,这可能非常困难(由于几个因素,尤其是蜡“ Blob ”几何结构固有的不规则性和大量变量),而且计算成本可能太高,无法用实时。
分析解决方案(如果可以找到)同样毫无用处,因为您希望动画具有一定程度的随机性(或随机性)。
所以,问题是,任何人都可以想到一种方法,可以让您在典型的桌面上实时(例如 10-30 FPS)制作逼真的熔岩灯动画/笔记本电脑,没有对物理进行任何详细的建模?换句话说,有没有办法“作弊”?
最佳答案
一种作弊方法可能是使用概率 cellular automaton使用精心选择的转换表来模拟 Blob 的运动。一些流行的屏幕保护程序(特别是 ParticleFire)使用这种方法来优雅地模拟 2D 空间中的复杂运动,方法是将对象分解为单个像素,然后通过查看其邻居的状态来定义单个像素过渡的方式。您可以使用简单的元胞自动机获得一些非常紧急的行为 - 看看 Conway's game of life ,例如,或者这个 simulation of a forest fire .
关于graphics - 创建类似熔岩灯的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4833516/