Wod*_*dzu 14 2d generator terrain
我正在寻找一些允许我生成逼真的2D地形图的算法.通过现实我的意思是,这个人会将这样的地图视为"普通"地形图,而不是人工创建的.我不想创建逼真的地图.只是类似于可以在地理地图集中查看的地图.
到目前为止,我正在使用perlin噪音进行高度测绘,然后我会添加湖泊,河流,山脉,沼泽等.您可以在下面的图片中查看它的外观:
地形图http://www.freeimagehosting.net/uploads/1f1e9372bf.png
我对它不满意.这是不现实的,但我不能自己找出更好的东西.时间不是问题所以算法可能是繁重的计算.
谢谢你的时间.
编辑后:
我想我找到了一篇可以提供帮助的文章:http://portal.acm.org/citation.cfm?id = 1255047.1255077
然而,它不能免费获得,所以我仍然在寻找答案或想法.
我以前玩过地形.假设目标是位图,我找到了一种方法来制作像河流一样的东西,并且通常会让它看起来更好:侵蚀.
一旦你通过其他手段生成的地形侵蚀了一下:你需要以像素高度表示的世界.在地图上取一个点并将一个高度单位移动到最低邻居.将光标移动到该邻居并重复直到它不移动.重复其他像素.
使河流数量计算您通过位置移动位的次数.最受打击的地方是河流.
跟进:我没有像每个像素一样大量蚀刻任何像素,直到风化得足够多.实际上侵蚀它们的原因是它带有位并填充空洞.没有它,就没有河流,因为会有流动的陷阱 - 流动的像素填充任何小孔并形成工作水道.
对不起,我不能提供任何样品,这是很多年前的,而旧的代码可能在某个地方,我不知道在哪里看.
地形是由无数不同的原因在许多不同的时间尺度上形成的。为了真正创建真实的地形,您必须模拟这些地形。
从“短期”来看,水圈决定了大部分特征。您可以从包含主要特征(山脉等)的体素/粒子/高度图/网格地形开始,并将其视为不可变的,然后使用大量的水模拟对其进行后处理。您需要计算河流和湖泊的位置、它们如何侵蚀基础景观以及它们在哪里形成沉积物。如果我必须编写这个代码,我可能会从 3D 体素世界开始。
这将是一项艰巨的任务,我确信有很多技巧可用于生成需要几毫秒而不是几分钟的特定地形类型。您想要创建什么样的地形?多山?低地?工业化?森林?沙漠?群岛?
长话短说:如果你想要人类(毕竟,他们往往是这类事情的专家)看起来逼真的地形,你必须通过模拟实际的地质过程来创建它。