将点放入具有最大最小距离的正方形的算法

时间:2010-04-27 17:50:48

标签: algorithm geometry packing

我坚持这个:有一个正方形。将n个点放入此正方形,这样最小距离(不一定是平均距离)就是最高的。

我正在寻找一种能够在给定计数的情况下生成所有点的坐标的算法。

n = 4; 5; 6:

的示例结果

Example results for n=4;5;6 http://i40.tinypic.com/ohrb44.png

请不要提及基于计算能力的东西,例如尝试很多组合,然后挑剔正确的和类似的想法。

3 个答案:

答案 0 :(得分:10)

这是circles in square打包问题。

作为Unsolved problems in geometry中的问题D1,Hallard T. Croft,Kenneth J. Falconer和Richard K. Guy,第108页讨论。

alt text http://i41.tinypic.com/2s0z8gh.png

第109和110页包含一系列参考文献。

答案 1 :(得分:3)

你可以做一个N body simulation点,其中点可以相互排斥,可能是1 / r ^ 2力。点的移动显然会受到正方形的限制。从大约正方形中心的所有点开始。

答案 2 :(得分:2)

Mikulas,我发现了一个页面,里面装满了可能是最优的,或目前最知名的解决方案的图像示例。这不是我的,所以请自担风险使用它。

查看

http://www.ime.usp.br/~egbirgin/packing/packing_by_nlp/numerical.php?table=csq-mina&title=Packing%20of%20unitary-radius%20circles%20in%20a%20square

<强>来源:

http://www.ime.usp.br/~egbirgin/packing/packing_by_nlp/