CN107644449A - 一种平面图形独立封闭区域识别方法 - Google Patents
一种平面图形独立封闭区域识别方法 Download PDFInfo
- Publication number
- CN107644449A CN107644449A CN201710834126.2A CN201710834126A CN107644449A CN 107644449 A CN107644449 A CN 107644449A CN 201710834126 A CN201710834126 A CN 201710834126A CN 107644449 A CN107644449 A CN 107644449A
- Authority
- CN
- China
- Prior art keywords
- curve
- curves
- collection
- end points
- curve element
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Image Generation (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种平面图形独立封闭区域识别方法,包括如下步骤:建立曲线数据信息集合M,所述曲线数据信息集合M包含曲线集合S和角度集合D;从所述曲线集合S中识别出所有平面封闭区域,并放入曲线集合A内;对曲线集合A和角度集合D进行筛选,得出独立封闭区域集合B;将独立封闭区域集合B保存为最终结果。本发明可以能精确识别封闭图形中的最小独立封闭图形,可靠性高。
Description
技术领域
本发明涉及图形处理技术领域,特别涉及一种平面图形独立封闭区域识别方法。
背景技术
开发FEA(Finite Element Analysis)前处理平台时,针对用户提出的严苛要求,需对某个部件或零件的不同区域划分特定密度和大小的网格,因而需识别其独立封闭区域,然后对各个独立封闭区域分别划分网格。一般的FEA前处理平台并不具备独立封闭区域识别功能,需手工处理,其耗时耗力,效率极低。因而亟需发明一种平面图形独立封闭区域的识别方法。
申请号为201310034839.2专利名称为提取最小封闭图形的方法,公开了一种快速提取由若干条直线段组成的图形中的最小封闭图形,其识别精度与效率都很高,但其并不适用于含有大量曲线段的复杂平面图形。
由此可见,现有的最小独立封闭区域的识别方法存在着缺陷,而FEA繁琐的前处理又需尽早实现自动化,因而亟需探索一种快速识别复杂平面图形中独立封闭区域的方法。
发明内容
针对现有技术中存在不足,本发明提供了一种平面图形独立封闭区域识别方法,能快速识别包含大量曲线段图形中的封闭图形,适用性广。
本发明是通过以下技术手段实现上述技术目的的。
一种平面图形独立封闭区域识别方法,包括如下步骤:
S1:建立曲线数据信息集合M,所述曲线数据信息集合M包含曲线集合S和角度集合D;
S2:从所述曲线集合S中识别出所有平面封闭区域,并放入曲线集合A内;
S3:对曲线集合A和角度集合D进行筛选,得出独立封闭区域集合B;
S4:将独立封闭区域集合B保存为最终结果。
进一步,所述的S1包括如下步骤:
S1.1:提取曲线数据信息集合M中平面图形曲线段数据,记为曲线段集合S;
S1.2:删除曲线段集合S中没有交点和仅有一个交点的曲线段;
S1.3:计算交点处各曲线段之间的夹角,记为角度集合D。
进一步,所述的S1.3包括如下步骤:
S1.3.1:判断曲线段集合S内曲线段数据类型,若为直线段,跳转S1.3.2;若为圆弧段,跳转S1.3.3;
S1.3.2:提取直线段两个端点坐标,跳转S1.3.4;
S1.3.3:提取圆弧段两个端点坐标及圆心坐标,并分别在端点处作该圆弧的切线;
S1.3.4:计算端点处各曲线段之间的夹角,记为角度集合D;设顺时针方向为正,圆弧段和直线段的夹角为直线段与圆弧段切线的夹角,圆弧段与圆弧段的夹角为圆弧段的切线之间的夹角。
进一步,所述的S2包括如下步骤:
S2.1:将曲线集合S中所有曲线元素复制到空曲线集合G中;新建空曲线集合A;
S2.2:判断曲线集合G是否为空集合,若是,则删除曲线集合A中重复部分,跳转S2.7;若否,则取曲线集合G中任一曲线元素g作为起始线,跳转S2.3;
S2.3:取曲线元素g的两个端点p1,p2;
S2.4:输入曲线集合G、曲线元素g和p1,通过使用独立图形判别法,输出曲线集合添加至曲线集合A;
S2.5:输入曲线集合G、曲线元素g和p2,通过使用独立图形判别法,输出曲线集合添加至曲线集合A;
S2.6:在曲线集合G中删除曲线元素g,跳转S2.2;
S2.7:结束;
其中,独立图形判别法包括如下步骤:
B1:将输入曲线集合G中所有曲线元素复制到空曲线集合K中;g曲线元素的起始点记为Pim;
B2:删除曲线集合K中曲线元素g,并将曲线元素g添至空曲线集合R中;
B3:提取曲线元素g的两个端点,已知一个端点为Pim,标记为曲线起点Ps,标记另一个端点为曲线终点Pm1;
B4:将端点Ps记为Pstart,作为封闭区域搜寻起点;
B5:在曲线集合K中,查找与Pm1有相同坐标端点的曲线元素,若找到,则依次添至新建的空曲线集合Q中,记为曲线集合Q{q1,q2,...},跳转B6;否则,跳转B18;
B6:在曲线集合K中,删除与曲线集合Q重复的曲线元素;
B7:在曲线集合Q中,依据角度集合D,寻找到曲线元素q,曲线元素q与曲线元素g相邻,且曲线元素q到曲线元素g的顺时针夹角为最小,标记为相邻线;
B8:取相邻线即曲线元素q两个端点,其中与Pm1有相同坐标的端点记为Pm2,不同坐标的端点记为Pe;
B9:判断Pe与Pstart是否为同一个坐标,若是,则跳转B18;若否,则跳转B10;
B10:将曲线元素q添加至曲线集合R中;
B11:将曲线元素q标记为新的起始线,Pm2标记为新的曲线起点Ps,Pe标记为新的曲线终点Pm1;
B12:在曲线集合K中,查找与Pm1有相同坐标端点的曲线元素,若找到,则依次添至曲线集合Q中,跳转B13;否则,则跳转B18;
B13:在曲线集合K中,删除与曲线集合Q重复的曲线元素;
B14:在曲线集合Q中,依据角度集合D,寻找到曲线元素t,曲线元素t与曲线元素q相邻,且曲线元素t到曲线元素q的顺时针夹角为最小,标记为相邻线;
B15:取相邻线t两个端点,其中与Pm1有相同坐标的端点记为Pm2,不同坐标的端点记为Pe;
B16:判断Pe与Pstart是否为同一个坐标,若是,则跳转B17,若否,将曲线元素q更新为相邻曲线t,跳转B10;
B17:输出曲线集合R,结束;
B18:输出空的线集合,结束。
进一步,所述的S3包括如下步骤:
S3.1:将曲线集合A中所有元素复制到空集合Y中;
S3.2:删除曲线集合U中所有元素,并将曲线集合S中所有曲线元素复制到曲线集合U中;
S3.3:判断集合Y是否为空区域集合,若是,则跳转S3.9;若否,则跳转S3.4;
S3.4:取集合Y中任意一个元素y,在集合Y中删除元素y,在曲线集合U中删除与y相同的曲线元素;
S3.5:计算曲线集合U中所有曲线元素的有效中点;
S3.6:过S3.5中的有效中点分别做射线;若所述射线过曲线集合U中任一曲线元素的端点,则重新作射线;
S3.7:分别计算每条射线与曲线集合U中各元素的交点数量,并判断交点数量是否都为偶数,若是,则元素y所围成的封闭图形为最小封闭图形,跳转S3.8;若否,跳转S3.2;
S3.8:将元素y添加至区域集合B,跳转S3.2;
S3.9:结束。
一种平面图形独立封闭区域识别系统,其特征在于,包括储存介质;所述储存介质中储存有用权利要求1所述的平面图形独立封闭区域识别方法编写的程序。
进一步,所述储存介质包括硬盘或CD-ROM或光存储设备或磁存储设备或其组合。
本发明的有益效果在于:
1.本发明所述的平面图形独立封闭区域识别方法,能快速识别包含大量曲线段图形中的封闭图形,适用性广。
2.本发明所述的平面图形独立封闭区域识别方法,能精确识别封闭图形中的最小独立封闭图形,可靠性高。
3.本发明所述的平面图形独立封闭区域识别方法,能便捷嵌入第三方软件中,实用性好。
4.本发明所述的平面图形独立封闭区域识别方法,本发明主要应用在有限元分析方法中,用于快速得到独立封闭区域,方面后期的运算分析。
附图说明
图1为本发明所述的平面图形独立封闭区域识别方法流程图。
图2为本发明实施例的平面图形。
图3为本发明实施例的在S1.2步骤处理后的图形。
图4为本发明实施例的S1.3步骤的示意图。
图5为本发明实施例在S3.6步骤的示意图。
具体实施方式
下面结合附图以及具体实施例对本发明作进一步的说明,但本发明的保护范围并不限于此。
利用本发明所述的平面图形独立封闭区域识别方法,本发明主要应用在有限元分析方法中,用于快速得到独立封闭区域,方面后期的运算分析。下面以图2的平面图形为实施例,其流程图如图1所示,具体如下:
S1:建立曲线数据信息集合M,所述曲线数据信息集合M包含曲线集合S和角度集合D;具体为如下步骤:
S1.1:提取曲线数据信息集合M中平面图形曲线段数据,记为曲线段集合S;图2中的曲线段集合S{AA1,AA2,AA3,AB,AD,AED,BB1,BB2,BC,CC1,CC2,CD,DD1,DD2,DD3};
S1.2:删除曲线段集合S中没有交点或仅有一个交点的曲线段;如图3所示,得新曲线集合S{AED,AD,AB,BC,CD};
S1.3:计算交点处各曲线段之间的夹角,记为角度集合D。具体为如下步骤:
S1.3.1:判断曲线段集合S内曲线段数据类型,若为直线段,跳转S1.3.2;若为圆弧段,跳转S1.3.3;
S1.3.2:提取直线段两个端点坐标;
S1.3.3:提取圆弧段两个端点坐标及圆心坐标,并分别在端点处作该圆弧的切线;
S1.3.4:计算交点处各曲线段之间的夹角,记为角度集合D;设顺时针方向为正,圆弧段和直线段的夹角为直线段与圆弧段切线的夹角,圆弧段与圆弧段的夹角为圆弧段的切线之间的夹角。得到角度集合D{{AA’,AD,45},{DD’,AD,45},{AD,AB,90},{AD,DC,90},{DC,BC,90},{BC,AB,90},{AB,AA’,135},{DD’,DC,135}}。
如图4所示,举例说明S1.3若以AB为起始线,弧AED为相邻线。过点A作弧AED的射线AA’,则AB与弧AED之间的夹角为角BAA’。
S2:从所述曲线集合S中识别出所有平面封闭区域,并放入集合A内;具体为如下步骤:
S2.1:将曲线集合S中所有曲线元素复制到空曲线集合G中,即曲线集合G{AED,AD,AB,BC,CD};新建空曲线集A;
S2.2:判断曲线集合G是否为空集合,若是,则删除区域集合A中重复部分,跳转S2.7;若否,则取曲线集合G中任一曲线元素g作为起始线,跳转S2.3;选取AB,即g为曲线元素AB;
S2.3:取曲线元素g的两个端点p1,p2;即曲线元素AB的两个端点A,B;
S2.4:输入集合G、曲线元素g和p1,通过使用独立图形判别法,输出曲线集合添加至区域集合A;具体为:
B1:将输入曲线集合G中所有曲线元素复制到空曲线集合K中,即曲线集合K{AED,AD,AB,BC,CD};曲线元素AB的起始点A记为Pim;
B2:删除曲线集合K中曲线元素AB,即曲线集合K{AD,AED,BC,CD};并将曲线元素AB添至空曲线集合R中;
B3:提取曲线元素AB的两个端点,已知一个端点A为Pim,标记为曲线起点Ps,标记另一个端点B为曲线终点Pm1;
B4:将端点Ps记为Pstart,作为封闭区域搜寻起点;
B5:在曲线集合K{AD,AED,BC,CD}中,查找与Pm1有相同坐标端点的曲线元素,若找到,则依次添至新建的空曲线集合Q中,记为曲线集合Q{BC},跳转B6;否则,跳转B18;
B6:在曲线集合K中,删除与曲线集合Q重复的线元素;即K{AD,AED,CD}
B7:在曲线集合Q中,依据角度集合D,寻找到曲线元素BC,曲线元素BC与曲线元素AB相邻,且曲线元素BC到曲线元素AB的顺时针夹角为最小,标记为相邻线;
B8:取相邻线即曲线元素BC两个端点,其中与Pm1(端点B)有相同坐标的端点记为Pm2,不同坐标的端点记为Pe(端点C);
B9:判断Pe(端点C)与Pstart(端点A)是否为同一个坐标,若是,则跳转B18;若否,则跳转B10;
B10:将曲线元素BC添加至曲线集合R中;
B11:将曲线元素BC标记为新的起始线,Pm2(端点B)标记为新的曲线起点Ps,Pe(端点C)标记为新的曲线终点Pm1;
B12:在曲线集合K{AD,AED,CD}中,查找与Pm1(端点C)有相同坐标端点的曲线元素,若找到,则依次添至曲线集合Q中,即Q{CD},跳转B13;否则,则跳转B18;
B13:在曲线集合K中,删除与曲线集合Q重复的曲线元素;即K{AD,AED}
B14:在曲线集合Q中,依据角度集合D,寻找到曲线元素CD,曲线元素CD与曲线元素BC相邻,且曲线元素CD到曲线元素BC的顺时针夹角为最小,标记为相邻线;
B15:取相邻线CD两个端点,其中与Pm1(端点C)有相同坐标的端点记为Pm2,不同坐标的端点记为Pe(端点D);
B16:判断Pe与Pstart是否为同一个坐标,若是,则跳转B17,若否,将曲线元素q更新为相邻曲线t,跳转B10;Pe(端点D)与Pstart(端点A)不是同一个坐标,跳转B10,为了避免混淆,下面重复B10后面的步骤用B10'表示。
B10':将曲线元素CD添加至曲线集合R中;
B11':将曲线元素CD标记为新的起始线,Pm2(端点C)标记为新的曲线起点Ps,Pe(端点D)标记为新的曲线终点Pm1;
B12':在曲线集合K{AD,AED}中,查找与Pm1(端点D)有相同坐标端点的曲线元素,若找到,则依次添至曲线集合Q中,即Q{AD,AED},跳转B13';否则,则跳转B18;
B13':在曲线集合K中,删除与曲线集合Q重复的曲线元素,即K{};
B14':在曲线集合Q中,依据角度集合D,寻找到曲线元素AED,曲线元素AED与曲线元素CD相邻,且曲线元素AED到曲线元素CD的顺时针夹角为最小,即切线AD’到曲线元素CD的顺时针夹角为最小,标记为相邻线;
B15':取相邻线AED两个端点A和D,其中与Pm1(端点D)有相同坐标的端点记为Pm2,不同坐标的端点记为Pe(端点A);
B16':判断Pe(端点A)与Pstart(端点A)是否为同一个坐标,若是,则跳转B10'(即B10),若否,跳转B17;
B17:输出曲线集合R,结束;
B18:输出空的线集合,结束。
S2.4步骤结束后区域集合A{{AB,BC,CD,AED}};
S2.5:输入集合G、曲线元素g和p2,通过使用独立图形判别法,输出曲线集合添加至区域集合A;
B1:将输入曲线集合G中所有曲线元素复制到空曲线集合K中,即曲线集合K{AED,AD,AB,BC,CD};曲线元素AB的起始点B记为Pim;
B2:删除曲线集合K中曲线元素AB,即曲线集合K{AD,AED,BC,CD};并将曲线元素AB添至空曲线集合R中;
B3:提取曲线元素AB的两个端点,已知一个端点B为Pim,标记为曲线起点Ps,标记另一个端点A为曲线终点Pm1;
B4:将端点Ps记为Pstart,作为封闭区域搜寻起点;
B5:在曲线集合K{AD,AED,BC,CD}中,查找与Pm1有相同坐标端点的曲线元素,若找到,则依次添至新建的空曲线集合Q中,记为曲线集合Q{AED,AD},跳转B6;否则,跳转B18;
B6:在曲线集合K中,删除与曲线集合Q重复的线元素;即K{BC,CD}
B7:在曲线集合Q中,依据角度集合D,寻找到曲线元素AD,曲线元素AD与曲线元素AB相邻,且曲线元素AD到曲线元素AB的顺时针夹角为最小,标记为相邻线;
B8:取相邻线即曲线元素AD两个端点,其中与Pm1(端点A)有相同坐标的端点记为Pm2,不同坐标的端点记为Pe(端点D);
B9:判断Pe(端点D)与Pstart(端点B)为同一个坐标,若是,则跳转B24;若否,则跳转B10;
B10:将曲线元素AD添加至曲线集合R中;
B11:将曲线元素AD标记为新的起始线,Pm2(端点A)标记为新的曲线起点Ps,Pe(端点D)标记为新的曲线终点Pm1;
B12:在曲线集合K{BC,CD}中,查找与Pm1(端点D)有相同坐标端点的曲线元素,若找到,则依次添至曲线集合Q中,即Q{CD},跳转B13;否则,则跳转B18;
B13:在曲线集合K中,删除与曲线集合Q重复的曲线元素,即K{BC};
B14:在曲线集合Q中,依据角度集合D,寻找到曲线元素CD,曲线元素CD与曲线元素AD相邻,且曲线元素CD到曲线元素AD的顺时针夹角为最小,标记为相邻线;
B15:取相邻线CD两个端点C和D,其中与Pm1(端点D)有相同坐标的端点记为Pm2,不同坐标的端点记为Pe(端点C);
B16:判断Pe(端点C)与Pstart(端点B)是否为同一个坐标,若是,则跳转B17,若否,跳转B10;Pe(端点C)与Pstart(端点B)不是同一个坐标,跳转B10,为了避免混淆,下面重复B10后面的步骤用B10'表示。
B10':将曲线元素CD添加至曲线集合R中;
B11':将曲线元素CD标记为新的起始线,Pm2(端点D)标记为新的曲线起点Ps,Pe(端点C)标记为新的曲线终点Pm1;
B12':在曲线集合K{BC}中,查找与Pm1(端点C)有相同坐标端点的曲线元素,若找到,则依次添至曲线集合Q中,即Q{BC},跳转B20;否则,则跳转B25;
B13':在曲线集合K中,删除与曲线集合Q重复的曲线元素,即K{};
B14':在曲线集合Q中,依据角度集合D,寻找到曲线元素BC,曲线元素BC与曲线元素CD相邻,且曲线元素BC到曲线元素CD的顺时针夹角为最小,标记为相邻线;
B15':取相邻线BC两个端点B和C,其中与Pm1(端点C)有相同坐标的端点记为Pm2,不同坐标的端点记为Pe(端点B);
B16':判断Pe(端点B)与Pstart(端点B)是否为同一个坐标,若是,则跳转B17,若否,跳转B10'(即B10);
B17:输出曲线集合R,结束;
B18:输出空的线集合,结束。
S2.5步骤结束后A区域集合{{AB,BC,CD,AD},{AB,BC,CD,AED}};
S2.6:在曲线集合G中删除线元素g,跳转S2.2;
S2.7:结束;即集合A区域集合{{AED,AD},{AB,BC,CD,AD},{AB,BC,CD,AED}}。
S3:对集合A和角度集合D进行筛选,得出独立封闭区域集合B;
S3.1:将集合A中所有元素复制到空集合Y中;即Y{{AED,AD},{AB,BC,CD,AD},{AB,BC,CD,AED}};
S3.2:删除曲线集合U中所有元素,并将曲线集合S中所有曲线元素复制到曲线集合U中,即U{AED,AD,AB,BC,CD};
S3.3:判断集合Y是否为空区域集合,若是,则跳转S3.9;若否,则跳转S3.4;
S3.4:取集合Y中任意一个元素{AED,AD},在集合Y中删除区域元素{AED,AD},在曲线集合U中删除与{AED,AD}相同的曲线元素;即Y{{AB,BC,CD,AD},{AB,BC,CD,AED}},U{AB,BC,CD};
S3.5:计算曲线集合U中所有曲线元素的有效中点{AB中点,BC中点,CD中点};
S3.6:过S3.5中的有效中点分别做射线;若所述射线过曲线集合U中任一曲线元素的端点,则重新作射线;
S3.7:分别计算每条射线与曲线集合U中各元素的交点数量0,交点数量为偶数,则元素{AED,AD}所围成的封闭图形为最小封闭图形,跳转S3.8;为了避免混淆,下面重复S3.2后面的步骤用S3.2'表示。
S3.8:将区域元素{AED,AD}添加至区域集合B,跳转S3.2';
S3.2':删除曲线集合U中所有元素,并将曲线集合S中所有曲线元素复制到曲线集合U中,即U{AED,AD,AB,BC,CD};
S3.3':判断集合Y是否为空区域集合,若是,则跳转S3.9;若否,则跳转S3.4';
S3.4':取集合Y中任意一个元素{AB,BC,CD,AD},在集合Y中删除区域元素{AB,BC,CD,AD},在曲线集合U中删除与{AB,BC,CD,AD}相同的曲线元素,即Y{{AB,BC,CD,AED}},U{AED};
S3.5':计算曲线集合U中所有曲线元素的有效中点{E};
S3.6':过S3.5'中的有效中点分别做射线;若所述射线过曲线集合U中任一曲线元素的端点,则重新作射线;
S3.7':分别计算每条射线与曲线集合U中各元素的交点数量0,并判断交点数量为偶数,则元素{AB,BC,CD,AD}所围成的封闭图形为最小封闭图形,跳转S3.8’;
S3.8':将区域元素{AB,BC,CD,AD}添加至区域集合B,跳转S3.2″;
S3.2″:删除曲线集合U中所有元素,并将曲线集合S中所有曲线元素复制到曲线集合U中,即U{AED,AD,AB,BC,CD};
S3.3″:判断集合Y是否为空区域集合,若是,则跳转S3.9;若否,则跳转S3.4″;
S3.4″:取集合Y中任意一个元素{AB,BC,CD,AED},在集合Y中删除区域元素{AB,BC,CD,AED},在曲线集合U中删除与{AB,BC,CD,AED}相同的曲线元素,即Y{},U{AD};
S3.5″:计算曲线集合U中所有曲线元素的有效中点{AD中点};
S3.6″:过S3.5″中的有效中点分别做射线;若所述射线过曲线集合U中任一曲线元素的端点,则重新作射线;
S3.7″:分别计算每条射线与曲线集合U中各元素的交点数量为1,为奇数,则并跳转S3.2″';
S3.2″':删除曲线集合U中所有元素,并将曲线集合S中所有曲线元素复制到曲线集合U中,即U{AED,AD,AB,BC,CD};
S3.3″':集合Y为空区域集合,若是,则跳转S3.9;
S3.9:结束。
S4:将独立封闭区域集合B保存为最终结果。即B{{AED,AD},{AB,BC,CD,AD}};
一种平面图形独立封闭区域识别系统,包括储存介质;所述储存介质中储存有用权利要求1所述的平面图形独立封闭区域识别方法编写的程序。所述储存介质包括硬盘或CD-ROM或光存储设备或磁存储设备或其组合。本领域的技术人员应当明白,本文描述的各种特征可通过方法、数据处理系统或计算机程序产品来实现。因此,这些特征可部采用硬件的方式、全部采用软件的方式或者采用硬件和软件结合的方式来表现。此外,上述特征也可采用存储在一种或多种计算机可读存储介质上的计算机程序产品的形式来表现,该计算机可读存储介质中包含计算机可读程序代码段或者指令,其存储在存储介质中。可以使用任何使用的计算机可读存储介质,包括硬盘、CD-ROM、光存储设备、磁存储设备和/或上述设备的组合。
所述实施例为本发明的优选的实施方式,但本发明并不限于上述实施方式,在不背离本发明的实质内容的情况下,本领域技术人员能够做出的任何显而易见的改进、替换或变型均属于本发明的保护范围。
Claims (7)
1.一种平面图形独立封闭区域识别方法,其特征在于,包括如下步骤:
S1:建立曲线数据信息集合M,所述曲线数据信息集合M包含曲线集合S和角度集合D;
S2:从所述曲线集合S中识别出所有平面封闭区域,并放入曲线集合A内;
S3:对曲线集合A和角度集合D进行筛选,得出独立封闭区域集合B;
S4:将独立封闭区域集合B保存为最终结果。
2.根据权利要求1所述的平面图形独立封闭区域识别方法,其特征在于,所述的S1包括如下步骤:
S1.1:提取曲线数据信息集合M中平面图形曲线段数据,记为曲线段集合S;
S1.2:删除曲线段集合S中没有交点和仅有一个交点的曲线段;
S1.3:计算交点处各曲线段之间的夹角,记为角度集合D。
3.根据权利要求2所述的平面图形独立封闭区域识别方法,其特征在于,所述的S1.3包括如下步骤:
S1.3.1:判断曲线段集合S内曲线段数据类型,若为直线段,跳转S1.3.2;若为圆弧段,跳转S1.3.3;
S1.3.2:提取直线段两个端点坐标,跳转S1.3.4;
S1.3.3:提取圆弧段两个端点坐标及圆心坐标,并分别在端点处作该圆弧的切线;
S1.3.4:计算端点处各曲线段之间的夹角,记为角度集合D;设顺时针方向为正,圆弧段和直线段的夹角为直线段与圆弧段切线的夹角,圆弧段与圆弧段的夹角为圆弧段的切线之间的夹角。
4.根据权利要求1所述的平面图形独立封闭区域识别方法,其特征在于,所述的S2包括如下步骤:
S2.1:将曲线集合S中所有曲线元素复制到空曲线集合G中;新建空曲线集合A;
S2.2:判断曲线集合G是否为空集合,若是,则删除曲线集合A中重复部分,跳转S2.7;若否,则取曲线集合G中任一曲线元素g作为起始线,跳转S2.3;
S2.3:取曲线元素g的两个端点p1,p2;
S2.4:输入曲线集合G、曲线元素g和p1,通过使用独立图形判别法,输出曲线集合添加至曲线集合A;
S2.5:输入曲线集合G、曲线元素g和p2,通过使用独立图形判别法,输出曲线集合添加至曲线集合A;
S2.6:在曲线集合G中删除曲线元素g,跳转S2.2;
S2.7:结束;
其中,独立图形判别法包括如下步骤:
B1:将输入曲线集合G中所有曲线元素复制到空曲线集合K中;g曲线元素的起始点记为Pim;
B2:删除曲线集合K中曲线元素g,并将曲线元素g添至空曲线集合R中;
B3:提取曲线元素g的两个端点,已知一个端点为Pim,标记为曲线起点Ps,标记另一个端点为曲线终点Pm1;
B4:将端点Ps记为Pstart,作为封闭区域搜寻起点;
B5:在曲线集合K中,查找与Pm1有相同坐标端点的曲线元素,若找到,则依次添至新建的空曲线集合Q中,记为曲线集合Q{q1,q2,...},跳转B6;否则,跳转B18;
B6:在曲线集合K中,删除与曲线集合Q重复的曲线元素;
B7:在曲线集合Q中,依据角度集合D,寻找到曲线元素q,曲线元素q与曲线元素g相邻,且曲线元素q到曲线元素g的顺时针夹角为最小,标记为相邻线;
B8:取相邻线即曲线元素q两个端点,其中与Pm1有相同坐标的端点记为Pm2,不同坐标的端点记为Pe;
B9:判断Pe与Pstart是否为同一个坐标,若是,则跳转B18;若否,则跳转B10;
B10:将曲线元素q添加至曲线集合R中;
B11:将曲线元素q标记为新的起始线,Pm2标记为新的曲线起点Ps,Pe标记为新的曲线终点Pm1;
B12:在曲线集合K中,查找与Pm1有相同坐标端点的曲线元素,若找到,则依次添至曲线集合Q中,跳转B13;否则,则跳转B18;
B13:在曲线集合K中,删除与曲线集合Q重复的曲线元素;
B14:在曲线集合Q中,依据角度集合D,寻找到曲线元素t,曲线元素t与曲线元素q相邻,且曲线元素t到曲线元素q的顺时针夹角为最小,标记为相邻线;
B15:取相邻线t两个端点,其中与Pm1有相同坐标的端点记为Pm2,不同坐标的端点记为Pe;
B16:判断Pe与Pstart是否为同一个坐标,若是,则跳转B17,若否,将曲线元素q更新为相邻曲线t,跳转B10;
B17:输出曲线集合R,结束;
B18:输出空的线集合,结束。
5.根据权利要求1所述的平面图形独立封闭区域识别方法,其特征在于,所述的S3包括如下步骤:
S3.1:将曲线集合A中所有元素复制到空集合Y中;
S3.2:删除曲线集合U中所有元素,并将曲线集合S中所有曲线元素复制到曲线集合U中;
S3.3:判断集合Y是否为空区域集合,若是,则跳转S3.9;若否,则跳转S3.4;
S3.4:取集合Y中任意一个元素y,在集合Y中删除元素y,在曲线集合U中删除与y相同的曲线元素;
S3.5:计算曲线集合U中所有曲线元素的有效中点;
S3.6:过S3.5中的有效中点分别做射线;若所述射线过曲线集合U中任一曲线元素的端点,则重新作射线;
S3.7:分别计算每条射线与曲线集合U中各元素的交点数量,并判断交点数量是否都为偶数,若是,则元素y所围成的封闭图形为最小封闭图形,跳转S3.8;若否,跳转S3.2;
S3.8:将元素y添加至区域集合B,跳转S3.2;
S3.9:结束。
6.一种平面图形独立封闭区域识别系统,其特征在于,包括储存介质;所述储存介质中储存有用权利要求1所述的平面图形独立封闭区域识别方法编写的程序。
7.根据权利要求6所述的平面图形独立封闭区域识别系统,其特征在于,所述储存介质包括硬盘或CD-ROM或光存储设备或磁存储设备或其组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710834126.2A CN107644449B (zh) | 2017-09-15 | 2017-09-15 | 一种平面图形独立封闭区域识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710834126.2A CN107644449B (zh) | 2017-09-15 | 2017-09-15 | 一种平面图形独立封闭区域识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107644449A true CN107644449A (zh) | 2018-01-30 |
CN107644449B CN107644449B (zh) | 2021-03-19 |
Family
ID=61113630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710834126.2A Active CN107644449B (zh) | 2017-09-15 | 2017-09-15 | 一种平面图形独立封闭区域识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107644449B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380611A (zh) * | 2020-12-04 | 2021-02-19 | 江南造船(集团)有限责任公司 | 船舶舾装平台通道的花钢板设计方法、装置、设备和介质 |
CN113297401A (zh) * | 2020-08-14 | 2021-08-24 | 躺平设计家(上海)科技有限公司 | 半边数据结构的生成方法、数据处理方法、装置及设备 |
CN116311338A (zh) * | 2023-03-27 | 2023-06-23 | 北京数码易知科技发展有限责任公司 | 一种最小闭合区域识别方法、装置、设备和计算机可读介质 |
CN116757025A (zh) * | 2023-06-07 | 2023-09-15 | 中国船级社上海规范研究所 | 一种基于dxf格式的船舶舱室图形自动拾取方法 |
CN117253052A (zh) * | 2023-11-20 | 2023-12-19 | 广州中望龙腾软件股份有限公司 | 最大闭合区域识别方法、装置、存储介质及计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470808A (zh) * | 2007-12-24 | 2009-07-01 | 北大方正集团有限公司 | 一种平面几何形状的特征描述方法 |
CN101937579A (zh) * | 2010-09-20 | 2011-01-05 | 南京大学 | 一种利用透视草图创建三维曲面模型的方法 |
CN103116900A (zh) * | 2013-01-30 | 2013-05-22 | 深圳联友科技有限公司 | 提取最小封闭图形的方法 |
CN103679721A (zh) * | 2013-12-10 | 2014-03-26 | 中国船舶重工集团公司第七0九研究所 | 采用邻域法霍夫变换的图像轮廓简化方法 |
US20150110420A1 (en) * | 2013-10-18 | 2015-04-23 | Institute For Information Industry | Image processing method and system using the same |
US9230350B2 (en) * | 2006-05-22 | 2016-01-05 | Raphael L. Levien | Method and apparatus for interactive curve generation |
-
2017
- 2017-09-15 CN CN201710834126.2A patent/CN107644449B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9230350B2 (en) * | 2006-05-22 | 2016-01-05 | Raphael L. Levien | Method and apparatus for interactive curve generation |
CN101470808A (zh) * | 2007-12-24 | 2009-07-01 | 北大方正集团有限公司 | 一种平面几何形状的特征描述方法 |
CN101937579A (zh) * | 2010-09-20 | 2011-01-05 | 南京大学 | 一种利用透视草图创建三维曲面模型的方法 |
CN103116900A (zh) * | 2013-01-30 | 2013-05-22 | 深圳联友科技有限公司 | 提取最小封闭图形的方法 |
US20150110420A1 (en) * | 2013-10-18 | 2015-04-23 | Institute For Information Industry | Image processing method and system using the same |
CN103679721A (zh) * | 2013-12-10 | 2014-03-26 | 中国船舶重工集团公司第七0九研究所 | 采用邻域法霍夫变换的图像轮廓简化方法 |
Non-Patent Citations (2)
Title |
---|
伍梅 等: "基于Web的CAD系统中最小不规则封闭区域的识别方法", 《工程图学学报》 * |
雷安民 等: "一种寻找平面图形中最小封闭线框的方法", 《科学技术与工程》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113297401A (zh) * | 2020-08-14 | 2021-08-24 | 躺平设计家(上海)科技有限公司 | 半边数据结构的生成方法、数据处理方法、装置及设备 |
CN113297401B (zh) * | 2020-08-14 | 2024-02-02 | 每平每屋(上海)科技有限公司 | 半边数据结构的生成方法、数据处理方法、装置及设备 |
CN112380611A (zh) * | 2020-12-04 | 2021-02-19 | 江南造船(集团)有限责任公司 | 船舶舾装平台通道的花钢板设计方法、装置、设备和介质 |
CN112380611B (zh) * | 2020-12-04 | 2022-11-15 | 江南造船(集团)有限责任公司 | 船舶舾装平台通道的花钢板设计方法、装置、设备和介质 |
CN116311338A (zh) * | 2023-03-27 | 2023-06-23 | 北京数码易知科技发展有限责任公司 | 一种最小闭合区域识别方法、装置、设备和计算机可读介质 |
CN116311338B (zh) * | 2023-03-27 | 2024-01-26 | 北京数码易知科技发展有限责任公司 | 一种最小闭合区域识别方法、装置、设备和计算机可读介质 |
CN116757025A (zh) * | 2023-06-07 | 2023-09-15 | 中国船级社上海规范研究所 | 一种基于dxf格式的船舶舱室图形自动拾取方法 |
CN116757025B (zh) * | 2023-06-07 | 2024-02-13 | 中国船级社上海规范研究所 | 一种基于dxf格式的船舶舱室图形自动拾取方法 |
CN117253052A (zh) * | 2023-11-20 | 2023-12-19 | 广州中望龙腾软件股份有限公司 | 最大闭合区域识别方法、装置、存储介质及计算机设备 |
CN117253052B (zh) * | 2023-11-20 | 2024-01-23 | 广州中望龙腾软件股份有限公司 | 最大闭合区域识别方法、装置、存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107644449B (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107644449A (zh) | 一种平面图形独立封闭区域识别方法 | |
Saalfeld | Conflation automated map compilation | |
CN103914506B (zh) | 数据检索装置、数据存储方法和数据检索方法 | |
Xu et al. | Constructing gene models from accurately predicted exons: an application of dynamic programming | |
Moreno et al. | Decomposition-based algorithms for the crew scheduling and routing problem in road restoration | |
CN107229420A (zh) | 数据存储方法、读取方法、删除方法和数据操作系统 | |
CN105808609A (zh) | 一种信息点数据冗余的判别方法和设备 | |
CN101911100B (zh) | 用于图像识别的基于特征的签名 | |
CN111199474A (zh) | 一种基于双方网络图数据的风险预测方法、装置和电子设备 | |
CN111222976A (zh) | 一种基于双方网络图数据的风险预测方法、装置和电子设备 | |
Bastani et al. | Machine-assisted map editing | |
Sun et al. | On finding approximate optimal paths in weighted regions | |
CN105760360A (zh) | 一种地址纠正方法和装置 | |
CN105426375A (zh) | 一种关系网络的计算方法及装置 | |
CN108629001A (zh) | 一种地理信息大数据的去重方法 | |
CN104036187A (zh) | 计算机病毒类型确定方法及其系统 | |
CN104915991B (zh) | 一种针对相交线状地理要素的空间剖分方法 | |
CN112597284A (zh) | 公司名称的匹配方法、装置、计算机设备及存储介质 | |
JP5612144B2 (ja) | 塩基配列アラインメントシステム及び方法 | |
CN104375186B (zh) | 一种去除异常初至的方法及系统 | |
AU2021105123A4 (en) | Redundancy rule screening method for association rule mining and device thereof | |
CN110427506A (zh) | 空间数据边界处理方法、装置、计算机设备及存储介质 | |
Mai et al. | TreeShrink: efficient detection of outlier tree leaves | |
CN104700030A (zh) | 一种病毒数据查找方法、装置及服务器 | |
Regnauld et al. | Automatic amalgamation of buildings for producing ordnance survey® 1: 50 000 scale maps |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210204 Address after: 212006 No.8 Dagang Angang Road, New District, Zhenjiang City, Jiangsu Province Applicant after: ZHENJIANG HENGCHANG COLOR TECHNOLOGY Co.,Ltd. Address before: Zhenjiang City, Jiangsu Province, 212013 Jingkou District Road No. 301 Applicant before: JIANGSU University |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |