CN110796729B - 一种基于二叉树的网格划分方法 - Google Patents
一种基于二叉树的网格划分方法 Download PDFInfo
- Publication number
- CN110796729B CN110796729B CN201911038936.2A CN201911038936A CN110796729B CN 110796729 B CN110796729 B CN 110796729B CN 201911038936 A CN201911038936 A CN 201911038936A CN 110796729 B CN110796729 B CN 110796729B
- Authority
- CN
- China
- Prior art keywords
- triangle
- node
- library
- tree
- grid
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000004044 response Effects 0.000 claims abstract description 7
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 2
- 238000004088 simulation Methods 0.000 abstract description 27
- 238000003801 milling Methods 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000005094 computer simulation Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000000227 grinding Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000007514 turning Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种基于二叉树的网格划分方法,包括二叉树网格的创建与二叉树网格的划分,其中二叉树网格的划分包含区域网格的划分。通过采用基于二叉树的网格划分方法使得模型的网格数量大量减少,从而在模型的铣削实时仿真中计算量少,占用内存少,响应速度快。
Description
技术领域
本发明涉及计算机模拟仿真领域,特别涉及一种适用于在铣削实时仿真中的三维模型网格划分方法。
背景技术
铣削仿真就是利用计算机模拟铣刀沿着铣削轨迹与被加工工件(毛坯)之间的相对运动,实现对加工中铣刀移动、铣削等过程的监控和验证。当前铣削仿真中几何模型主要有:线框模型、图像空间模型、实体模型和离散矢量模型等。实体模型方法用数学模型描述几何体,保留了全部的数据,计算结果精确可控,可以进行旋转、缩放等几何变换和数据分析测量。但是实体模型在铣削仿真中求交计算量大,仿真速度慢。留量几何模型基于实体模型方法,以网格来模拟工件表面,通过网格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],Triangles[3k+1],Triangles[3k+2]。三角形的边按顶点顺序分别标记为0、1、2。同时边分为父边(P)、左边(L)、右边(R),父边、左边、右边与顶点顺序一致。每一个三角形有且仅有一个父边、左边、右边构成。
三角形作为二叉树的节点,左边与二叉树左节点的父边共边,右边与二叉树右节点的父边共边。如图2所示,三角形①左节点为三角形②,右节点为三角形③。其中,三角形①的顶点序号为Triangles[0]、Triangles[1]、Triangles[2],三角形②的顶点序号为Triangles[3]、Triangles[4]、Triangles[5],三角形③的顶点序号为Triangles[6]、Triangles[7]、Triangles[8]。
经以上分析,m个三角形构成的3D模型可以表示为一个由m个节点构成的二叉树,每个节点代表一个三角形,二叉树的节点关系表示了三角形的共边关系,如式(2)所示:
依据本发明的基于二叉树的网格划分方法总体包含二叉树网格的创建和二叉树网格的划分两个步骤,其中二叉树网格的划分具体可包含区域网格的划分。
1.二叉树网格的创建
图3示出了依据本发明的实施例来创建二叉树网格的流程图,图4a和4b分别为包含三角形标识的3D模型的立方体网格及其二叉树的示意图。创建二叉树网格时,需执行以下步骤:
(1)构造三角形库(Triangles),并将构成3D模型的所有三角形输入三角形库中。
(2)构造树节点。具体地,在三角形库中任选择一个三角形作为起始三角形①,以该三角形任一条边为父边,并确定左边和右边,得到第一个树节点。
(3)构造树节点库(TreeNodes),并将得到的树节点加入到树节点库中。
(4)查找与起始三角形①的左边、右边共边的另外三角形以确定是否存在新的树节点,例如三角形②和③。以该共边为父边,重复上述操作以从另外的三角形继续遍历查找,直到所有三角形均查找完成,最终可得到完整的树节点库,即完成二叉树网格的创建。具体地,树节点库中的每一个树节点分别对应于三角形库中的一个节点三角形。
在本发明的实施例中,具体可以通过以下步骤基于原树节点(即父节点)来查找新的树节点(即子节点):
(4.1)确定在树节点库中查找原树节点的左边/右边是否存在于除原树节点以外的其他树节点中;
(4.2)如果是,则在原树节点与查到的树节点之间建立连接关系并结束本次查找;
(4.3)如果不是,则确定在三角形库中查找原树节点的左边/右边是否存在于除原树节点以外的其他树节点中,
(4.3.1)如果是,则用查到的三角形构造新的树节点并将新的树节点加入到树节点库中,
(4.3.2)如果不是,则发出错误报告并结束本次查找。
2.二叉树网格的划分
在铣削仿真中网格随铣削区域进行细分,首先就是要对网格单元划分。相邻的网格单元划分,取公共边中点,原来的两个三角形划分为四个三角形,产生一个新的顶点。在网格二叉树中,相邻网格有两种关系:父子共边网格和无父子共边网格。
2.1父子共边网格
如图5为父子共边网格划分的示意图,网格三角形①和②相邻,用虚线划分,生成四个新的网格三角形1、2、3、4。因网格三角形①和②的共边的端点次序可能不一致(例如网格三角形①的左边或右边与网格三角形②的父边一致),可构成图5所示的四种情况。随后,依照图5所示的结构关系,修改网格二叉树数据。
图6示出了依据本发明的一个实施例的父子共边网格的处理流程图。具体处理可包含如下步骤:
(1)输入父节点n1、子节点n2;
(2)计算n1、n2共边的终点P;
(3)将终点P存入顶点库(Vertices)中;
(4)用P点分割n1得到n3;
(5)用P点替换n1的Vertices和Triangles对应的信息;
(6)将n3存入Triangles和TreeNodes库中;
(7)用P点分割n2得到n4;
(8)用P点替换n2的Vertices和Triangles对应的信息;
(9)将n4存入Triangles和TreeNodes库中;
(10)构造n1、n2、n3、n4的连接关系。
2.2无父子共边网格
无父子共边网格处理流程与父子共边网格处理流程一致,但无父子关系共边的三角形因两个三角形共左边与共右边、顶点次序相同与相反共有八种情况,具体参见图7。划分网格后,三角形划分后的二叉树的结构仅仅与公共边为左边还是右边有关,不妨称为左连接、右连接。三角形①划分后变为1、3,三角形②划分后变为2、4,并且1、3为父子关系,2、4为父子关系,可以得到如下表1关系。
表1无父子共边网格划分
图8a和8b分别示出了网格的左右连接关系。网格中N1、N2的公共边划分后产生n1、n2、n3、n4。二叉树节点N1进行划分生成n3,n1与n2共边,n3与n4共边。
对于图8a所示的左连接(仅仅需要考虑n1、n3的关系),左边为公共边,n3的父节点为n1,n3的左节点为n4,n3的右节点为N1的右节点。即得到的关系如式(3)所示:
N1的右节点与N1的关系需要修改为与n3的关系。若N1的右节点的父节点为N1,则N1的右节点的父节点为n3。否则,若N1的右节点的左节点为N1,则N1的右节点的左节点为n3。否则,若N1的右节点的右节点为N1,则N1的右节点的右节点为n3。即得到的关系如式(4)所示:
另外,n1的父节点保持不变,n1的右节点为n3,n1的左节点为n2。即得到的关系如式(5)所示:
对于图8b所示的右连接(仅仅需要考虑n1、n3的关系),右边为公共边,n3的父节点为n1,n1右节点为n4,n3的左节点为N1的左节点。即得到的关系如式(6)所示:
N1的左节点与N1的关系需要修改为与n3的关系。若N1的左节点的父节点为n1,则N1的左节点的父节点为n3。否则,若N1的左节点的左节点为N1,则N1的左节点的左节点为n3。否则,若N1的左节点的右节点为N1,则N1的左节点的右节点为n3。即得到的关系如式(8)所示:
另外,n1的父节点保持不变,n1的左节点为n3,n1的右节点为n2。即得到的关系如式(8)所示:
根据以上分析,可以完成左右连接的处理函数,分别记为式(9):
左右连接形式参数序列均为n1、n2、n3、n4,表示两个相邻节点划分后产生四个节点,并且节点n1划分后产生n3,且n1与n2相邻,n3与n4相邻。
在应用表1关系时,以表1序号3为例,节点n1、n2进行划分产生n3、n4,n1的左边与n2的右边共边,顶点次序相同。构造二叉树关系时,n1、n3关系为左连接,参数为n1、n4、n3、n2,即相当于n1划分后产生n3,且n1与n4相邻,n3与n2相邻。调用过程如式(10):
LeftLink(n1,n4,n3,n2)(10)
n2、n4关系为右连接,参数为n2、n3、n4、n1,即相当于n2划分后产生n4,且n2与n3相邻,n4与n1相邻。调用过程如式(11):
RightLink(n2,n3,n4,n1)(11)
这样处理大大简化了程序判断,提高了处理效率,节省了响应时间。
2.3区域网格的划分
在铣削仿真时,工件表面需要变化的网格区域是刀具运动在网格表面的投影区域。为了分析方便,不妨设投影区域为二维点t1、t2围成的矩形区域。当网格与本区域相交或在本区域内就需要进行细分,直到满足细分最大面积的要求。
因切削区域是在工件表面的投影是连续的,从一个与切削区域相交或在切削区域内的三角形出发,通过事先构造的二叉树,就可以找到所有的相关三角形,并进行细分。为了不使细长三角形影响仿真效果,在切削区域内划分的两个三角形的共边必须为三角形的最长边。在切削区域边界处,若三角形在切削区域外或者三角形在切削区域上的投影面积为0,则该三角形的划分情况不影响切削仿真,没有细长三角形的要求,可以在非最长边上进行划分。在本发明的实施例中,可以仅对区域网格进行划分,具体流程如图9所示,其包含如下步骤:
(1)输入区域点t1、t2和最大细分网格面积S;
(2)在三角形库中查找所有节点三角形,记为V,其投影包含于或相交于区域(t1,t2);
(3)确定是否遍历V中的三角形N1;
(4)如果确定结果为空,则表示没有三角形与本区域相交或在本区域内,即没有网格需要划分,可直接结束划分;
(5)如果确定结果为非空,则表示有三角形与本区域相交或在本区域内,即有网格需要划分,因此对三角形划分直至其满足最大细分面积的要求后结束划分。
具体地,确定三角形N1投影面积是否小于S;
(5.1)如果是,则从V中移除N1,并返回至步骤(3)继续循环;
(5.2)如果不是,则计算三角形N1的最长边L,计该边相邻三角形为N2,并确定三角形N2投影与区域(t1,t2)是否包含或相交;
(5.2.1)如果是,若三角形N2最长边是L则划分N1、N2公共边L,得到n1、n2、n3、n4,若三角形N2最长边不是L则返回至步骤(3)继续循环;
(5.2.2)如果否,则直接划分N1、N2公共边L,得到n1、n2、n3、n4;
(5.3)待三角形N1被划分为n1、n2、n3、n4后,从V中移除N1,将n1三个相邻节点加入到V中,并返回至步骤(3)继续循环。
设铣削刀具半径为r,刀具中心由p1沿X轴或Y轴移动到p2(与Z轴运动无关),则铣削细分网格区域t1、t2满足的关系如式(12)所示:
但是,考虑到切削区域边缘网格精度必须要将细分网格区域扩展一个细分网格单元。一般情况下,细分网格单元边长l与最大细分网格最大面积S满足的关系如式(13)所示。细分网格单元边长l过大造成细分网格浪费,过小会导致切削区域边缘网格拉扯明显,仿真效果差。
铣削细分网格区域顶点t1、t2修正如式(14)所示:
本研究在Windows10环境下,利用Unity3D实现了3D模型基于二叉树的网格表示方法。如图10所示是对单位正方体上t1(0,0)、t2(0.2,0.5)矩形区域内网格进行划分的效果。从图10可以看出,矩形区域内网格划分均匀,区域外网格数量少,达到了预期的效果。
进一步,基于Z-Map方法仿真和本研究的网格表示方法可以仿真球头刀切削立方体毛坯,验证本方法的性能。不妨假设工件为边长100的立方体,顶点坐标为(0,0,0),(0,100,0),(100,0,0),(100,100,0),(0,0,100),(0,100,100),(100,0,100),(100,100,100),刀具垂直于工件表面(oxy平面)铣削工件,刀具球头半径为2,刀具球心由点(10,3,95)切削到点(10,40,90)。利用本方法进行区域网格划分和全域网格划分,测试数据如下表2所示。图11是单元网格最大面积是1时的区域网格与全部网格的仿真对比图。
表2区域网格仿真性能比较数据
以上实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (5)
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)如果所述确定结果为空,则直接结束划分;
对所述三角形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;
通过以下步骤划分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的连接关系。
2.根据权利要求1所述的基于二叉树的网格划分方法,其特征在于,所述构造树节点包含:在三角形库中任选择一个三角形作为起始三角形①,以该三角形任一条边为父边,并确定左边和右边,得到第一个树节点。
3.根据权利要求2所述的基于二叉树的网格划分方法,其特征在于,所述遍历查找所有所述三角形包含:查找与所述起始三角形①的左边、右边共边的另外的三角形以确定是否存在新的树节点,若存在,则以该共边为父边,重复上述操作以从另外的三角形继续遍历查找。
4.根据权利要求3所述的基于二叉树的网格划分方法,其特征在于,通过以下步骤基于原树节点来查找新的树节点:
(4.1)确定在树节点库中查找原树节点的左边/右边是否存在于除原树节点以外的其他树节点中;
(4.2)如果是,则在原树节点与查到的树节点之间建立连接关系并结束本次查找;
(4.3)如果不是,则确定在三角形库中查找原树节点的左边/右边是否存在于除原树节点以外的其他树节点中,
(4.3.1)如果是,则用查到的三角形构造新的树节点并将新的树节点加入到树节点库中,
(4.3.2)如果不是,则发出错误报告并结束本次查找。
5.根据权利要求1所述的基于二叉树的网格划分方法,其特征在于,所述方法进一步包含:(7.1.3)待所述三角形N1被划分为n1、n2、n3、n4后,从V中移除N1,将n1三个相邻节点加入到V中,并返回至步骤(7)继续循环。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911038936.2A CN110796729B (zh) | 2019-10-29 | 2019-10-29 | 一种基于二叉树的网格划分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911038936.2A CN110796729B (zh) | 2019-10-29 | 2019-10-29 | 一种基于二叉树的网格划分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110796729A CN110796729A (zh) | 2020-02-14 |
CN110796729B true CN110796729B (zh) | 2023-11-14 |
Family
ID=69441837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911038936.2A Active CN110796729B (zh) | 2019-10-29 | 2019-10-29 | 一种基于二叉树的网格划分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110796729B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306396A (zh) * | 2011-09-15 | 2012-01-04 | 山东大学 | 一种三维实体模型表面有限元网格自动生成方法 |
CN108537886A (zh) * | 2018-04-09 | 2018-09-14 | 哈尔滨理工大学 | 一种虚拟手术切割中的高质量网格划分和优化方法 |
CN110222447A (zh) * | 2019-06-14 | 2019-09-10 | 广东华中科技大学工业技术研究院 | 一种基于八叉树的自适应网格划分方法及系统 |
-
2019
- 2019-10-29 CN CN201911038936.2A patent/CN110796729B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306396A (zh) * | 2011-09-15 | 2012-01-04 | 山东大学 | 一种三维实体模型表面有限元网格自动生成方法 |
CN108537886A (zh) * | 2018-04-09 | 2018-09-14 | 哈尔滨理工大学 | 一种虚拟手术切割中的高质量网格划分和优化方法 |
CN110222447A (zh) * | 2019-06-14 | 2019-09-10 | 广东华中科技大学工业技术研究院 | 一种基于八叉树的自适应网格划分方法及系统 |
Non-Patent Citations (2)
Title |
---|
孙殿柱等.《基于三角网格索引模型的3 轴实时数控铣削仿真》.《华中科技大学学报(自然科学版)》.2009,全文. * |
邵志香等.《基于三角形二叉树LOD模型的自由曲面实时加工仿真算法》.《小型微型计算机系统》.2010,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN110796729A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100468418C (zh) | 由边界表示数据生成体数据的方法及其程序 | |
JP6787661B2 (ja) | 工作物の機械加工のシミュレート | |
EP2600315B1 (en) | Creating a surface from a plurality of 3D curves | |
CN106934826B (zh) | 一种岩质边坡结构精细化建模及块体识别方法 | |
US9971335B2 (en) | Hybrid dynamic tree data structure and accessibility mapping for computer numerical controlled machining path planning | |
CN111243094B (zh) | 一种基于点灯法的三维模型精确体素化方法 | |
Li et al. | Arc–surface intersection method to calculate cutter–workpiece engagements for generic cutter in five-axis milling | |
Liu et al. | Real-time, dynamic level-of-detail management for three-axis NC milling simulation | |
Konobrytskyi et al. | 5-Axis tool path planning based on highly parallel discrete volumetric geometry representation: Part I contact point generation | |
CN111695281B (zh) | 一种四面体网格划分有限元粒子模拟的粒子快速定位方法 | |
CN113610983A (zh) | 一种离散点空间曲面三角网格自动剖分方法 | |
CN115758938A (zh) | 面向粘性边界流场数值模拟的附面层网格生成方法 | |
CN114510775A (zh) | 一种复杂模型三维空间曲网格划分方法 | |
JPH08153214A (ja) | 3次元直交格子データの生成方法 | |
Inui et al. | Cutter engagement feature extraction using triple-dexel representation workpiece model and GPU parallel processing function | |
Kaul | Computing Minkowski sums | |
CN110955934A (zh) | 面向加工实时监控的切削仿真实现方法 | |
Jiang et al. | Efficient Booleans algorithms for triangulated meshes of geometric modeling | |
CN110796729B (zh) | 一种基于二叉树的网格划分方法 | |
Cao et al. | A fast and generalized broad-phase collision detection method based on kd-tree spatial subdivision and sweep-and-prune | |
CN110349265B (zh) | 一种四面体拓扑网格生成方法及电子设备 | |
CN114742852A (zh) | 一种基于网格求交的高效自由曲面分层方法及其应用 | |
Zhang et al. | Machining Simulation Application Based on Improved Marching Cubes Algorithm | |
Ng et al. | Incremental tessellation of trimmed parametric surfaces | |
Kholodilov et al. | Analysis of the Technology of Transfering a Three-Dimensional Model from Cad Format to the Control Code For 3D Printing |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |