如何随机放置2D小行星,使它们不相互重叠?

rot*_*rcz 3 c# java 2d vector

生成彼此不重叠的2D小行星(自上而下)的好方法是什么?如果您能提供类似于C#或JAVA的任何语言的代码,我会感激不尽.

CAb*_*ott 7

我相信你所寻找的是2D Collision Detection.这是一篇关于它的好文章,带有工作示例代码.

编辑:根据您所描述的内容,如果您将每个小行星表示为矩形,那么您只需检查交点:

  1. 生成一个表示为矩形的小行星.
  2. 检查现有小行星列表,看它是否相交.
  3. 如果它相交,请转到1,否则将其添加到列表中.

显然这并不完美,因为可能存在允许重叠的角落,但这将是一种相当快速的方式来产生你想要的东西(取决于你想要放置多少小行星).

编辑2:如果您只想要检查矩形重叠的代码,可以在此处找到.