【发布时间】:2011-07-05 17:11:48
【问题描述】:
用尽可能多的非重叠形状随机填充空间的最有效方法是什么?在我的具体情况下,我正在用圆圈填充圆圈。我随机放置圆圈,直到外圈的一定百分比被填充或一定数量的放置失败(即放置在与现有圆圈重叠的位置)。这很慢,而且通常会留下空白,除非我允许大量失败。
那么,有没有其他类型的填充算法可以用来快速填充尽可能多的空间,但看起来仍然是随机的?
【问题讨论】:
-
随机是一个很难正确使用的词。你只是想让它看起来杂乱无章吗?你放置的圆圈的大小也一样吗?
-
无序将是我想要的一个很好的描述。这是游戏中地形生成算法的初始阶段,其中每个圆圈都成为一个独特的地形特征。我只是想确保不规则的布局(即不是网格)。
-
圆圈可以有不同的大小。但我不介意听到需要同质形状的算法。
-
这和圆的最大堆积密度有关吗?我相信随机和有效的包装是这个问题的相反设计目标。 mathworld.wolfram.com/CirclePacking.html
-
@Brian Stinar:是的,我明白你的意思。根据定义,最大包装不能有任何随机性。我想要一些非常接近最大包装的东西,但有足够的变化看起来很自然(就像 tskuzzy 建议的那样)。
标签: algorithm