Answers:
早在1990年代末我尝试这种类型的东西时,我读了一些论文和书籍来了解水的流动,但是我没有记录看过哪些东西。我最终做了自己的事,因为我想处理侵蚀。我希望河流产生峡谷和洪泛区。我希望大坝水库中充满泥沙。我希望河流产生蜿蜒曲折的湖水和牛弓湖。我想要运河进行灌溉和引水。我希望洪水能破坏平原上的农场和房屋。
我在此页面的“地理位置”部分保留了一些注释(链接)。有一篇必须读的Jos Stam论文。不幸的是,我从未整理过笔记。同样不幸的是,该游戏是针对OS / 2的,因此我无法轻松地为您提供可运行的可执行文件。同样不幸的是,我的代码很糟糕,但是如果您想看一看,请参见源代码(zip)中的water.cpp。
我在模拟中玩过的事情(并非全部是现实的):
总的来说,我的经验是,所有这些都非常有趣,但是要使其发挥作用,需要进行大量的试探和调整。我从来没有说过,如果不进行调整,河流的创造就自然而不可避免。(无论是作为程序员还是作为玩家)这是如此的有趣,以至于我花了很多年时间,却没有完成游戏的其余部分。:)
我见过的大多数实现都是结合“河图”(使用来自Perlin噪声的窄带或类似方法)或您提到的“雨滴”方法。
以下是一些出发点: