想知道是否有人知道如何确定不同大小的矩形从左到右和从上到下的顺序,当它们尚未与任何网格对齐时,它们的大小和/或旋转方式不同。有些人可能也会失踪。
正如任何人都可以从插图中看到的那样,对象应该如图所示编号。但是,我可以通过数学或编程方式确定这一点吗?逻辑是什么?我甚至不知道用什么词来形容这个问题。
答案 0 :(得分:0)
这看起来像一个相当复杂的问题;也许某些算法已经存在,IDK。
一种方法可以从尝试将矩形放置在必须计算网格尺寸的网格上开始;也许最适合矩形的大小(H& W,或表面,也许?)
确定合理的网格后,必须将其适当放置在矩形上;也许以最小化行重叠和矩形列重叠的方式?
最后一步包括逐行遍历网格,并为每个矩形分配标签;可能是基于网格单元和矩形共享的最大公共表面?
将会有许多边缘案例需要识别和解决。
或者,N,S,E和W矩形的扫描线编号,以及每个方向矩形编号的适当加权/平均值可能会得到很好的结果吗?
在确定可能是行和列之后,可能需要多次传递才能找到最合适的"。
第二种方法可能更容易实现。