有没有人知道在生产代码R-tree实现中使用的好和简单?(实际上,任何实现 - R*, R+或者PR-tree会很棒)
它是一个模板或库实现无关紧要,但谷歌发现的一些实现看起来非常令人失望......
我有一个n大小的Rects集合,其中大部分相互交叉.我想删除交叉点并将相交的Rects缩小为较小的非交叉rects.
我可以很容易地强制解决方案,但我正在寻找一种有效的算法.
这是一个可视化:
原版的:

处理:

理想情况下,方法签名看起来像这样:
public static List<RectF> resolveIntersection(List<RectF> rects);
Run Code Online (Sandbox Code Playgroud)
输出将大于或等于输入,其中输出解析上述视觉表示.