提取最小封闭区域
题目描述:
第一步:通过txt文本导入任意条线段、多段线;
第二步:可以保存和打开模型数据;
第三步:运用面向对象的知识,进行C++编码,求出第一步中导入的线条交叉后的所有最小封闭区域。
如图:
一、解决方法:
1.得到线段集合S(线段的集合为line和polyline);
2.移除孤立的线段(两端的点都是孤立的);
3.拆分所有的线段(就是将所有的相交线线段拆分开,得到新的线段集合S);
4.移除一个端点孤立的线段(一个端点孤立的线段是不构成多边形的);
5、计算最小闭合区域;
6.去除不合理的区域。
本文提取最小闭合区域的算法主要查看专利文章《提取最小封闭图形的方法》。
详细的代码实现过程见代码项目。
二、完整项目代码(VS2012):
代码:
链接:https://pan.baidu.com/s/1M3qvdAdO0C57KvS5NpqDrA
提取码:7t1v
专利:提取最小封闭图形的方法-专利.pdf
链接:https://pan.baidu.com/s/1njRr-IK1a5fFYn-WFVVNfw
提取码:w8cm
三、代码运行后效果: