2

我们提供的控制系统由分布在巨大 2D 坐标系中的模块组成。

我需要一种算法来定位尺寸至少为最小高度和宽度的可用空间。“可用”是指“不包含列表中的任何点”。如果算法可以接受不应与算法返回的任何矩形相交的矩形列表,这也是有利的。

我尝试了以下算法,但感觉不对。

  • 选择不在先前返回的候选矩形或先前忽略的区域中的候选点。
  • 水平生长,直到达到最小宽度。
  • 垂直生长,直到达到最小高度。
  • 此时,这是一个已获批准的候选矩形,但仍可能更大。
  • 尽可能水平生长。
  • 尽可能垂直生长。
  • 按批准返回矩形。(如果第 2 点或第 3 点失败,则到目前为止覆盖的区域将被取消。

是否有任何聪明的头脑可以为此提出更好的算法?(编辑:注意矩形是轴对齐的)

4

0 回答 0