有人知道 iPhone 的流体引擎吗?我需要水和气体模拟。
3 回答
模拟流体对于现代台式电脑来说是一个巨大的挑战,所以当我试图让它在移动设备上运行时,我不会期望有最好的性能。在 iPhone 上运行完整的 Navier-Stokes 计算可能会非常糟糕。
然而,在过去,我能够使用晶格气体自动机在有限的硬件上执行二维流体建模模拟。使用晶格气体自动机,您可以将流体近似为精细的六边形网格,其中粒子可以沿六个方向之一行进并遵守特定的碰撞规则。这种方法有一些限制(由格子玻尔兹曼方法解决),但它可以很好地模拟流体,甚至包括像空气这样的可压缩流体。为什么这在有限的硬件上运行良好是因为这些计算可以使用按位运算符和简单的查找表来完成,而不需要任何浮点计算。你也许可以在 iPhone 的处理器上做这样的事情。有关此技术的更多信息,您可以参考我的附录 A博士 dissertation,我在其中解释了该过程并为我编写的流体建模器提供了源代码。
也就是说,如果您只想在应用程序中模拟水的外观,那么以下问题的答案提供了一些很好的建议:
我刚刚发布了一个 iPhone 流体模拟器,它使用细胞中的可压缩粒子方法。我在这里有一个视频:http ://www.youtube.com/watch?v=-CCeeh8EzuA
不可压缩流体模拟器需要多次迭代,所以我使用可压缩模拟器。好消息是,如果您可以使可压缩模拟器足够稳定,它通常看起来就足够不可压缩。
我的应用程序在应用程序商店中称为 GFlow,如果您想查看它的实际效果。
我已经发布了两个 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