不幸的是,我没有得到成功的锻炼。
有一组矩形和一个矩形。使用平面扫描算法确定R_ {1} .. R_ {n}集是否完全覆盖了R_ {0 }。 - [R 0 R 1。。[R ñ
有关扫掠线算法原理的更多详细信息,请参见此处。
让我们从头开始。最初,我们将扫掠线算法称为查找线段相交的算法,它需要两个数据结构:
- 一组事件点(它存储线段和相交点的端点)
- 状态(扫掠线相交的一组线段的动态结构)
总体思路:假设扫掠线是一条垂直线,从左侧开始接近矩形组。对矩形的所有坐标进行排序,并将它们按升序存储在中-应该取。从第一个事件点开始,对于每个点,确定在给定坐标处相交的矩形集,确定相交矩形的连续段,并检查它们是否在当前x坐标处完全覆盖R_ {0}。以T作为二叉树,它将取O(\ log n)。如果R_ {0}的任何部分未被发现,则表示未完全涵盖。
详细信息:分段相交算法的思想是仅相邻的分段相交。基于这一事实,我们建立了状态并在整个算法中对其进行了维护。我试图在这种情况下找到类似的想法,但到目前为止没有成功,我只能说两个矩形如果它们对应的和坐标重叠则相交。
问题是如何建立和维护,什么建筑的复杂性和维护的。我认为R树在这种情况下可能非常有用,但是正如我发现的那样,使用R树确定最小边界矩形非常困难。
您是否有关于如何解决此问题的想法,尤其是如何构建?