二维矩阵上的均匀分布算法

问题描述 投票:0回答:1

这是我的问题:

我有一个 int[,] 对象(一个二维整数数组),其中充满了大小为 N^2 的 0。这是我游戏地图的基础。M

现在我需要使用这个数组并使用以下参数:

separationDistance
numberOfIslands
,我需要将
numberOfIslands
的1个数放在数组中的伪随机索引处,以便:

  1. 每个 1 与任何其他 1 至少
    separationDistance
    距离,并且
  2. 所有 1 均匀分布在整个数组中。

0 代表水,1 代表每个岛屿的“锚”。

有谁知道适用于此的算法吗?

最初我认为柏林噪声算法将是完成这项工作的完美工具,但当我拿到票并实际开始工作时,我很快意识到这根本不是我现阶段所需要的。

matrix random grid generator world-map
1个回答
0
投票

对于任何有同样问题的人;我发现以下算法似乎正是我正在寻找的:

  • 泊松盘采样算法
  • 布里德森算法
© www.soinside.com 2019 - 2024. All rights reserved.