几何建模中表面模型完整包络的自动检测方法技术

技术编号:10600871 阅读:163 留言:0更新日期:2014-11-05 13:48
本发明专利技术涉及一种几何建模中表面模型完整包络的自动检测方法,包括多边形面片间缝隙或面片悬挂检测算法、多边形面片重叠算法。利用该检测方法,可以对通过人机交互或模型自动转换得到的表面模型是否完整包络进行自动检测,以便检测出未完整包络的表面模型,提示技术人员去修正模型,从而最终得到符合矩量法网格划分和电磁计算所要求的表面模型。

【技术实现步骤摘要】
几何建模中表面模型完整包络的自动检测方法
本专利技术属于电磁兼容领域,涉及电磁场数值分析所用表面模型包络检测方法,具体的说是几何建模中表面模型完整包络的自动检测方法,用于电磁兼容领域几何建模及其它领域几何建模问题的研究。
技术介绍
随着现代电子科学技术的快速发展和不断进步,车辆、飞机、舰船等通信系统载体上装备了各种不同的用于接收和发射信号的设备,由于对通信系统载体性能要求的不断提高,使得其上装的各类无线电子设备的密度增加,导致这些电子、电器设备通信之间的电磁信号更加密集,电磁环境日益恶化。设备间以及设备与环境间的电磁干扰会影响设备和系统的使用性能,使它们不能正常工作,造成无法预知的后果,甚至会造成无法弥补的损失。因此,通信系统的电磁兼容问题不容忽视。计算电磁学是系统电磁兼容预测分析的主要工具。计算电磁学使用的方法主要有两类:一类是以电磁场问题微分方程为基础的数值方法,如有限元法;另一类是以电磁场问题积分方程为基础的数值方法,如矩量法。矩量法是电磁场数值分析计算中应用最早的一种方法,它是内域积分形式的加权余量法的总称。矩量法最早被Richmand和Harrington用于求解电磁场问题,而后Harrington将矩量法加以系统的论述,从此成为求解电磁场问题的主要方法。在电磁兼容分析和预测中,矩量法也得到了广泛的应用,而基于矩量法的电磁兼容分析软件更是为设备和系统的电磁兼容分析提供了方便而高效的手段。矩量法是以积分方程为基础的,因此,应用于电磁计算中就要求模型划分后的电流满足连续性,所以要保证载体模型在几何上满足一定的连续性。表面模型要完整包络,模型面片之间不能出现缝隙,模型面片不能出现悬挂,模型面片之间不能重叠。所以针对几何建模中通过人机交互或模型自动转换得到的表面模型完整包络的检测就非常有必要,模型如果没有完整包络,则计算结果会出现一定的误差甚至导致错误的结果。几何建模中表面模型完整包络的自动检测内容包含面片间缝隙检测、面片悬挂检测和面片重叠检测。文献“空间信息系统原理”(科学出版社,2001,作者:王家耀)通过选取负面积多边形,找出面积绝对值比负面积大,且多边形的最小外接矩形包含负面积多边形的所有多边形,然后判断负面积多边形的内点在哪些多边形内来确定多边形的相对位置关系;论文“确定两个任意简单多边形空间关系的算法”(计算机工程与应用,2003年1月,91-94,作者:朱雅音等)通过把简单多边形的边分为奇偶边,根据一个多边形的边与另外一个多边形的拓扑关系,划分边为5种拓扑类型:内边、外边、重叠边、相交边、复杂边,进而通过一定的算法确定两个多边形空间关系。可以看出,已有研究成果存在以下问题:(1)对模型面片之间缝隙和面片悬挂的研究很少;(2)对模型面片重叠的判断研究虽然很多,方法也很成熟,但是算法比较复杂,不适合用于表面模型面片重叠检测;(3)已有的研究算法都是针对多边形之间的位置判断,几乎没有针对整个表面模型完整包络的检测算法。
技术实现思路
本专利技术的目的在于克服上述现有研究中存在的问题,提供一种针对几何建模中表面模型完整包络的自动检测方法,以便检测出未完整包络的表面模型,提示技术人员去修正模型,从而最终得到符合矩量法网格划分和电磁计算所要求的表面模型。本专利技术的目的是这样实现的:几何建模中表面模型完整包络的自动检测方法,其特征是:包括如下步骤:步骤101:打开由三角形、四边形面片构成的表面模型文件;步骤102:将表面模型数据读入到tempcom_list链表中,tempcom_list链表中每一个存储单元存储一个三角形或四边形面片数据信息;步骤103:判断tempcom_list链表中的数据是否读完,如果读完,转至步骤104;如果没有读完,转至步骤105;步骤104:提示模型完整包络;步骤105:读取tempcom_list链表中一个存储单元存储的多边形数据,将读取出的多边形作为基多边形;这里的多边形指三角形、四边形面片;步骤106:读取tempcom_list链表中除去基多边形外其他所有的多边形,将这些多边形依次作为相对多边形,判断相对多边形到基多边形各条边距离为零的边是否将基多边形完整包围,如果基多边形被完整包围,转至步骤108;如果基多边形没有被完整包围,转至步骤107;步骤107:提示面片之间有缝隙或面片悬挂;步骤108:遍历tempcom_list链表,读取tempcom_list链表中除去基多边形的非基多边形,判断tempcom_list链表中是否有与基多边形在同一平面的非基多边形,如果有与基多边形在同一平面的非基多边形,转至步骤109;如果没有与基多边形在同一平面的非基多边形,转至步骤103;步骤109:找出与基多边形在同一平面的所有非基多边形,将与基多边形在同一平面的所有非基多边形依次作为相对多边形;步骤110:读取基多边形的三个顶点P1、P2、P3,取P1为局部坐标系的原点,取向量的方向为局部坐标系的X轴正方向,取向量的方向作为局部坐标系的Z轴正方向,取向量的方向作为局部坐标系的Y轴正方向,对基多边形和相对多边形做世界坐标系到局部坐标系的变换,变换后基多边形和相对多边形的z坐标全部为零,去掉基多边形和相对多边形顶点坐标的z坐标,得到转换基多边形和转换相对多边形,转换基多边形和转换相对多边形均为二维图形;步骤111:求转换基多边形和转换相对多边形的轴向包围盒;步骤112:判断轴向包围盒是否相交,如果相交,转至步骤113;如果不相交,转至步骤103;步骤113:判断转换基多边形和转换相对多边形是否相交,如果相交,转至步骤114;如果不相交,转至步骤103;步骤114:提示面片重叠。所示步骤106中到基多边形各条边距离为零的边是否将基多边形完整包围的判断方法,包括以下步骤:步骤201:读取基多边形的数据;步骤202:基多边形的边是否全部判断完,如果全部判断完,转至步骤203;如果没有全部判断完,转至步骤204;步骤203:提示基多边形被完整包围;步骤204:读取基多边形的一条边作为被判断边;步骤205:遍历tempcom_list链表,读取tempcom_list链表中除去基多边形外的非基多边形,然后判断是否有非基多边形的边到被判断边距离为零的边,如果有非基多边形的边到被判断边距离为零的边,转至步骤206;如果没有,转至步骤213;步骤206:找出到被判断边距离为零的所有边;步骤207:在找到的到被判断边距离为零的所有边中删除与被判断边方向相同的边,剩余的边作为判断边;步骤208:求出所有判断边两个端点在被判断边向量上的投影系数;步骤209:对每一个判断边,由两个端点的投影系数构造一个区间,并使区间右端点值不小于左端点值;步骤210:求出所有判断边对应区间的并集U;步骤211:判断区间U是否包含[0,1]区间,如果包含,转至步骤212;如果不包含,转至步骤213;步骤212:被判断边被完整包围;步骤213:被判断边没有被完整包围,亦即基多边形未被完整包围。所述的步骤113中转换基多边形与转换相对多边形是否相交的判断,包含如下步骤:步骤301:读取转换基多边形和转换相对多边形的数据;步骤302:转换基多边形的顶点是否判断完,如果判断完,转至步骤305;如果没有判本文档来自技高网
...
几何建模中表面模型完整包络的自动检测方法

【技术保护点】
几何建模中表面模型完整包络的自动检测方法,其特征是:包括如下步骤:步骤101:打开由三角形、四边形面片构成的表面模型文件;步骤102:将表面模型数据读入到tempcom_list链表中,tempcom_list链表中每一个存储单元存储一个三角形或四边形面片数据信息;步骤103:判断tempcom_list链表中的数据是否读完,如果读完,转至步骤104;如果没有读完,转至步骤105;步骤104:提示模型完整包络;步骤105:读取tempcom_list链表中一个存储单元存储的多边形数据,将读取出的多边形作为基多边形;这里的多边形指三角形、四边形面片;步骤106:读取tempcom_list链表中除去基多边形外其他所有的多边形,将这些多边形依次作为相对多边形,判断相对多边形到基多边形各条边距离为零的边是否将基多边形完整包围,如果基多边形被完整包围,转至步骤108;如果基多边形没有被完整包围,转至步骤107;步骤107:提示面片之间有缝隙或面片悬挂;步骤108:遍历tempcom_list链表,读取tempcom_list链表中除去基多边形的非基多边形,判断tempcom_list链表中是否有与基多边形在同一平面的非基多边形,如果有与基多边形在同一平面的非基多边形,转至步骤109;如果没有与基多边形在同一平面的非基多边形,转至步骤103;步骤109:找出与基多边形在同一平面的所有非基多边形,将与基多边形在同一平面的所有非基多边形依次作为相对多边形;步骤110:读取基多边形的三个顶点P1、P2、P3,取P1为局部坐标系的原点,取向量的方向为局部坐标系的X轴正方向,取向量的方向作为局部坐标系的Z轴正方向,取向量的方向作为局部坐标系的Y轴正方向,对基多边形和相对多边形做世界坐标系到局部坐标系的变换,变换后基多边形和相对多边形的z坐标全部为零,去掉基多边形和相对多边形顶点坐标的z坐标,得到转换基多边形和转换相对多边形,转换基多边形和转换相对多边形均为二维图形;步骤111:求转换基多边形和转换相对多边形的轴向包围盒;步骤112:判断轴向包围盒是否相交,如果相交,转至步骤113;如果不相交,转至步骤103;步骤113:判断转换基多边形和转换相对多边形是否相交,如果相交,转至步骤114;如果不相交,转至步骤103;步骤114:提示面片重叠。...

【技术特征摘要】
1.几何建模中表面模型完整包络的自动检测方法,其特征是:包括如下步骤:步骤101:打开由三角形、四边形面片构成的表面模型文件;步骤102:将表面模型数据读入到tempcom_list链表中,tempcom_list链表中每一个存储单元存储一个三角形或四边形面片数据信息;步骤103:判断tempcom_list链表中的数据是否读完,如果读完,转至步骤104;如果没有读完,转至步骤105;步骤104:提示模型完整包络;步骤105:读取tempcom_list链表中一个存储单元存储的多边形数据,将读取出的多边形作为基多边形;这里的多边形指三角形、四边形面片;步骤106:读取tempcom_list链表中除去基多边形外其他所有的多边形,将这些多边形依次作为相对多边形,判断相对多边形到基多边形各条边距离为零的边是否将基多边形完整包围,如果基多边形被完整包围,转至步骤108;如果基多边形没有被完整包围,转至步骤107;步骤107:提示面片之间有缝隙或面片悬挂;步骤108:遍历tempcom_list链表,读取tempcom_list链表中除去基多边形的非基多边形,判断tempcom_list链表中是否有与基多边形在同一平面的非基多边形,如果有与基多边形在同一平面的非基多边形,转至步骤109;如果没有与基多边形在同一平面的非基多边形,转至步骤103;步骤109:找出与基多边形在同一平面的所有非基多边形,将与基多边形在同一平面的所有非基多边形依次作为同面相对多边形;步骤110:读取基多边形的三个顶点P1、P2、P3,取P1为局部坐标系的原点,取向量的方向为局部坐标系的X轴正方向,取向量的方向作为局部坐标系的Z轴正方向,取向量的方向作为局部坐标系的Y轴正方向,对基多边形和同面相对多边形做世界坐标系到局部坐标系的变换,变换后基多边形和同面相对多边形的z坐标全部为零,去掉基多边形和同面相对多边形顶点坐标的z坐标,得到转换基多边形和转换相对多边形,转换基多边形和转换相对多边形均为二维图形;步骤111:求转换基多边形和转换相对多边形的轴向包围盒;步骤112:判断轴向包围盒是否相交,如果相交,转至步骤113;如果不相交,转至步骤103;步骤113:判断转换基多边形和转换相对多边形是否相交,如果相交,转至步骤114;如果不相交,转至步骤103;步骤114:提示面片重叠。2.根据权利要求1所述的几何建模中表面模型完整包络的自动检测方法,其特征是:所示步骤106中到基多边形各条边距离为零的边是否将基多边形完整包围的判断方法,包括以下步骤:步骤201:读取基多边形的数据;步骤202:基多边形的边是否全部判断完,如果全部判断完,转至步骤203;如果没有全部判断完,转至步骤204;步骤203:提示基多边形被完整包围;步骤204:读取基多边形的一条边作为被判断边;步骤20...

【专利技术属性】
技术研发人员:许社教邱扬田锦邓拓李华杜美玲
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1