我想知道如何在Python中创建一些没有重叠的圆圈。
让我分享一下我的剧本
在第55,56和57行中,我打印出坐标,见证了重叠。在每个for语句中,我认为我避免了重叠做了像二分法(root查找方法)这样的事情。
源代码适用于5或6个空洞,但当增加空隙数时,我会重叠。
答案 0 :(得分:2)
您的最大半径为B = 10。因此,假设您希望以最大半径分隔的点,您可以使用Poisson disk algorithm对这些点进行采样。
然后,有了采样中心,在每个中心周围绘制随机半径,它们不会重叠,因为所有半径都小于最大值。