我正在制作一个游戏,产生零散的x点数。所有点都有一个恒定的w半径。
这些要点必须遵循以下规则:
DISTANCE远离任何其他点。你能列出一个有效的算法来执行这一点吗?
我也做这个游戏在斯威夫特雪碧-套件。所以,如果你知道一些雪碧-套件,你可以在你的答案实现它,否则如果你不知道Swift或雪碧-套件,你可以用文字解释。
发布于 2016-05-26 06:23:40
你的两个约束是等价的。这意味着任何两点之间的距离至少必须是max(w, DISTANCE)。
最简单的方法是生成随机点并检查到以前点的最小距离。如果没有满足约束,只需生成一个新的点。您可以使用简单的网格加快距离检查(在网格单元格中放置点,然后只检查可能包含重叠点的单元格)。
https://stackoverflow.com/questions/37451222
复制相似问题