一种二维图形中包围给定点的最小封闭区域发现方法

文档序号:6622710阅读:697来源:国知局
一种二维图形中包围给定点的最小封闭区域发现方法
【专利摘要】本发明公开了一种二维图形中包围给定点的最小封闭区域发现方法,该方法包括以下步骤:(A)使用点线分离法将给定的线段集和/或折线集构建为有向图G,(B)确定侦测方向,自给定点P构建射线R,计算射线R与有向图G所有边的交点,将各个交点以及与各个交点对应的有向图G的顶点及边关联后按特定顺序压入队列Q,(C)依次取队列Q队首q,以q为初始条件使用角度扫描法进行自主超前式侦测,记录侦测状态,分析侦测结果,调整侦测路径,并将侦测成果记录在栈S以及有向图G中,直到发现封闭区域或队列Q变空为止,(D)输出侦测成果。
【专利说明】一种二维图形中包围给定点的最小封闭区域发现方法

【技术领域】
[0001] 本发明涉及一种二维图形中包围给定点的最小封闭区域发现方法,尤其是涉及由 给定线段集和/或折线集组成的二维图形中包围给定点P最小封闭区域的发现方法。

【背景技术】
[0002] 在二维图形中,搜索出包围给定点的最小封闭区域是图形处理的基础技术之一, 对于二维封闭区域的相关计算、二维图形的自动识别以及后续相关自动化处理等都有重要 的意义。目前,由于种种原因,已有的搜索包围给定点最小封闭区域的方法往往附加很多限 制条件,例如只能在特定软件环境内的特定状态下才可以使用;或者是算法具有一些缺陷, 不能满足实际需要,例如求得的封闭区域会嵌套等。


【发明内容】

[0003] 本发明所要解决的技术问题是,提出一种二维图形中包围给定点的最小封闭区域 发现方法,在自动将给定的线段集和/或折线集构建为有向图后,自给定点构建射线,计算 该射线与有向图所有边的交点,再将这些交点与有向图相关顶点及边建立关联,之后利用 角度扫描法进行自主超前式侦测,快速精确地获得侦测成果。
[0004] 为了解决上述问题,本发明的一种二维图形中包围给定点的最小封闭区域发现方 法,其特征在于 :
[0005] (A)使用点线分离法将给定的线段集和/或折线集构建为有向图G,在此,对给定 的线段集和/或折线集没有限定,不需要干预,自动构建有向图。
[0006] 在此,使用点线分离法将给定的线段集和/或折线集构建为有向图G,按以下步骤 进行:
[0007] (AJ创建空的有向图G。
[0008] (A2)遍历给定的线段集和/或折线集,对于每一线段或折线,按以下步骤处理相关 数据:
[0009] (Ah)处理端(节)点:取线段或折线的端(节)点加入有向图G顶点集,在此,需 要对重合点进行剔除;
[0010] (A2_2)处理端(节)点间线段:取线段或依次取组成折线的各线段记为Si,对于每 一线段Si,按以下步骤处理相关数据:
[0011] (A2_2_i)创建交点缓冲区,用以存储线段Si与当前有向图G中所有边的交点;
[0012] (A2_2_2)计算线段Si与当前有向图G中所有边的交点,并存入交点缓冲区,在此,需 要根据交点的具体情况对有向图G进行修正;
[0013] (A2_2_3)将线段Si的起终点存入交点缓冲区并排序,将以交点缓冲区中相邻点确定 的线段作为边直接加入有向图G ;
[0014] (A2_2_4)清理交点缓冲区。
[0015] (A3)完成有向图G的创建。
[0016] (B)确定侦测方向,自给定点P构建射线R,计算射线R与有向图G所有边的交点, 将各个交点以及与各个交点对应的有向图G的顶点及边关联后按照射线R方向依次压入队 列Q。
[0017] 在此,侦测方向是指后续的侦测工作是围绕给定点P按顺时针进行还是按逆时针 进行,不同的侦测方向不影响最终的侦测结果,只影响侦测过程中的部分动作及侦测结果 的输出形式。不失一般性,取侦测方向为围绕给定点P的顺时针方向。
[0018] 在此,自给定点P构建射线R没有特别要求,不失一般性,可使射线R的方向与平 面直角坐标系中X轴的正向平行。
[0019] 在此,计算射线R与有向图G所有边的交点,按以下步骤进行:
[0020] (BJ遍历有向图G的所有顶点,对于每一顶点V,按以下步骤处理相关数据:
[0021] (Bh)遍历过顶点V的所有边,对于每一边E,如果射线R与边L·的交点存在,贝丨J将 该交点与顶点V、边E建立关联后压入队列Q。
[0022] (B2)对于队列Q中的元素,按照射线R的方向排序。
[0023] (C)依次取队列Q队首q,以q为初始条件使用角度扫描法进行自主超前式侦测, 记录侦测状态,分析侦测结果,调整侦测路径,并将侦测成果记录在栈S以及有向图G中,直 到发现封闭区域或队列Q变空为止。
[0024] 在此,所述角度扫描法是指自当前侦测位置进一步侦测时,通过比较有向图G中 经过当前侦测位置的可侦测边与参照边间的夹角实现的,
[0025] 在此,可侦测边是指有向图G中侦测状态为白色或灰色的边。
[0026] 在此,参照边是指有向图G中经过当前侦测位置的边中邻接点为上一侦测位置的 边。
[0027] 在此,所述自主超前式侦测是指侦测时不需要干预,一个完整侦测周期将自当前 侦测位置向前方深入两个侦测位置。
[0028] 在此,在进行自主式超前侦测时,侦测成果包括顶点及边侦测状态、顶点侦测频 率,并据此自主修正侦测路径、自主发现封闭区域。
[0029] 在此,使用角度扫描法进行自主超前式侦测时,按以下步骤进行:
[0030] (Q判断:如果队列Q为空,那么由给定直线集和/或折线集组成的二维图形中不 存在包围给定点P的封闭区域,搜索工作结束;如果队列Q不为空,有向图G的顶点及边均 置白色状态,取队列Q的队首q ;
[0031] (C2)判断:如果q不符合搜索方向,那么队列Q队首出队,返回步骤(CJ ;如果q符 合搜索方向,那么清空侦测点集S栈,q对应顶点置为灰色状态,q对应顶点的参照边为空,q 对应顶点和q对应顶点的参照边组成侦测点压入栈S,处理侦测状态和顶点侦测频率,确定 侦测起始顶点和起始顶点的参照边,起始顶点置为灰色状态,起始顶点的参照边置为灰色 状态,起始顶点和起始顶点的参照边组成侦测点压入栈S,处理侦测状态和顶点侦测频率, 取S的栈顶为当前侦测点si ;
[0032] 在此,如果给定点P、q的对应顶点V、q的对应边E的邻接点等三点顺次方向与侦 测方向一致,则q符合搜索方向;如果给定点P、q的对应顶点V、q的对应边E的邻接点等 三点顺次方向与侦测方向不一致,则q不符合搜索方向。
[0033] 在此,侦测起始顶点为q的对应边E的邻接点,起始顶点的参照边为起始顶点的边 中邻接点为q的对应顶点V的边。
[0034] (C3)判断:如果si为空或者si的顶点为空或si顶点的参照边为空,那么队列Q 队首出队,返回步骤(Q);如果si不为空并且si的顶点及si顶点的参照边均不为空,那么 搜寻下一侦测点s2 ;
[0035] 在此,根据侦测点s(n)搜寻下一侦测点s(n+1)时,按以下步骤进行:
[0036] (D将侦测点s(n)的顶点记为P。、侦测点s(n)参照边的邻接点记为P s ;
[0037] (C3_2)遍历有向图G中经过侦测点s(n)顶点的可侦测边,对于每条可侦测边,将其 邻接点记为P E,搜寻线段PcA与线段Ρ<Λ夹角为不等于〇的最小值时对应的点PE,该PE即 是下一侦测点S (n+1)的顶点;
[0038] (C3_3)有向图G中经过侦测点s(n+1)顶点的边中邻接点为侦测点s (n)顶点的边,即 是侦测点s(n+1)的参照边。
[0039] (C4)判断:如果s2为空,那么si的顶点及si顶点的参照边均置为黑色状态,弹出 栈S,处理侦测状态和顶点侦测频率,取S的栈顶为当前搜索点sl,返回步骤(C 3);如果s2 不为空,那么搜寻s2的下一侦测点s3,执行步骤(C5);
[0040] (C5)判断:如果s3为空,那么s2顶点的参照边置为黑色状态,返回步骤(C 3);如 果s3不为空,执行步骤(C6);
[0041] (C6)判断:如果s3顶点的参照边不为灰色状态,那么s2的顶点以及s2顶点的参 照边均置灰色状态,压入栈S,处理侦测状态和顶点侦测频率,取S的栈顶为当前侦测点si, 返回步骤(C 3);如果s3顶点的参照边为灰色状态,那么将s2压入栈S,处理侦测状态和顶 点侦测频率,执行步骤(C7);
[0042] (C7)判断:如果栈S内容不能构成封闭区域,那么队列Q队首出队,返回步骤(Q); 如果栈S内容能构成封闭区域,那么输出该封闭区域,搜索工作结束。
[0043] (D)输出侦测成果。
[0044] 在此,当存在包围给定点P最小封闭区域时,根据顶点及边侦测状态、顶点侦测频 率剔除飞刺等无效数据,输出最小封闭区域;当不存在包围给定点P最小封闭区域时,输出 相应提示。
[0045] 本发明的有益效果是:
[0046] (1)由任意给定的线段集和/或折线集组成的二维图形中,给定任意点P,如果存 在包围给定点P最小封闭区域,本发明可快速、精确地将其搜索出来;如果不存在包围给定 点P最小封闭区域,本发明输出相应提示。
[0047] (2)可以进行所求封闭区域的相关计算,如区域面积及周长等。
[0048] (3)可以进一步进行二维图形的自动识别以及有关自动化处理。

【专利附图】

【附图说明】
[0049] 图1是表示本发明的一种二维图形中包围给定点的最小封闭区域发现方法的一 例的流程图。
[0050] 图2是表示给定线段集和/或折线集组成的二维图形以及给定点P的一例的图。
[0051] 图3是表示由给定的线段集和/或折线集构建为有向图的一例的图。
[0052] 图4是表示本发明的一种由给定线段集和/或折线集组成的二维图形中包围给定 点P最小封闭区域发现方法的一实施例的图。

【具体实施方式】
[0053] 以下参照【专利附图】
附图
【附图说明】本发明的一种二维图形中包围给定点的最小封闭区域发现方 法的实施例。
[0054] 在此,本发明的一种二维图形中包围给定点的最小封闭区域的发现方法中,所指 二维图形是由给定线段集和/或折线集组成的,并且对所给定的线段集和/或折线集没有 附加条件;所指给定点是与该二维图形处于同一平面直角坐标系里的任意点。
[0055] 图1是表示本发明的一种二维图形中包围给定点的最小封闭区域发现方法的一 例的流程图,说明本发明的一种二维图形中包围给定点的最小封闭区域发现方法的基本处 理步骤。
[0056] 在图1中,首先由给定的线段集和/或折线集构建有向图G(步骤S101)。
[0057] 然后,自给定位置P构建射线R (步骤S102)。
[0058] 在此,自给定点P构建射线R没有特别要求,不失一般性,可使射线R的方向与平 面直角坐标系中X轴的正向平行。
[0059] 然后,计算射线R与有向图G所有边的交点,整理后压入队列Q(步骤S103)。
[0060] 在此,求出的每个交点都要与有向图G中相关的顶点及边关联后压入队列Q。
[0061] 在此,对于队列Q中的元素,按照射线R的方向排序。
[0062] 然后,依次取队列Q队首q,以q为初始条件开始侦测,视情况弹出队首,直到发现 封闭区域或队列Q变空为止(步骤S104)。
[0063] 在此,使用角度扫描法进行自主超前式侦测,同时分析侦测结果,调整侦测路径, 并自动记录侦测成果。
[0064] 然后,输出侦测成果(步骤S105)。
[0065] 图2是表示给定线段集和/或折线集组成的二维图形以及给定点P的一例的图, 该例仅为说明一般性情况,没有特定的寓意。
[0066] 在图2中,给定线段集和折线集包括线段211、折线221、折线222、折线223、折线 224,给定点P位置为201。
[0067] 图3是表示由给定的线段集和/或折线集构建为有向图的一例的图,构建为有向 图所使用的线段集和折线集为图2中提供的。
[0068] 在图3中,有向图G由顶点(圆圈表示,如301)及边(两顶点之间的线段,如311) 组成。
[0069] 图4是表示本发明的一种由给定线段集和/或折线集组成的二维图形中包围给定 点P最小封闭区域发现方法的一实施例的图,所使用的线段集和折线集以及给定点P为图 2中提供的。侦测方向为顺时针方向。
[0070] 在图4中,给定点P位置为401,自给定点P构建射线R为402。
[0071] 在图4中,射线R与有向图G的交点为411、412、413,并按射线R的方向排序,开始 侦测时,交点411为队列Q的队首q。
[0072] 在此,交点411与有向图G的顶点429、边441建立关联,在此,边441为经过顶点 429的边中邻接点为顶点421的边。
[0073] 在图4中,当侦测到顶点422时,根据角度扫描法的规则,本发明将首先侦测顶点 431、顶点432。由于顶点432不满足继续侦测的条件,故本发明退回顶点422的位置,继续 向顶点423方向侦测。
[0074] 在此,边451、边452被置为黑色侦测状态,同时顶点431、顶点432弹出栈S。
[0075] 侦测结束时,输出侦测成果:顶点421、顶点422、顶点423、顶点424、顶点425、顶 点426、顶点427、顶点428、顶点429,封闭区域的输出次序是与侦测方向一致的。
[0076] 综上所述,本发明的内容并不局限在上述的实施例中,相同领域内的有识之士在 本发明的技术指导思想之内可以提出其他的实施例,但这种实施例都包括在本发明的范围 之内。
【权利要求】
1. 一种二维图形中包围给定点的最小封闭区域发现方法,其特征在于,该方法包括以 下步骤: (A) 使用点线分离法将给定的线段集和/或折线集构建为有向图G ; (B) 确定侦测方向,自给定点P构建射线R,计算射线R与有向图G所有边的交点,将 各个交点以及与各个交点对应的有向图G的顶点及边关联后按照射线R方向依次压入队列 Q; (C) 依次取队列Q队首q,以q为初始条件使用角度扫描法进行自主超前式侦测,同时 分析侦测结果,调整侦测路径,并将侦测成果记录在栈S以及有向图G中,直到发现封闭区 域或队列Q变空为止; (D) 输出侦测成果。
2. 根据权利要求1所述的一种二维图形中包围给定点的最小封闭区域发现方法,其特 征在于,所述步骤(A)使用的点线分离法是指在使用给定的线段集和/或折线集构建有向 图G时,对于每一线段或折线,对端(节)点的处理与端(节)点间线段的处理是异步进行 的,同时,对给定的线段集和/或折线集没有限定,不需要干预,自动构建有向图。
3. 根据权利要求1所述的一种二维图形中包围给定点的最小封闭区域发现方法,其特 征在于,所述步骤(B)的确定侦测方向,是指确定后续的侦测工作是围绕给定点P顺时针进 行还是逆时针进行。
4. 根据权利要求1所述的一种二维图形中包围给定点的最小封闭区域发现方法,其特 征在于,所述步骤(C)使用的角度扫描法,是指自当前侦测位置进一步侦测时,通过比较有 向图G中经过当前侦测位置的可侦测边与参照边间的夹角实现的,此处所指参照边是指有 向图G中经过当前侦测位置的边中邻接点为上一侦测位置的边。
5. 根据权利要求1所述的一种二维图形中包围给定点的最小封闭区域发现方法,其特 征在于,所述步骤(C)进行的自主超前式侦测是指侦测时不需要干预,一个完整侦测周期 将自当前侦测位置向前方深入两个侦测位置。
6. 根据权利要求1所述的一种二维图形中包围给定点的最小封闭区域发现方法,其特 征在于,所述步骤(C)在进行自主式超前侦测时,侦测成果包括顶点及边侦测状态、顶点侦 测频率,并据此自主修正侦测路径、自主发现封闭区域。
7. 根据权利要求1所述的一种二维图形中包围给定点的最小封闭区域发现方法,其特 征在于,所述步骤(C)在进行自主式超前侦测时,顶点及边侦测状态包括白色、灰色黑色三 种状态,在此,白色对应于未侦测状态、灰色对应于已侦测状态、黑色对应于侦测后判定为 本轮不再侦测状态。
8. 根据权利要求1所述的一种二维图形中包围给定点的最小封闭区域发现方法,其特 征在于,所述步骤(D)输出侦测成果,当存在包围给定点P最小封闭区域时,输出成果已经 剔除飞刺的无效数据。
【文档编号】G06T7/60GK104123738SQ201410385509
【公开日】2014年10月29日 申请日期:2014年8月6日 优先权日:2014年8月6日
【发明者】柳忠杰, 李德柱 申请人:铁道第三勘察设计院集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1