【发布时间】:2010-12-19 13:50:07
【问题描述】:
有人知道 iPhone 的流体引擎吗?我需要水和气体模拟。
【问题讨论】:
标签: iphone physics fluid-dynamics
有人知道 iPhone 的流体引擎吗?我需要水和气体模拟。
【问题讨论】:
标签: iphone physics fluid-dynamics
模拟流体对于现代台式计算机来说是一个巨大的挑战,因此我不希望在移动设备上运行它时获得最佳性能。在 iPhone 上运行完整的 Navier-Stokes 计算可能会非常糟糕。
但是,过去我能够使用 lattice gas automata 在有限的硬件上执行二维流体建模模拟。使用晶格气体自动机,您可以将流体近似为精细的六边形网格,其中粒子可以沿六个方向之一行进并遵守特定的碰撞规则。这种方法有一些限制(由格子玻尔兹曼方法解决),但它可以很好地模拟流体,甚至包括像空气这样的可压缩流体。为什么这在有限的硬件上运行良好是因为这些计算可以使用按位运算符和简单的查找表来完成,而不需要任何浮点计算。你也许可以在 iPhone 的处理器上做这样的事情。有关此技术的更多信息,您可以查阅我的Ph.D. dissertation 的附录 A,我在其中解释了该过程并提供了我编写的流体建模器的源代码。
也就是说,如果您只想在应用程序中模仿水的外观,那么以下问题的答案提供了一些很好的建议:
【讨论】:
我刚刚发布了一个 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
【讨论】: