以下流体模拟是对paperbyStam的翻译.真正可怕的事情发生了。每次程序以较低的DIFF=0.01运行时,值开始时很小,然后迅速扩大,或“膨胀”。我仔细检查了数学例程。由于代码以一个0.5开始,从数学上讲它是乘以和添加一堆零,因此最终结果应该接近零密度和其他vector。代码很长,所以我把它分成block并删除了多余的代码。减去所有开头和SDL代码,只有大约120行。我花了几个小时尝试更改但无济于事,因此非常感谢您的帮助。经过一些实验后,我相信当DIFF设置得太低时可能会出现一些浮点错误。当值从0.01增加到0.02时,值不会爆炸。不过,我认为这不是全部问题。需要明确的是,1201