一种空间三角网格边界提取方法

文档序号:6519986阅读:650来源:国知局
一种空间三角网格边界提取方法
【专利摘要】本发明公开了一种空间三角网格边界提取方法,通过将避让几何体进行离散化后,利用边界提取算法提取空间三角片云的边界,为后续配置空间的映射和避让几何规划提供技术准备。本发明有效解决了闭式叶轮数控加工时的避让干涉问题,适于推广应用。
【专利说明】一种空间三角网格边界提取方法
【技术领域】
[0001]本发明涉及一种边界提取方法,具体地说,是指一种空间三角网格边界提取方法。【背景技术】
[0002]闭式叶轮是将轴盘曲面、盖盘曲面和叶片曲面连成一体形成流道的叶轮,其型腔具有封闭性,加工困难,因此,开展闭式叶轮五坐标数控加工具有重要的意义。
[0003]要对闭式叶轮的一个封闭流道进行轨迹规划,其难点是自动的对发生碰撞处的刀具姿态进行修正,这需要用到一系列复杂的计算几何方面的方法,这其中包括避让几何体边界的提取、配置空间的映射、避让几何规划等关键技术。

【发明内容】

[0004]发明目的
[0005]本发明涉及一种空间三角网格边界提取方法,其目的在于将避让几何体的几何边界提取出来,为后续的避让几何规划提供基础。
[0006]技术方案
[0007]一种空间三角网格边界提取方法,其特征在于:该方法步骤如下:
[0008](I)将来自CAD软件的曲面几何模型离散为三角网格数据;
[0009](2)遍历所有网格数据及其顶点,根据邻接三角网格原理,判断该顶点是否为边界顶点,如果是边界顶点,则保存进边界顶点集合中,如果不是边界顶点,忽略;在判断结束后,边界顶点集合形成了边界顶点数组;
[0010](3)对步骤(2)生成的边界顶点数组进行排序,最终生成空间三角网格的有向边界,为下一步闭式叶轮的轨迹规划提供准备条件。
[0011]优点及效果
[0012]本发明这种空间三角网格边界提取方法,通过将避让几何体进行离散化后,利用边界提取算法提取空间三角片云的边界,为后续配置空间的映射和避让几何规划提供技术准备;同时,本发明方法也可以应用在计算机辅助文物复原系统中对破损文物的修复工作中。
[0013]与现有技术相比,本发明具有如下优点和有益效果:
[0014]( I)解决了配置空间映射算法中避让几何体的映射问题;
[0015](2)解决了空间三角网格的边界提取算法问题;
[0016](3)为闭式叶轮无干涉刀具轨迹规划铺平了道路,提供了一种切实可行的轨迹规划方法。
【专利附图】

【附图说明】
[0017]图1是空间二角网格曲面不意图;
[0018]图2是实施例1不意图;其中图2 (a)为封闭曲面,图2 (b)为空间二角网格曲面,图2 (c)为提取的边界;
[0019]图3是实施例2示意图;其中图3 (a)为闭式叶轮一封闭流道,图3 (b)为离散后的空间三角网格曲面,图3 (c)为提取的边界。
【具体实施方式】:
[0020]下面结合附图对本发明做进一步的说明:
[0021]本发明是一种空间三角网格边界提取方法,其特征在于:该方法步骤如下:
[0022](I)将来自CAD软件的曲面几何模型离散为三角网格数据;
[0023](2)遍历所有网格数据及其顶点,根据邻接三角网格原理,判断该顶点是否为边界顶点,如果是边界顶点,则保存进边界顶点集合中,如果不是边界顶点,忽略;在判断结束后,边界顶点集合形成了边界顶点数组;
[0024](3)对步骤(2)生成的边界顶点数组进行排序,最终生成空间三角网格的有向边界,为下一步闭式叶轮的轨迹规划提供准备条件。
[0025]该空间三角网格边界提取方法,具体步骤如下:
[0026]1.避让几何体边界的提取
[0027]所谓避让几何特指加工中刀具不能与其相干涉的几何体。本发明专利采用提取避让几何边界的方法来解决碰撞干涉问题。
[0028]空间网格数据是一种非常重要的数据格式,在科学计算可视化、计算机辅助几何设计、三维建模和重构、有限元计算等领域有着广泛的应用。本发明专利将空间曲面离散成三角片,并利用的“空间三角网格边界提取方法”,将避让几何体的边界提取出来,解决了“避让几何规划”算法中碰撞空间映射困难的问题,为避让几何规划算法的开发铺平了道路。
[0029]2.空间三角网格边界提取方法的基本原理
[0030]边界提取方法的基本原理是将边界点提取出来,并按照某个方向顺次排列,依次连接构成一条封闭的曲线。所以,边界点的判断是整个方法的基础。
[0031]由于曲面三角网格数据分布在曲面上,而且采样不规则,因此首先要在三角网格数据中定义邻接三角网格和邻接点。对于网格数据中的点,如果它是某一个三角网格的一个顶点,则称这个三角网格是这个点的邻接三角网格;如果网格数据中的两个点的连接线段为某一三角网格的边,则称这两个点为邻接点。曲面上一点P的所有邻接三角网格构成P的邻接三角网格集合Tp = {T IP G T},其中T为曲面上的一个三角网格。P的所有邻接点构成P的邻接点集合Vp = {T,P G T&&Q G T},Q是曲面上异于P的点。要判断P点是否为边界点,可以通过Vp来判断。如果Vp中的点都能通过三角网格的边连接组合成闭合的曲线,则点P为内点,否则为边界点。
[0032]如下图1所示,Vh=认,1,13上6},因为六、1、1、£、?和6组合成一个闭合的曲线,所以点H为内点,不是边界点^Va= {B,I,H,G},因为B、1、H和G不能组合成闭合曲线,所以A为边界点。
[0033]3.边界提取算法
[0034]先定义要用到的数据结构,设空间曲面上有N个点,组成M个三角网格。其中三角网格的数据结构为:[0035]用三个整形(int)数据A、B和C分别保存三角网格的三个顶点的索引值,并定义名为TRIANGLE (三角形)的结构体。
[0036]三角网格顶点的存储结构为:
[0037]定义TRIVERTEX (三角形顶点)结构体,结构体的成员变量为:①整形index变量,保存该点的索弓I ;②整形向量NeighborTriIndex变量,保存该点的邻接三角形索引链表;③整形变量NumAdjPoints,保存该点的邻接边界点的个数;④整形向量AdjacentPtsIndex,保存该点邻接边界点索引值的链表。
[0038]边界提取算法的完整步骤为:
[0039](I)对曲面上的每个点建立它的“邻接三角网格”链表NeighborTriangles。
[0040](2)对曲面上的每个点作边界点判断。生成边界点数组BoundaryVerVec。边界点判断方法见第4部分。NumAdjPoint记录Temp中点的个数,如果当前点为内点,则NumAdjPoint为0,数组AdjacentPtsIndex存放Temp中的点的索引值。
[0041](3)从 BoundaryVerVec 中选取 NumAdjPoint 值最大的一个点 BoundaryVerVec [i]作为当前点,新建一个边界曲线,把此点加入曲线作为起点,继续搜索此边界上的其它点。如果 BoundaryVerVec [i].NumAdjPoints 为 0,则转到第(6)步。
[0042](4)从当前点的 AdjacentPtsIndex 中取出一点 BoundaryVerVec [j],并在AdjacentPtsIndex中把它删除,当前点的NumAdjPoint减I。
[0043](5)从BoundaryVerVec [j]的AdjacentPtsIndex中找出当前点的索引,将其删除,BoundaryVerVec [j].NumAdjPoints 减 I。如果BoundaryVerVec [j]不等于边界曲线的起点,则把它加入到当前的边界曲线中,并把它作为当前点,转到第(4)步,否则转第(3)步。
[0044]4.边界点判断方法
[0045]上述步骤(2)中边界点的判断方面如下:
[0046](I)建立一个临时点数组Temp,用来保存某个点的“邻接边界点”,并置为空;
[0047](2)对当前点的所有邻接三角网格上异于当前点的点作如下操作:如果Temp包含此点,则从Temp中删除此点;否则,把此点加入到Temp中;
[0048]检查Temp,如果Temp为空,贝U当前点为内点,否则为边界点。并且,Temp中的点是当前点的“邻接边界点”。
[0049]应用本发明方法提取边界曲线的具体实施例如下:
[0050]实施例1
[0051]该方法步骤如上所述,提取过程参见图2,左侧图2 (a)为封闭曲面,中间图2 (b)为空间三角网格曲面,右侧图2 (C)为提取的边界。
[0052]实施例2
[0053]该方法步骤如上所述,提取过程参见图3,左侧图3 (a)为闭式叶轮一封闭流道,中间图3 (b)为离散后的空间三角网格曲面,右侧图3 (c)为提取的边界。
【权利要求】
1.一种空间三角网格边界提取方法,其特征在于:该方法步骤如下: (1)将来自CAD软件的曲面几何模型离散为三角网格数据; (2)遍历所有网格数据及其顶点,根据邻接三角网格原理,判断该顶点是否为边界顶点,如果是边界顶点,则保存进边界顶点集合中,如果不是边界顶点,忽略;在判断结束后,边界顶点集合形成了边界顶点数组; (3)对步骤(2)生成的边界顶点数组进行排序,最终生成空间三角网格的有向边界,为下一步闭式叶轮的轨迹规划提供准备条件。
【文档编号】G06T7/00GK103559720SQ201310589634
【公开日】2014年2月5日 申请日期:2013年11月19日 优先权日:2013年11月19日
【发明者】梁全, 苏齐莹, 苏东海 申请人:沈阳工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1