在2D地图上生成区域
我最近发现了这篇博文(以及它的两位接班人),我认为它与您正在寻找的内容非常接近。
http://simblob.blogspot.com/2010/09/polygon-map-generation-part-1.html
他用他的方法来创建逼真的风景,但希望你能看到的方式来使用组区域相同的技术进入可信区域。
有趣!谢谢 :) – 2010-09-29 15:03:54
我会使用脚本/可编程CAD或矢量插图包手工绘制形状,然后使用自定义脚本将数据处理为自定义数据文件或直接转换为源代码。实际上,在过去,我已经做了很多次(通常用于生成用于从CAD线条图创建GraphicsPath对象的VB.NET代码)。
你能更具体吗?这些地区需要什么样的格式?你有什么样的数据?
我的问题更多地是如何使用生成方法(这是一种算法)创建可能适用于国家/地区边界的2D平面的划分。 – 2010-09-26 20:19:36
一个可能的(和部分)解决方案是在随机点之间进行大量路径检查。很多路径分组的区域表示一个堵塞点,这是“旅行者”必须经过的物理位置。这些观点很适合用作国家间的分隔符。
纪尧姆
我最近碰到a link覆盖生成3D景观来了。你可能会在那里找到一些想法。基本要点似乎是使用1/f
随机噪声;只是看了一下这些照片,这似乎比Voronoi图的方法更实际(我假设你试图产生任意的“国家”轮廓,而不是试图追踪任何真实世界的数据)。
MartinKällman的想法似乎是最好的办法,因为你没有天然的地形来定义一些边界。在您的边界内生成随机点,然后将Voronoi移入国界。我可能会更进一步,比所需的国家多得多点,然后合并几个相邻的单元格以使一些产生的区域凹入。您可以使用类似于随机Kruskal的算法来执行合并(将所有国家,合并两个相邻的国家,重复,直到您有所需的总数)。我无法得到Kylotan的链接,但它可能会描述合并Voronoi生成的单元格的更好方法。
你有什么数据?它只是一张平面地图,或者你也有地形信息?海洋?山? – ybungalobill 2010-09-26 21:04:28
只是一个平面的2D平面/地图 – 2010-09-26 21:32:21