环绕 Voronoi 图

Wrapping Voronoi Diagram

我正在使用 Voronoi 图的单元格来确定地形来创建程序生成的奇幻风格地图。

在构造板块生成过程中,我意识到在生成过程中包裹边缘以防止板块向地图边缘扩散非常重要。在随后的种子上,没有边界环绕,地图的逻辑超出了 window.

构造板块:没有环绕,板块边界用黑点表示...

确定板块的一部分是将世界面积的 70% 确定为 "oceanic",将另外 30% 确定为 "continental"。

基本上:
地图的边界不必环绕,只要它们可以按主题合并即可。

我考虑过在边缘周围添加预定义的统一点并强制 link 将它们相互连接,但必须有更好的方法。我去掉了边界点,因为它们 link 与我正在使用的图书馆中的邻居相处得不好。

Library I'm using

My code repository 具体来说,makePoints() 函数 @line 236

我正在使用 泊松磁盘采样 来生成点。我在 AS3 中编程,但我可以接受任何编程语言或伪代码的答案。

问题
如何包装 Voronoi 图,使底部的单元格引用顶部的单元格,左侧的单元格引用右侧的单元格(反之亦然)?

编辑: 期望的结果将是类似于现实世界构造板块之一的图像。看到板块如何重叠在地图的两侧了吗?这就是我想要的,虽然只有 East/West.

为了解决包裹问题(我决定只包裹 left/right 边)我最终做了以下事情:

我开始只填充(使用泊松盘采样)左侧的一条窄带点。然后我将这条带复制到地图最右边的边界之外。然后我在两个条带之间填充了所得的空矩形。

之后,只需确保最右边的边界链接到最左边的点即可。