【问题标题】:Map generation - Rain, Wind, and Weather地图生成 - 雨、风和天气
【发布时间】:2013-06-04 11:51:20
【问题描述】:

我正在制作一个世界生成器,它将使用柏林噪声和有利于形成盘状岛屿的加权梯度来生成地形。我已经到了可以创建世界温度图的地步,其中靠近赤道的低海拔地区更受青睐,水总是更冷。但我无法找到应对风雨的最佳方式。我想我可以创建一个湿度图,然后以某种方式将其播放到风中。 This video 是我大部分灵感的来源。在其他地方,他简要地谈到了每当风吹到一座山上时,它后面的区域就会没有下雨。我对他的风的一个大问题是他如何确定风的方向。

所以基本上我要问的是如何扩展我的世界生成器来模拟风、雨和天气?由于雨和天气可以说是一回事,因此出现的另一个问题是如何根据世界生成湿度图?模拟开始后,如何处理天气?

这是我的温度图的图片。我正在考虑让它不那么连续。

【问题讨论】:

    标签: java simulation terrain


    【解决方案1】:

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

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

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

    对于风和雨,我所做的是模拟一个正方形的粒子,所有粒子相隔一个像素,并实现为一组用于风高程的浮子和一组用于风湿的浮子。开始时的风湿度设置得相当高,以表示它是潮湿的空气携带在海面上的事实。

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

    云中的每个点都会根据温度在每个步骤中损失一些水分(寒冷地区会损失更多的雨水,尤其是在山区)。一旦它失去了所有的水分,它就没有雨了,所以会出现“雨影”,如果温度很高,就会出现沙漠。您可以通过让风在湖泊或海洋上空获得更多水分来改进此模型。

    找到关于风粒子失去水分的速度或它们最初具有多少水分的最佳常数只是反复试验,直到我找到了一个看起来不错的组合,并在典型地图上为我提供了各种地形类型。

    希望对您有所帮助——祝您的项目好运!让我知道你的进展情况。

    【讨论】:

      【解决方案2】:

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

      一个位置的气压受气温、地温、云量、日照量、空气湿度等多种因素的影响。

      还需要考虑多层大气。

      这很复杂,但至少需要模拟气压。

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

      【讨论】:

      • 感谢您的回复!是否有可能您可以更多地模拟气压?或者至少给我指明纸或书的方向?
      • 我也很想了解更多关于大气水平以及模拟它需要考虑的因素。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-13
      • 2014-06-10
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      • 2013-06-14
      相关资源
      最近更新 更多