在有限的空间内生成已知数量的非重叠固定半径圆的最佳方法是什么?
答案 0 :(得分:3)
如果您只想在尽可能小的区域内使用圈数,请使用hexagonal close packing。
答案 1 :(得分:3)
使用最少剩余空间执行此操作的方法是将圆的中心放在六边形网格上,就像您制作金字塔金字塔时所获得的模式一样。
答案 2 :(得分:3)
请参阅维基百科上的Circle packing theorem
答案 3 :(得分:2)
您可以将屏幕拆分为网格,并在每个“方形”中绘制一个圆圈:)
答案 4 :(得分:1)
我认为您的问题没有明确规定。对世代的任何限制?
这是针对固定半径的非重叠圆的随机集合的拒绝算法:
编辑:更仔细地阅读问题,指定半径......
答案 5 :(得分:0)
这取决于空间的形状以及您未指定的圆圈性质的其他限制。例如,要在高度为Y且长度为X的矩形中生成N个非重叠圆,让每个圆的直径为X / 10 * N或Y / 10 * N,取较小者,并使每个中心间隔开均匀地在划分矩形的水平线上,跨越其长度的一半。