生成区域地图(例如风险)是否存在一种微不足道或至少是中等直接的方式?

我已经看过去了,我能找到的最好的是对Voronoi图的模糊引用。 Voronoi图的一个例子是:

这里

这些有希望,但我想我还没有看到任何直接的渲染方式,更不用说将它们保存在某种形式的数据结构中,将每个领域视为一个对象。

另一种有希望的方法是填充洪水,但我不确定从这种方法开始的最佳方式。

任何建议将不胜感激。

===============>>#1 票数:7 已采纳

我在他们身上看到的最好的参考是计算几何:算法和应用 ,它涵盖了Voronoi图,Delaunay三角剖分(类似于Voronoi图,每个都可以转换成另一个),以及其他类似的数据结构。

他们谈论您需要的所有数据结构,但他们没有为您提供实现它所需的代码(这可能是一个很好的练习)。 在代码方面,亚马逊搜索显示了C语言中的计算几何 ,这可能与代码一起提供(虽然因为你被困在C中,你也会想到另一个并用你想要的任何语言实现它)。 我也没有这本书的经验,只有第一本。

抱歉只有推荐的书! 我在他们身上看到的唯一体面的在线资源是维基百科的 两篇文章 ,它们并没有真正告诉你实现细节。 这个链接可能会有所帮助。

===============>>#2 票数:3

为什么不使用基元(三角形,正方形)的地图,分配国家的起点(“首都”),然后通过向国家添加随机相邻基元来随机扩展国家。

===============>>#3 票数:2

CGAL是一个C ++库,具有计算几何中使用的数据结构和算法。

===============>>#4 票数:2

我实际上正在为我公司的视频游戏处理这种东西。 我发现的最有用的信息是这两个链接:

保罗伯克在西澳大学的页面,他1989年关于德劳内的论文和一系列实施链接。

关于psudocode的一个很好的解释和在codeGuru.com上做Delaunay 的视觉效果。

在渲染这些方面 - 我发现的大部分实现都需要按摩来获得你想要的东西,但是因为将它用于游戏地图会导致它们之间有许多点加上线条,它可能会非常简单的事情就是把它画出来。

  ask by Matt Mitchell translate from so

未解决问题?本站智能推荐: