iPhone流体模拟

时间:2009-11-23 17:36:02

标签: iphone fluid

有人知道iphone的流体引擎吗?我需要水和气体模拟。

3 个答案:

答案 0 :(得分:12)

模拟流体对于现代台式计算机来说是一个巨大的挑战,因此我不希望在尝试在移动设备上运行时获得最佳性能。在iPhone上运行完整的Navier-Stokes计算可能会非常糟糕。

然而,在过去,我能够使用lattice gas automata在有限的硬件上执行二维流体建模模拟。使用晶格气体自动机,您可以将流体近似为精细的六边形网格,其中粒子可以在六个方向中的一个方向上行进并遵守特定的碰撞规则。这种方法存在一些局限性(由Lattice Boltzmann方法解决),但它可以很好地模拟流体,甚至包括空气等可压缩流体。为什么这在有限的硬件上运行良好,这些计算可以使用按位运算符和简单的查找表来完成,而无需任何浮点计算。你可能可以在iPhone的处理器上做这样的工作。有关此技术的更多信息,您可以参考我的Ph.D. dissertation的附录A,其中我将解释该过程并获得我编写的流体建模器的源代码。

也就是说,如果您想要做的只是在您的应用程序中模仿水的外观,以下问题的答案提供了一些很好的建议:

答案 1 :(得分:6)

我刚刚发布了一款iPhone流体模拟器,它在单元格方法中使用了可压缩粒子。我在这里有一个视频:http://www.youtube.com/watch?v=-CCeeh8EzuA

不可压缩流体模拟器需要多次迭代,因此我使用可压缩模拟器。好的方面是,如果你能够使压缩模拟器足够稳定,它通常看起来不可压缩。

我的应用在应用商店中被称为GFlow,如果你想看到它的实际效果。

答案 2 :(得分:4)

我发布了两个iPhone应用程序。一个应用程序解决了Navier Stokes方程:

http://itunes.apple.com/us/app/fluid-dynamics/id382274493?mt=8

另一个在细胞方法中使用可压缩粒子:

http://itunes.apple.com/us/app/liquid-dynamics/id417814216?mt=8&ls=1

这里使用的方法说明如下:

http://www.infi.nl/blog/view/id/71/Navier_Stokes_iPhone_vs_iPad

在这里:

http://www.infi.nl/blog/view/id/98/Liquid_on_iPhone_and_iPad