我正在尝试锻炼如何有效地计算动态/随机视图的布局。
该视图将包含许多圆圈。每个圆圈都有预定的大小。这些尺寸都在给定的最大和最小尺寸之间。
我正在尝试找到一种有效的方法来在具有几个条件的矩形内布置圆圈。
圆圈不能与矩形的边缘重叠,并且圆圈之间必须有最小的“间距”。
我想出的第一个方法是随机生成坐标对并放置最大的圆。然后随机生成更多的坐标对,直到为下一个圆圈生成合适的坐标对。下一个,下一个,以此类推,直到全部画完。
这样做的问题是它可能需要很长时间才能完成。随后的每个圆圈都需要更长的时间来放置,因为它可以去的地方更少。
另一个问题是布局视图可能是不可能的。
我确信必须有更有效的方法来做到这一点,但我不知道从哪里开始。