地图生成 - 雨,风和天气

时间:2013-06-08 05:46:44

标签: java simulation terrain

我正在制作一个世界发电机,它将使用柏林噪声产生地形,并且加权梯度有利于形成泛格形状的岛屿。我已经达到了这样的程度,我可以创建一个世界的温度图,其中较低的海拔更接近赤道,水总是更冷。但我无法接近应对风雨的最佳方法。我想我可以创建一个湿度图,然后以某种方式将其播放到风中。 This video是我灵感的大部分来源。在其他地方,他简要地谈到了无论什么时候风会袭击一座山,它背后的区域都会没有下雨。我对他的风有一个大问题是他如何决定它的方向。

所以基本上我要问的是如何延长我的世界发电机以模拟风,雨和天气?由于雨和天气可以说是一回事,另一个问题是如何根据世界生成湿度图?一旦模拟开始,人们如何处理天气?

这是我的温度图的图片。我想让它不那么连续。

2 个答案:

答案 0 :(得分:3)

我是您在问题中链接到的视频的作者。

我很抱歉,三个月前你问过我没有回复,但我刚刚在Reddit上看到了你的消息。您的帐户似乎已被删除,因此我在此处复制我的回复。

就风向而言,这只是一个简单的模型,所以我作弊并随机挑选了一个角度。随着风和天气的变化“演变”的模拟是我正在研究的,但最大的问题是使它足够快以便使用。

对于风雨,我所做的是模拟一个方形的粒子,所有粒子都是一个像素,并实现为一系列用于风升高的浮子和一系列用于风湿气的浮子。开始时的风湿度设置得相当高,以表示它是在海上运输的潮湿空气。

然后我沿着风向移动云在地图上。当地图的高程(高度)大于风高时,风高度将向上移动到此高程。否则,风的高度会缓慢下降。当世界的高度远小于风的高度时,这个简单的模型可以用作非常简单的气压近似值。我的视频将原始风高度变为蓝色,但您可以将葡萄酒高度和土地高度之间的差异着色,以获得更有趣的效果。

云中的每个点在每个步骤都会失去一些水分,这取决于温度(寒冷地区会有更多的降雨,特别是在山上)。一旦它失去了所有的水分,它就会没有雨水,所以会产生“雨影”,如果温度很高,则以沙漠为代表。你可以通过让风在湖泊或海洋上获得更多的水分来改善这种模式。

找到最佳常数,以确定风粒子在多长时间内失去水分,或者它们最初有多少水分,这只是试验和错误,直到我发现一个看起来很好的组合,并在典型的地图上给了我全方位的地形类型。

希望有所帮助 - 祝你的项目好运!让我知道你是怎么过的。

答案 1 :(得分:1)

风是由气压差引起的。即一些空气将从高压区域移动到邻近的低压区域,以使其均匀。

某个地方的气压受气温,地温,云量,日照量,空气湿度等因素的影响。

还需要考虑多层气氛。

这非常复杂,但至少,你需要模拟气压。

编辑:作为对此问题的介绍,我建议:https://en.wikipedia.org/wiki/Numerical_weather_prediction