【问题标题】:iPhone fluid simulationiPhone流体模拟
【发布时间】:2010-12-19 13:50:07
【问题描述】:

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

【问题讨论】:

    标签: iphone physics fluid-dynamics


    【解决方案1】:

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

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

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

    【讨论】:

    • Autodesk Fluid 是应用商店中免费的高性能流体模拟。我不知道他们是怎么做到的,但这显然是可能的。
    • 我猜这只是 Jos Stam 用于气体模拟的稳定流体算法。对于低分辨率的 2D 网格,它相当快。 dgp.toronto.edu/people/stam/reality/Research/pdf/GDC03.pdf
    • iPhone 硬件真的没有那么有限。它具有硬件浮点(2 个触发器/周期)和一个相当快的总线来服务它。它比高端桌面硬件慢,但很容易在适度的网格上进行小规模模拟。
    • +1 从 PDF 文件转录您的代码非常困难,您是在公共存储库上发布代码还是有一个 zip 文件。
    • @rraallvv - 不得不挖掘一下,但这是该附录中使用的来源:sunsetlakesoftware.com/sites/default/files/LatticeGasSource.zip。这不是一个完整的项目,祝它在现代系统上编译好运,但看起来应该比 PDF 更容易。我正在努力对其进行现代化改造并将其放置在 GPUImage 的着色器中,但从未完成。我应该回到那个。
    【解决方案2】:

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

    不可压缩流体模拟器需要多次迭代,因此我使用可压缩模拟器。好消息是,如果您可以使可压缩模拟器足够稳定,它通常看起来就足够不可压缩了。

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

    【讨论】:

      【解决方案3】:

      我已经发布了两个 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

      【讨论】:

        猜你喜欢
        • 2014-05-24
        • 2012-02-03
        • 1970-01-01
        • 2016-03-01
        • 2016-04-02
        • 2010-09-30
        • 2011-12-24
        • 1970-01-01
        • 2011-10-21
        相关资源
        最近更新 更多