如何在Python中创建一个随机的圆圈阵列,而不重叠?

时间:2018-01-07 23:19:53

标签: python python-3.x random

我想知道如何在Python中创建一些没有重叠的圆圈。

让我分享一下我的剧本 A screenshot, describing the source code.

在第55,56和57行中,我打印出坐标,见证了重叠。在每个for语句中,我认为我避免了重叠做了像二分法(root查找方法)这样的事情。

源代码适用于5或6个空洞,但当增加空隙数时,我会重叠。

1 个答案:

答案 0 :(得分:2)

您的最大半径为B = 10。因此,假设您希望以最大半径分隔的点,您可以使用Poisson disk algorithm对这些点进行采样。

然后,有了采样中心,在每个中心周围绘制随机半径,它们不会重叠,因为所有半径都小于最大值。