在有限的空间中生成已知数量的非重叠固定半径圆的最佳方式是什么?如何在固定区域生成不重叠的圆圈?
0
A
回答
3
用最少的剩余空间做到这一点的方法是将圆心置于六边形网格上,就像您制作金字塔金字塔时所获得的图案一样。
2
你可以把屏幕分割为一个网格,并绘制在每个“方”了一圈:)
3
如果你只是想在一个小范围内尽可能多的圈,使用hexagonal close packing。
3
见Circle packing theorem在维基百科上
0
这将取决于空间和其他限制的圈子里,你没有指定的自然形状。例如,要在高度为Y和长度为X的矩形中生成N个非重叠圆,请将每个圆的直径设为X/10 * N或Y/10 * N中的较小者,并让每个中心间隔一段距离均匀地分布在划分矩形的水平线上,跨越其长度的一半。
1
我不认为你的问题是明确的。对世代有什么限制?
下面是固定半径的非重叠的圆随机收集丢弃算法:
- 维持各界的列表
- 通过
- 生成候选生成随机中心允许区域
- 测试列表中的每个现有圆以与候选人发生碰撞,并拒绝是否发现任何碰撞。如果全部通过,请将此候选人添加到您的列表中。
- 转到#1,直到你满意的数量产生
编辑:阅读问题更加紧密,半径指定...
相关问题
- 1. MATLAB:区域重叠的圆圈
- 2. 由重叠圆圈构成的区域和周长
- 3. SVG或Canvas:2个圆圈的填充/阴影重叠区域
- 4. 如何在半径增加时在CLLocationManager中绘制区域的固定圆圈
- 5. 保持重叠的圆圈
- 6. 如何让生成的圈子在html5中不重叠?
- 7. 如何加入重叠圆圈?
- 8. 在两个重叠的椭圆形状区域内生成随机点
- 9. 在MATLAB中删除重叠的圆圈
- 10. 如何在Google Maps API中将不同的颜色应用于圆圈的重叠区域
- 11. android - 如何定义一个圆圈内的可触摸区域
- 12. css重叠的圆圈和文本框
- 13. 防止拖动圆圈重叠
- 14. 如何计算并在矩形区域上放置圆圈?
- 15. ScrollMagic:当它与固定区域重叠时隐藏内容
- 16. 如何生成不同尺寸的圆圈图像?
- 17. 在android中生成随机圆圈
- 18. 我如何生成特定给定区域之间不重叠的随机对象?
- 19. 查找重叠区域和非重叠区域
- 20. 圆圈图像叠加
- 21. 如何用尽可能小的圆形区域围绕文字制作圆圈?
- 22. 我如何围绕一个固定的圆圈拖动圈 - d3.js
- 23. 如何计算重叠区域?
- 24. 如何切断重叠区域?
- 25. 这个功能为什么不检测重叠的圆圈?
- 26. 如何将图片拖动到andEngine中的特定圆圈区域
- 27. 检测图像中的重叠椭圆区域(MATLAB)
- 28. Matlab:如何在具有特定半径的圆中生成非均匀且非重叠的圆/矩形
- 29. OpenCV确定相交/重叠区域
- 30. 使用Javascript生成随机圆圈
你应该更具体。这个圈子的分布是一个问题吗?是否应该覆盖大部分表面?最简单的方法是从x = r,y = r开始,对于半径为r的圆,并逐行放置它们,直到其中有足够多的... – 2009-02-06 21:05:00