【发布时间】:2012-03-07 09:31:26
【问题描述】:
我有一个 n 大小的 Rect 集合,其中大部分相互交叉。我想删除交叉点并将相交的矩形减少为更小的非相交矩形。
我可以很容易地暴力破解解决方案,但我正在寻找一种有效的算法。
这是一个可视化:
原文:
已处理:
理想情况下,方法签名应如下所示:
public static List<RectF> resolveIntersection(List<RectF> rects);
输出将大于或等于输入,其中输出解析上述视觉表示。
【问题讨论】:
-
红色矩形占用的空间本可以被绿色或橙色矩形占用(使它们更长...)?
-
我随意分割了那个矩形。
-
事实证明这确实是我想要的:google-maps-utility-library-v3.googlecode.com/svn/trunk/… 我可能应该要求解决实际问题,而不是解决我在实施过程中创建的问题。
标签: algorithm polygon intersection rect orthogonal