有没有为2D地图生成区域的好方法?假设您有一张世界地图,并希望创建具有某种逼真外观的国家或省界。
答案 0 :(得分:6)
我最近发现了这篇博文(及其两个继承者),我认为它与您正在寻找的内容非常接近。
http://simblob.blogspot.com/2010/09/polygon-map-generation-part-1.html
他正在使用他的方法创造逼真的风景,但希望你能看到使用相同技术将区域划分为可信区域的方法。
答案 1 :(得分:2)
使用Voroni diagram进行细分是一种方法,虽然形状可以非常不规则,但不太现实。
答案 2 :(得分:2)
MartinKällman的想法似乎是最好的方法,因为你没有自然地形来定义一些边界。在您的边界内生成随机点,然后将Voronoi生成到国家边界。我可能会更进一步,比期望的国家更多的点,然后合并几个相邻的单元格,使一些结果区域凹陷。您可以使用类似于随机Kruskal的算法来执行合并(将所有国家/地区合并,合并两个相邻的国家/地区,重复直至获得所需的总数)。我无法找到Kylotan的链接,但它可能描述了合并Voronoi生成的单元格的更好方法。
答案 3 :(得分:1)
我使用可编写脚本/可编程的CAD或矢量插图包手工绘制形状,然后使用自定义脚本将数据处理为自定义数据文件或直接处理为源代码。实际上我过去曾多次这样做过(通常用于生成用于从CAD线图创建GraphicsPath对象的VB.NET代码)。
你可以更具体一点吗?这些地区需要采用何种格式?你已经拥有什么样的数据?答案 4 :(得分:1)
我最近遇到了a link,其中包括生成3D景观。你可能会在那里找到一些想法。基本要点似乎是使用1/f
随机噪音;只是看一下图片,这看起来比Voronoi图表方法更真实(我假设你试图生成任意“国家”轮廓,而不是试图跟踪任何现实世界的数据)。
答案 5 :(得分:0)
一种可能(和部分)解决方案是在随机点之间进行大量路径检查。许多路径被分组的区域表示阻塞点,即“旅行者”必须经历的物理区域。这些点可以用作国家之间的分隔符。
纪尧姆