一种基于二叉树的网格划分方法技术

技术编号:23345820 阅读:48 留言:0更新日期:2020-02-15 04:42
本发明专利技术公开了一种基于二叉树的网格划分方法,包括二叉树网格的创建与二叉树网格的划分,其中二叉树网格的划分包含区域网格的划分。通过采用基于二叉树的网格划分方法使得模型的网格数量大量减少,从而在模型的铣削实时仿真中计算量少,占用内存少,响应速度快。

A mesh generation method based on binary tree

【技术实现步骤摘要】
一种基于二叉树的网格划分方法
本专利技术涉及计算机模拟仿真领域,特别涉及一种适用于在铣削实时仿真中的三维模型网格划分方法。
技术介绍
铣削仿真就是利用计算机模拟铣刀沿着铣削轨迹与被加工工件(毛坯)之间的相对运动,实现对加工中铣刀移动、铣削等过程的监控和验证。当前铣削仿真中几何模型主要有:线框模型、图像空间模型、实体模型和离散矢量模型等。实体模型方法用数学模型描述几何体,保留了全部的数据,计算结果精确可控,可以进行旋转、缩放等几何变换和数据分析测量。但是实体模型在铣削仿真中求交计算量大,仿真速度慢。留量几何模型基于实体模型方法,以网格来模拟工件表面,通过网格Z方向(或矢量方向)的值来表示工件上留存的材料。仿真时,通过修改网格节点的Z值来模拟工件表面的变化,简称为Z-Map方法。该方法在车削、磨削和铣削等仿真中得到了广泛的应用。在留量几何模型中网络数量的多少直接关系到计算量的大小,占用内存的多少,响应速度的快慢。而实时仿真要求计算速度快、响应及时,同时占有内存空间小。在铣削仿真时,传统研究中绝大多数首先对工件整体进行网格划分,然后进行仿真计算。随着计算机模拟仿真技术的不断发展,对仿真过程的要求越来越高,因此急需研究一种能够准确、快速响应仿真过程的网格计算方法。
技术实现思路
为了解决现有的技术问题,本专利技术提出了一种基于二叉树的网格表示方法,仅仅对需要铣削仿真的区域进行网格细分,快速响应仿真过程本专利技术的基于二叉树的网格划分方法通过以下技术方案实现:依据本专利技术,提供一种基于二叉树的网格划分方法,包括二叉树网格的创建与二叉树网格的划分,二叉树网格的划分包含区域网格的划分,其中,二叉树网格的创建包含以下步骤:(1)构造三角形库(Triangles),并将构成3D模型的所有三角形输入三角形库中;(2)构造树节点;(3)构造树节点库(TreeNodes),并将得到的树节点加入到树节点库中;(4)遍历查找所有三角形以获得完整的树节点库,其中树节点库中的每一个树节点分别对应于三角形库中的一个节点三角形;区域网格的划分包含以下步骤:(5)输入区域点t1、t2和最大细分网格面积S;(6)在三角形库中查找所有节点三角形,记为V,其投影包含于或相交于区域(t1,t2);(7)确定是否遍历V中的三角形N1,并响应于确定结构执行以下步骤:(7.1)如果确定结构为非空且三角形N1的面积大于最大细分网格面积S,则对三角形N1划分直至其满足最大细分网格面积S的要求,然后结束划分;(7.2)如果确定结构为非空且三角形N1的面积小于最大细分网格面积S,从V中移除N1并返回至步骤(7)继续循环;(7.3)如果确定结果为空,则直接结束划分。依据本专利技术的一个实施例,构造树节点包含:在三角形库中任选择一个三角形作为起始三角形①,以该三角形任一条边为父边,并确定左边和右边,得到第一个树节点。依据本专利技术的一个实施例,遍历查找所有三角形包含:查找与起始三角形①的左边、右边共边的另外的三角形以确定是否存在新的树节点,若存在,则以该共边为父边,重复上述操作以从另外的三角形继续遍历查找。依据本专利技术的一个实施例,通过以下步骤基于原树节点来查找新的树节点:(4.1)确定在树节点库中查找原树节点的左边/右边是否存在于除原树节点以外的其他树节点中;(4.2)如果是,则在原树节点与查到的树节点之间建立连接关系并结束本次查找;(4.3)如果不是,则确定在三角形库中查找原树节点的左边/右边是否存在于除原树节点以外的其他树节点中,(4.3.1)如果是,则用查到的三角形构造新的树节点并将新的树节点加入到树节点库中,(4.3.2)如果不是,则发出错误报告并结束本次查找。依据本专利技术的一个实施例,对三角形N1划分包含:则计算三角形N1的最长边L,计最长边L相邻三角形为N2,并确定三角形N2投影与区域(t1,t2)是否包含或相交;(7.1.1)如果结果为是,若三角形N2最长边是L则划分N1、N2公共边L,得到三角形n1、n2、n3、n4,若三角形N2最长边不是L则返回至步骤(7)继续循环;(7.1.2)如果结果为否,则直接划分N1、N2公共边L,得到n1、n2、n3、n4。依据本专利技术的一个实施例,方法进一步包含:(7.1.3)待三角形N1被划分为n1、n2、n3、n4后,从V中移除N1,将n1三个相邻节点加入到V中,并返回至步骤2.3.3继续循环。依据本专利技术的一个实施例,通过以下步骤划分N1、N2公共边L,得到n1、n2、n3、n4:(1)输入父节点n1、子节点n2;(2)计算n1、n2共边的终点P;(3)将终点P存入顶点库(Vertices)中;(4)用P点分割n1得到n3;(5)用P点替换n1的顶点库和三角形库对应的信息;(6)将n3存入三角形库和树节点库中;(7)用P点分割n2得到n4;(8)用P点替换n2的顶点库和三角形库对应的信息;(9)将n4存入三角形库和树节点库中;(10)构造n1、n2、n3、n4的连接关系。由于采用以上技术方案,本专利技术与现有技术相比具有如下优点:通过采用基于二叉树的网格划分方法使得模型的网格数量大量减少,从而在模型的铣削实时仿真中计算量少,占用内存少,响应速度快。附图说明图1是显示依据本专利技术的三角形网格的示意图;图2是依据本专利技术的二叉树网格的示意图;图3是依据本专利技术的二叉树网格的创建流程图;图4a是依据本专利技术的立方体网格的示意图;图4b是图4a所示的立方体网格的二叉树的示意图;图5是依据本专利技术的父子共边网格划分的示意图;图6是依据本专利技术的父子共边网格的处理流程图;图7是依据本专利技术的无父子共边网格划分的示意图;图8a是显示依据本专利技术的网格的左连接关系的示意图;图8b是显示依据本专利技术的网格右连接关系的示意图;图9是依据本专利技术的区域网格划分流程图;图10是依据本专利技术的区域网格划分的示意图;图11是单元网格最大面积是1时的区域网格与全部网格的仿真对比图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。传统三角形网格具有模型简单、仿真精度可控、实时性好、视角连续可变,在加工仿真、虚拟加工应用广泛。这里讨论的网格均是三角形网格。为了节省内存空间,3D模型用顶点和三角形表示(n个顶点,m个三角形),如式(1)所示:图1为三角形网格的示意图,清楚地显示了三角形网格中顶点与边的关系。其中,三角形的顶点顺序表示三角面的朝外法向。三角形中仅保存顶点的序号,第k+1个三角形顶点为Triangles[3k],本文档来自技高网...

【技术保护点】
1.一种基于二叉树的网格划分方法,其特征在于,包括二叉树网格的创建与二叉树网格的划分,所述二叉树网格的划分包含区域网格的划分,其中,/n所述二叉树网格的创建包含以下步骤:/n(1)构造三角形库(Triangles),并将构成3D模型的所有三角形输入三角形库中;/n(2)构造树节点;/n(3)构造树节点库(TreeNodes),并将得到的树节点加入到树节点库中;/n(4)遍历查找所有所述三角形以获得完整的树节点库,其中所述树节点库中的每一个树节点分别对应于所述三角形库中的一个节点三角形;/n所述区域网格的划分包含以下步骤:/n(5)输入区域点t1、t2和最大细分网格面积S;/n(6)在所述三角形库中查找所有所述节点三角形,记为V,其投影包含于或相交于区域(t1,t2);/n(7)确定是否遍历V中的三角形N1,并响应于确定结构执行以下步骤:/n(7.1)如果所述确定结构为非空且所述三角形N1的面积大于所述最大细分网格面积S,则对所述三角形N1划分直至其满足所述最大细分网格面积S的要求,然后结束划分;/n(7.2)如果所述确定结构为非空且所述三角形N1的面积小于所述最大细分网格面积S,从V中移除N1并返回至步骤(7)继续循环;/n(7.3)如果所述确定结果为空,则直接结束划分。/n...

【技术特征摘要】
1.一种基于二叉树的网格划分方法,其特征在于,包括二叉树网格的创建与二叉树网格的划分,所述二叉树网格的划分包含区域网格的划分,其中,
所述二叉树网格的创建包含以下步骤:
(1)构造三角形库(Triangles),并将构成3D模型的所有三角形输入三角形库中;
(2)构造树节点;
(3)构造树节点库(TreeNodes),并将得到的树节点加入到树节点库中;
(4)遍历查找所有所述三角形以获得完整的树节点库,其中所述树节点库中的每一个树节点分别对应于所述三角形库中的一个节点三角形;
所述区域网格的划分包含以下步骤:
(5)输入区域点t1、t2和最大细分网格面积S;
(6)在所述三角形库中查找所有所述节点三角形,记为V,其投影包含于或相交于区域(t1,t2);
(7)确定是否遍历V中的三角形N1,并响应于确定结构执行以下步骤:
(7.1)如果所述确定结构为非空且所述三角形N1的面积大于所述最大细分网格面积S,则对所述三角形N1划分直至其满足所述最大细分网格面积S的要求,然后结束划分;
(7.2)如果所述确定结构为非空且所述三角形N1的面积小于所述最大细分网格面积S,从V中移除N1并返回至步骤(7)继续循环;
(7.3)如果所述确定结果为空,则直接结束划分。


2.根据权利要求1所述的基于二叉树的网格划分方法,其特征在于,所述构造树节点包含:在三角形库中任选择一个三角形作为起始三角形①,以该三角形任一条边为父边,并确定左边和右边,得到第一个树节点。


3.根据权利要求2所述的基于二叉树的网格划分方法,其特征在于,所述遍历查找所有所述三角形包含:查找与所述起始三角形①的左边、右边共边的另外的三角形以确定是否存在新的树节点,若存在,则以该共边为父边,重复上述操作以从另外的三角形继续遍历查找。


4.根据权利要求3所述的基于二叉树的网格划分方法,其特征在于,通过以下步骤基于原树节点来查找新的树节点:
(4.1)确定在树节点库中查找原树节点的左边/...

【专利技术属性】
技术研发人员:成建群
申请(专利权)人:苏州健雄职业技术学院
类型:发明
国别省市:江苏;32

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

1