10

我正在尝试在 HTML5 画布上编写流体动力学模拟器。我在互联网上发现了一些非常酷的东西,它们看起来总是很有希望的起点,但它们都是基于细胞的,并且使用了一些疯狂的数学。

我希望能够添加任意障碍物(任何方向的线、圆圈等)以使事情变得更有趣,但我不知道从哪里开始。

有谁知道一些相当简单的流体模拟方程,包括任何方向的障碍物?或者,有人可以指出我采取上述示例之一并添加障碍所需的数学吗?

我知道这个问题与我应该问 mathoverflow 的问题有关,但它们似乎更多地涉及理论内容。抱歉,如果我在错误的区域。我真的不知道从哪里开始——如果有人以前用任意障碍进行流体模拟,我可以使用一些指针。

在这里,准确性让位于简单性。

谢谢!

4

5 回答 5

13

流体动力学不是一个简单的话题。他们在其他站点喜欢的所有“理论”正是这个领域的运作方式。

流体流动的最简单示例是二维、不可压缩、无旋、层流。我会先调查一下。

但这不是一个容易的领域。那里没有“在十天内自学计算流体动力学”的书。

于 2011-02-04T02:35:57.800 回答
8

介绍面向图形的流体模拟的最佳书籍是 Robert Bridson 的“计算机图形学的流体模拟”(免责声明:他是我的博士生导师)。 http://www.cs.ubc.ca/~rbridson/fluidbook/

最终,其中涉及大量数学,但也有大量代码示例来为不太喜欢数学的人澄清事情。

它主要涵盖您提到的基于单元的方法。另一个主要替代方案是“平滑粒子流体动力学”或 SPH。如果您想开始,Matthias Muller 有一些关于此的论文。

于 2011-03-12T18:13:04.957 回答
3

如果您不关心真正的准确性,而只是想要一些时髦和酷的东西,我开发了一个非常简单的基于压力的模拟,它在 Javascript 中提供了一个非常快速的交互式界面。你可以在这里看到它。

于 2011-11-28T20:57:33.577 回答
3

这是您需要了解的有关流体动力学和模拟的所有内容的相当不错的列表: http ://www.dgp.toronto.edu/~stam/reality/Research/pub.html

您还应该查看这个站点,在那里您可以找到用 Java 编写并传输到 Actionscript3 的具体源代码。它有很好的文档记录,因此传输到 Javascript 应该不是问题。

于 2012-04-12T07:23:28.957 回答
0

我已经尝试过了,只是为了让您知道,任何类型的流体模拟都有一个重要部分,称为 Projection,即使在 CPU 上它的计算量也很大,而且您可能很清楚 Javascript 的速度很慢,原因有很多。

于 2011-05-20T18:19:58.133 回答