iPhone 流体模拟

8
有人知道iPhone上的流体引擎吗?我需要水和气体模拟。
3个回答

13

在现代桌面计算机中模拟流体是一项巨大的挑战,因此我不认为在移动设备上实现这个目标时能够获得最佳性能。在iPhone上运行完整的Navier-Stokes计算可能会非常慢。

然而,在过去,我曾经使用晶格气自动机在有限的硬件上执行二维流体建模模拟。使用晶格气自动机,您将流体近似为一个精细的六边形网格,其中粒子可以沿着六个方向移动并遵守特定的碰撞规则。这种方法存在一些限制(由Lattice Boltzmann Method解决),但它可以非常好地模拟流体,甚至包括像空气这样的可压缩流体。这种方法在有限的硬件上能够良好地工作的原因是,这些计算可以使用位运算和简单的查找表进行,无需进行任何浮点运算。您可能能够使类似这样的东西在iPhone的处理器上运行。要了解更多关于这种技术的信息,您可以咨询我的博士论文附录A,我在那里解释了该过程并提供了我编写的流体模型器的源代码。

尽管如此,如果您只想在应用程序中模仿水的外观,则以下问题的答案提供了一些好的建议:


Autodesk Fluid是应用商店上的免费高性能流体模拟软件。我不知道他们是如何做到的,但显然是有可能的。 - willc2
1
我猜这只是Jos Stam的稳定流体算法用于气体模拟。对于低分辨率2D网格来说,速度相当快。 http://www.dgp.toronto.edu/people/stam/reality/Research/pdf/GDC03.pdf - batty
iPhone的硬件实际上并不那么有限。它具有硬件浮点运算(每个周期2个flops)和一个相当快的总线来服务它。虽然比高端桌面硬件慢,但轻松胜任适度规模的小型仿真。 - Stephen Canon
+1 从PDF文件中转录您的代码非常困难,您是否将代码发布在公共存储库上或者有一个zip文件可提供。 - rraallvv
1
@rraallvv - 必须挖了一会儿,但这是附录中使用的源代码:http://sunsetlakesoftware.com/sites/default/files/LatticeGasSource.zip。它不是完整的项目,而且很难让它在现代系统上编译,但它应该比PDF更容易查看。我正在努力将其现代化并将其放置在GPUImage的着色器中,但从未完成。我应该回到那里。 - Brad Larson

6
我刚刚发布了一款使用可压缩粒子-网格方法的iPhone流体模拟器。这里有一个视频:http://www.youtube.com/watch?v=-CCeeh8EzuA 不同于需要多次迭代的不可压缩流体模拟器,我使用了可压缩模拟器。好处是如果你能让一个可压缩的模拟器足够稳定,通常看起来就足够像不可压缩的流体。
我的应用程序在应用商店中名为 GFlow。如果您想看到它的实际效果,请前往该应用商店。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接