【发布时间】:2011-05-14 14:20:50
【问题描述】:
我刚刚提交了一个 Java 作业,其中我需要在屏幕上随机绘制一些圆圈作为游戏的一部分。我们面临的挑战之一是确保没有一个圆圈重叠。我最终采用了一种奇怪的方法(因为我想:D),它基本上只是使用三角函数从屏幕中心创建了一个图案,这很有趣。虽然这种方法中的圆圈从不重叠,但并不理想......圆圈的分布相当紧凑,围绕屏幕中间,角落使用的空间非常小。
我还创建了一种(已注释掉的)蛮力方法,如果提议的圆的 x,y 坐标与已创建的圆相交,则该方法简单地重新滚动新坐标,虽然理论上可以循环到无限,但很可能不会超过 10路口。
在与朋友讨论了解决方案(并在谷歌上进行了大量搜索)之后,我们实际上很想看看如何在没有蛮力的情况下做到这一点。要求:
- 要在 640x480 窗口上绘制 20 个圆,半径为 10 个单位
- 绝对没有圆圈重叠
- 否则在屏幕上随机分布
可能,使用标准库?
【问题讨论】:
标签: java