我需要算法思路来在2D空间中生成点,并在点之间定义最小和最大可能距离.
Bassicaly,我想找到一种在填充点的2D空间中插入点的好方法,使点具有随机位置,但也比MINIMUM_DISTANCE_NUM多,并且距离最近点小于MAXIMUM_DISTANCE_NUM.
我需要它用于游戏,所以它应该很快,而不是取决于随机概率.
您可以使用点的二维规则网格(P0,P1,P2,P3,...,P(m * n),当m是该网格的宽度,n是该网格的高度)
每个点都与 1) 一个布尔值相关联,表示该网格点是否被使用,以及 2) 从该网格位置的“移位”以避免过多的规律性。(或者您可以将点+移位坐标放入网格中)
然后,当您需要新点时,只需在网格中随机选择一个未使用的点,将该点声明为“已使用”,然后在游戏中使用点+移位。
根据您的 2D 空间的 n、m、宽度/高度以及您要使用的点数,这可能就很好。