CN108364328A - 一种生成二维三角形网格的方法及装置 - Google Patents
一种生成二维三角形网格的方法及装置 Download PDFInfo
- Publication number
- CN108364328A CN108364328A CN201810047195.3A CN201810047195A CN108364328A CN 108364328 A CN108364328 A CN 108364328A CN 201810047195 A CN201810047195 A CN 201810047195A CN 108364328 A CN108364328 A CN 108364328A
- Authority
- CN
- China
- Prior art keywords
- triangular mesh
- basic
- dimentional
- original
- straight line
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种生成二维三角形网格的方法及装置,涉及计算机技术领域,其方法包括:在二维笛卡尔坐标系中,通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓;根据线条删除指令将所述基本轮廓的所有线条进行删除处理,得到所述基本轮廓的散点集合;通过对所得到的散点集合进行Delaunay三角剖分算法处理,得到初始二维三角形网格;利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种生成二维三角形网格的方法及装置。
背景技术
一般的三维建模软件都提供了构建三角形网格的工具,通常软件提供一个基础的网格,用户在基础的网格上通过画线的方式来添加细节,生成多边形网格,再由软件把多边形网格变成三角形网格。也就是说,首先需要一个基础的网格,然后在这个基础的网格上绘制线条,线条交叉的地方生成点,不断的绘制线条,直到完成,这种技术方案非常像蜘蛛结网的方式,操作复杂,效率低,且生成的网格的均匀程度取决于用户的绘制水平。
大多数二维的动画软件例如:Adobe的AnimationCC,CocosStudio的动画编辑器等并不提供给二维图形增加网格的功能,这样只能控制二维图形的移动旋转缩放斜切属性的变化,没有办法做到更丰富的自由形状变化。部分软件如Midas Creature等,可以给二维图形增加网格,但只能自动添加,用户只能控制网格的疏密程度,不能随意的添加删除网格,这样用户不能按照二维图形本身的纹理来控制网格,在变形时有一定局限性,可能会导致变形的僵硬和瑕疵。
发明内容
本发明的目的是提供一种生成二维三角形网格的方法及装置,用于解决上述现有技术存在的技术问题,能够简单有效的生成二维三角形网格。
根据本发明实施例提供的一种生成二维三角形网格的方法,包括:
在二维笛卡尔坐标系中,通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓;
根据线条删除指令将所述基本轮廓的所有线条进行删除处理,得到所述基本轮廓的散点集合;
通过对所得到的散点集合进行Delaunay三角剖分算法处理,得到初始二维三角形网格;
利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格。
优选地,所述通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓包括:
通过实时监测鼠标的点击事件和移动事件,得到并保存由首尾相接的直线组成的多边形,并将所述多边形作为待生成的二维三角形网格的基本外部轮廓;
通过实时监测鼠标在所述基本外部轮廓内的点击事件和/或移动事件,得到并保存独立的点和/或直线,并将所述点和/或直线作为待生成的二维三角形网格的基本内部轮廓。
优选地,所述利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格包括:
将所述初始二维三角形网格中的每条直线与所保存的基本外部轮廓进行比较,依次判断所述初始二维三角形网格中是否存在在所述基本外部轮廓外部的直线;
若判断所述初始二维三角形网格中存在在所述基本外部轮廓外部的直线,则删除所述初始二维三角形网格中在所述基本外部轮廓外部的直线;
若判断所述初始二维三角形网格中不存在在所述基本外部轮廓外部的直线,则进一步利用所述初始二维三角形网格和所保存的基本内部轮廓,生成最终二维三角形网格。
优选地,所述利用所述初始二维三角形网格和所保存的基本内部轮廓,生成最终二维三角形网格包括:
将所述初始二维三角形网格中的每条直线与所保存的基本内部轮廓的直线进行比较,判断所述初始二维三角形网格中是否存在与所述基本内部轮廓的直线相交的直线;
若判断所述初始二维三角形网格中存在与所述基本内部轮廓相交的直线,则删除所述初始二维三角形网格中与所述基本内部轮廓的直线相交的直线,并生成包含小基本外部轮廓的其次二维三角形网格;
通过对所述其次二维三角形网格的小基本外部轮廓进行处理,生成最终二维三角形网格。
优选地,所述通过对所述其次二维三角形网格的小基本外部轮廓进行处理,生成最终二维三角形网格包括:
根据线条删除指令将所述其次二维三角形网格的小基本外部轮廓的所有线条进行删除处理,得到所述小基本外部轮廓的小散点集合;
通过对所述小基本外部轮廓的小散点集合进行Delaunay三角剖分算法处理,生成最终二维三角形网格。
根据本发明实施例提供的一种生成二维三角形网格的装置,包括:
获取基本轮廓模块,用于在二维笛卡尔坐标系中,通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓;
获取散点集合模块,用于根据线条删除指令将所述基本轮廓的所有线条进行删除处理,得到所述基本轮廓的散点集合;
获取初始二维三角形网格模块,用于通过对所得到的散点集合进行Delaunay三角剖分算法处理,得到初始二维三角形网格;
生成最终二维三角形网格模块,用于利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格。
优选地,所述获取基本轮廓模块包括:
获取基本外部轮廓单元,用于通过实时监测鼠标的点击事件和移动事件,得到并保存由首尾相接的直线组成的多边形,并将所述多边形作为待生成的二维三角形网格的基本外部轮廓;
获取基本内部轮廓单元,用于通过实时监测鼠标在所述基本外部轮廓内的点击事件和/或移动事件,得到并保存独立的点和/或直线,并将所述点和/或直线作为待生成的二维三角形网格的基本内部轮廓。
优选地,所述生成最终二维三角形网格模块包括:
判断单元,用于将所述初始二维三角形网格中的每条直线与所保存的基本外部轮廓进行比较,依次判断所述初始二维三角形网格中是否存在在所述基本外部轮廓外部的直线;
删除单元,用于当判断所述初始二维三角形网格中存在在所述基本外部轮廓外部的直线,则删除所述初始二维三角形网格中在所述基本外部轮廓外部的直线;
生成最终二维三角形网格单元,用于当判断所述初始二维三角形网格中不存在在所述基本外部轮廓外部的直线,则进一步利用所述初始二维三角形网格和所保存的基本内部轮廓,生成最终二维三角形网格。
优选地,所述生成最终二维三角形网格单元包括:
判断子单元,用于将所述初始二维三角形网格中的每条直线与所保存的基本内部轮廓的直线进行比较,判断所述初始二维三角形网格中是否存在与所述基本内部轮廓的直线相交的直线;
删除子单元,用于若判断所述初始二维三角形网格中存在与所述基本内部轮廓相交的直线,则删除所述初始二维三角形网格中与所述基本内部轮廓的直线相交的直线,并生成包含小基本外部轮廓的其次二维三角形网格;
生成最终二维三角形网格子单元,用于通过对所述其次二维三角形网格的小基本外部轮廓进行处理,生成最终二维三角形网格。
优选地,所述生成最终二维三角形网格子单元具体用于根据线条删除指令将所述其次二维三角形网格的小基本外部轮廓的所有线条进行删除处理,得到所述小基本外部轮廓的小散点集合,并通过对所述小基本外部轮廓的小散点集合进行Delaunay三角剖分算法处理,生成最终二维三角形网格。
根据本发明实施例提供的方案,通过一个封闭的多边形和多边形内部的点、线来自动构建二维三角形网格,能够更简单有效的操作方式(画点或者画线)来生成均匀的三角形网格。
附图说明
图1是本发明实施例提供的一种生成二维三角形网格的方法流程图;
图2是本发明实施例提供的一种生成二维三角形网格的装置示意图;
图3是本发明实施例提供的利用鼠标绘制多边形的结果示意图;
图4是本发明实施例提供的利用鼠标绘制多边形内点和直线的结果示意图;
图5是本发明实施例提供的散点集合进行Delaunay三角剖分算法的结果示意图;
图6是本发明实施例提供的散点集合进行Delaunay三角剖分算法的过程示意图;
图7是本发明实施例提供的删除多边形外部直线的示意图;
图8是本发明实施例提供的生成二维三角形网格的过程示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明实施例提供的一种生成二维三角形网格的方法流程图,如图1所示,包括:
步骤S101:在二维笛卡尔坐标系中,通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓;
步骤S102:根据线条删除指令将所述基本轮廓的所有线条进行删除处理,得到所述基本轮廓的散点集合;
步骤S103:通过对所得到的散点集合进行Delaunay三角剖分算法处理,得到初始二维三角形网格;
步骤S104:利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格。
其中,所述通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓包括:通过实时监测鼠标的点击事件和移动事件,得到并保存由首尾相接的直线组成的多边形,并将所述多边形作为待生成的二维三角形网格的基本外部轮廓;通过实时监测鼠标在所述基本外部轮廓内的点击事件和/或移动事件,得到并保存独立的点和/或直线,并将所述点和/或直线作为待生成的二维三角形网格的基本内部轮廓。
其中,所述利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格包括:将所述初始二维三角形网格中的每条直线与所保存的基本外部轮廓进行比较,依次判断所述初始二维三角形网格中是否存在在所述基本外部轮廓外部的直线;若判断所述初始二维三角形网格中存在在所述基本外部轮廓外部的直线,则删除所述初始二维三角形网格中在所述基本外部轮廓外部的直线;若判断所述初始二维三角形网格中不存在在所述基本外部轮廓外部的直线,则进一步利用所述初始二维三角形网格和所保存的基本内部轮廓,生成最终二维三角形网格。
具体地说,所述利用所述初始二维三角形网格和所保存的基本内部轮廓,生成最终二维三角形网格包括:将所述初始二维三角形网格中的每条直线与所保存的基本内部轮廓的直线进行比较,判断所述初始二维三角形网格中是否存在与所述基本内部轮廓的直线相交的直线;若判断所述初始二维三角形网格中存在与所述基本内部轮廓相交的直线,则删除所述初始二维三角形网格中与所述基本内部轮廓的直线相交的直线,并生成包含小基本外部轮廓的其次二维三角形网格;通过对所述其次二维三角形网格的小基本外部轮廓进行处理,生成最终二维三角形网格。
具体地说,所述通过对所述其次二维三角形网格的小基本外部轮廓进行处理,生成最终二维三角形网格包括:根据线条删除指令将所述其次二维三角形网格的小基本外部轮廓的所有线条进行删除处理,得到所述小基本外部轮廓的小散点集合;通过对所述小基本外部轮廓的小散点集合进行Delaunay三角剖分算法处理,生成最终二维三角形网格。
图2是本发明实施例提供的一种生成二维三角形网格的装置示意图,如图2所示,包括:获取基本轮廓模块201,用于在二维笛卡尔坐标系中,通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓;获取散点集合模块202,用于根据线条删除指令将所述基本轮廓的所有线条进行删除处理,得到所述基本轮廓的散点集合;获取初始二维三角形网格模块203,用于通过对所得到的散点集合进行Delaunay三角剖分算法处理,得到初始二维三角形网格;生成最终二维三角形网格模块204,用于利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格。
其中,所述获取基本轮廓模块201包括:获取基本外部轮廓单元,用于通过实时监测鼠标的点击事件和移动事件,得到并保存由首尾相接的直线组成的多边形,并将所述多边形作为待生成的二维三角形网格的基本外部轮廓;获取基本内部轮廓单元,用于通过实时监测鼠标在所述基本外部轮廓内的点击事件和/或移动事件,得到并保存独立的点和/或直线,并将所述点和/或直线作为待生成的二维三角形网格的基本内部轮廓。
其中,所述生成最终二维三角形网格模块204包括:判断单元,用于将所述初始二维三角形网格中的每条直线与所保存的基本外部轮廓进行比较,依次判断所述初始二维三角形网格中是否存在在所述基本外部轮廓外部的直线;删除单元,用于当判断所述初始二维三角形网格中存在在所述基本外部轮廓外部的直线,则删除所述初始二维三角形网格中在所述基本外部轮廓外部的直线;生成最终二维三角形网格单元,用于当判断所述初始二维三角形网格中不存在在所述基本外部轮廓外部的直线,则进一步利用所述初始二维三角形网格和所保存的基本内部轮廓,生成最终二维三角形网格。
具体地说,所述生成最终二维三角形网格单元包括:判断子单元,用于将所述初始二维三角形网格中的每条直线与所保存的基本内部轮廓的直线进行比较,判断所述初始二维三角形网格中是否存在与所述基本内部轮廓的直线相交的直线;删除子单元,用于若判断所述初始二维三角形网格中存在与所述基本内部轮廓相交的直线,则删除所述初始二维三角形网格中与所述基本内部轮廓的直线相交的直线,并生成包含小基本外部轮廓的其次二维三角形网格;生成最终二维三角形网格子单元,用于通过对所述其次二维三角形网格的小基本外部轮廓进行处理,生成最终二维三角形网格。
具体地说,所述生成最终二维三角形网格子单元具体用于根据线条删除指令将所述其次二维三角形网格的小基本外部轮廓的所有线条进行删除处理,得到所述小基本外部轮廓的小散点集合,并通过对所述小基本外部轮廓的小散点集合进行Delaunay三角剖分算法处理,生成最终二维三角形网格。
本发明使用二维笛卡尔坐标系来表述点和线还有网格的位置信息,横坐标表示x轴,纵坐标表示y轴,本方案用鼠标作为创建工具。
(1)、利用鼠标绘制边线(基本外部轮廓),如图3所示,包括:
步骤301:点击鼠标,在二维笛卡尔坐标系中记下点击的位置,在该位置画一个点,记下该点为起点;
步骤302:移动鼠标,再次点击鼠标,在该位置画另一个点,把这个点和上一个绘制的点连接起来,画一条线;
步骤303:不断重复第二步,画出一系列首尾相接的线;
步骤304:在起点的位置点击鼠标,把最后绘制的点和起点连接起来,组成一个封闭的多边形(基本外部轮廓)。
(2)、利用鼠标在多边形内部绘制独立的点或者线(基本内部轮廓),如图4所示,包括:
步骤401:在一个点上点击鼠标不放;
步骤402:拖动鼠标生成连线,随着鼠标的移动,会生成初始点到鼠标位置的连线;
步骤403:移动鼠标到另一个点上,松开鼠标,生成一条从第一个点到这个点上的连线。
使用鼠标在多边形内点击,绘制点,每次绘制一个点都会重新自动生成三角形网格,如果自动生成的三角形网格不能满足需求,可以通过移动点,或者在点与点直线手动连线的办法来改变最终生成三角形网格的形状。
(3)、使用德洛内Delaunay三角剖分的方法,生成初始二维三角形网格,如图5所示。
德洛内(Delaunay)三角剖分的定义:它是一系列相连的但不重叠的三角形的集合,而且这些三角形的外接圆不包含这个面域的其他任何点。它具有两个特有的性质:
性质1、每个德洛内(Delaunay)三角形的外接圆不包含面内的其他任何点,称之为德洛内(Delaunay)三角网的空外接圆性质,这个特征已经作为创建德洛内(Delaunay)三角网的一项判别标准;
性质2、它的另一个性质最大最小角性质:每两个相邻的三角形构成的凸四边形的对角线,在相互交换后,六个内角的最小角不再增大。
Delaunay三角剖分可以把一个离散的点集连接成一个凸多边形,并在多边形连接成三角网。
如图6所示,下面以四个点为例,有四个点ABCD,求四个点的Delaunay三角剖分,构建Delaunay三角剖分的方法包括:
1.构建一个足够大的三角形A1B1C1,能够把所有的散点ABCD包围起来;
2.将这个大三角形放到一个三角开集合[A1B1C1];
3.将所有的点按照从左到右的顺序排序,排序结果为ABCD;
4.从左到右依次取出点,将点和三角开集合内的所有三角形依次比较,如果点在三角形外接圆的内部,则把这个点与三角形的三条边各自组成一个三角形,把新生成的三角形放到三角开集合内,并且删除原来的三角形;
先取点A,依次与开集合里的三角形比较,比较结果为A在三角形A1B1C1的外接圆内部,删除三角形A1B1C1。
把A和A1C1连起来,组成三角形AA1C1
把A和C1B1连起来,组成三角形AC1B1
把A和A1B1连起来,组成三角形AA1B1
新生成的三个三角形放到开集合内,现在开集合内是[AA1C1,AC1B1,AA1B1]。
然后,选择点B,依次与开集合的三个三角形的外接圆比较,比较结果为B点在三角形AA1B1的外接圆内部,也在三角形AC1B1的外接圆内部,删除三角形AA1B1和AC1B1。
把B点和A1B1连起来,组成三角形BA1B1
把B点和A1A连起来,组成三角形BA1A
把B点和AB1连起来,组成三角形BAB1
把B点和AC1连起来,组成三角形BAC1
把B点和B1C1连起来,组成三角形BB1C1
新生成的三角形放到开集合内,现在开集合内是[AA1C,BA1B1,BA1A,BAB1,BAC1,BB1C1]
然后,在分别去C点和D点用同样的上述方法进行处理,处理完毕后,开集合内是[AA1C1,ACC1,AA1B,ABC,BA1B1,BCD,BB1D,CC1D,DC1B1]
因为A1B1C1是后天添加的点,所以把开集合内中包含这三个点的三角形都删除,最后开集合里就剩下[ABC,BCD],这两个三角形就是所要求的Delaunay三角剖分。
下面结合上面的(1)、(2)以及(3),以具体的实施例来说明本发明的技术方案
A、取给定的多边形的每条边线的顶点,多边形内部的自定义的点,多边形内部的自定义的线的顶点,组成一个散点的集合,并对这个散点使用Delaunay三角剖分,得到一个三角形的集合(初始二维三角形网格),这个三角形集合被一个凸的多边形包围,如图5所示。
B、对步骤A中得到的三角形集合的每一个三角形,取三角形内部的一个点,判断这个点是否在给定的多边形的外部,如果点在给定的多边形的外部,则删除该三角形,如图7所示。
C、依次取给定的多边形内部的自定义的线,将该线和三角形集合的每个三角形进行比较,如果该线和某个三角形的某条表重合,则不做任何处理,如果该线和某个三角形的某条边相交,那么找到所有的这样的三角形,删除这些三角形中和自定义线相交的所有的边线,那么这些三角形会变成一个多变形,而自定义的线把这个多边形,分成了两个多边形,依次把这两个多边形作为给定的多边形使用步骤A和步骤B进行处理,得到三角形,如图8所示。
D、所有的自定义的线处理完毕后,三角形网格就生成了。
本发明用在DragonBones动画编辑器中使用,DragonBones动画编辑器是一个基于PC的桌面应用程序,支持动画制作,时间轴编辑等等。
本发明通过给定的多边形,多边形内部的点或者线,来自动生成三角形网格的方法。不管使用什么方法来绘制多边形,点或者线,只要使用本发明的生成三角形网格的方法,都在保护范围内。
根据本发明实施例提供的方案,使用鼠标来完成绘制多边形,绘制点和线的操作来自动构建二维三角形网格,能够更简单有效的操作方式(画点或者画线)来生成均匀的三角形网格。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (10)
1.一种生成二维三角形网格的方法,其特征在于,包括:
在二维笛卡尔坐标系中,通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓;
根据线条删除指令将所述基本轮廓的所有线条进行删除处理,得到所述基本轮廓的散点集合;
通过对所得到的散点集合进行Delaunay三角剖分算法处理,得到初始二维三角形网格;
利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格。
2.根据权利要求1所述的方法,其特征在于,所述通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓包括:
通过实时监测鼠标的点击事件和移动事件,得到并保存由首尾相接的直线组成的多边形,并将所述多边形作为待生成的二维三角形网格的基本外部轮廓;
通过实时监测鼠标在所述基本外部轮廓内的点击事件和/或移动事件,得到并保存独立的点和/或直线,并将所述点和/或直线作为待生成的二维三角形网格的基本内部轮廓。
3.根据权利要求2所述的方法,其特征在于,所述利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格包括:
将所述初始二维三角形网格中的每条直线与所保存的基本外部轮廓进行比较,依次判断所述初始二维三角形网格中是否存在在所述基本外部轮廓外部的直线;
若判断所述初始二维三角形网格中存在在所述基本外部轮廓外部的直线,则删除所述初始二维三角形网格中在所述基本外部轮廓外部的直线;
若判断所述初始二维三角形网格中不存在在所述基本外部轮廓外部的直线,则进一步利用所述初始二维三角形网格和所保存的基本内部轮廓,生成最终二维三角形网格。
4.根据权利要求3所述的方法,其特征在于,所述利用所述初始二维三角形网格和所保存的基本内部轮廓,生成最终二维三角形网格包括:
将所述初始二维三角形网格中的每条直线与所保存的基本内部轮廓的直线进行比较,判断所述初始二维三角形网格中是否存在与所述基本内部轮廓的直线相交的直线;
若判断所述初始二维三角形网格中存在与所述基本内部轮廓相交的直线,则删除所述初始二维三角形网格中与所述基本内部轮廓的直线相交的直线,并生成包含小基本外部轮廓的其次二维三角形网格;
通过对所述其次二维三角形网格的小基本外部轮廓进行处理,生成最终二维三角形网格。
5.根据权利要求4所述的方法,其特征在于,所述通过对所述其次二维三角形网格的小基本外部轮廓进行处理,生成最终二维三角形网格包括:
根据线条删除指令将所述其次二维三角形网格的小基本外部轮廓的所有线条进行删除处理,得到所述小基本外部轮廓的小散点集合;
通过对所述小基本外部轮廓的小散点集合进行Delaunay三角剖分算法处理,生成最终二维三角形网格。
6.一种生成二维三角形网格的装置,其特征在于,包括:
获取基本轮廓模块,用于在二维笛卡尔坐标系中,通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓;
获取散点集合模块,用于根据线条删除指令将所述基本轮廓的所有线条进行删除处理,得到所述基本轮廓的散点集合;
获取初始二维三角形网格模块,用于通过对所得到的散点集合进行Delaunay三角剖分算法处理,得到初始二维三角形网格;
生成最终二维三角形网格模块,用于利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格。
7.根据权利要求6所述的装置,其特征在于,所述获取基本轮廓模块包括:
获取基本外部轮廓单元,用于通过实时监测鼠标的点击事件和移动事件,得到并保存由首尾相接的直线组成的多边形,并将所述多边形作为待生成的二维三角形网格的基本外部轮廓;
获取基本内部轮廓单元,用于通过实时监测鼠标在所述基本外部轮廓内的点击事件和/或移动事件,得到并保存独立的点和/或直线,并将所述点和/或直线作为待生成的二维三角形网格的基本内部轮廓。
8.根据权利要求7所述的装置,其特征在于,所述生成最终二维三角形网格模块包括:
判断单元,用于将所述初始二维三角形网格中的每条直线与所保存的基本外部轮廓进行比较,依次判断所述初始二维三角形网格中是否存在在所述基本外部轮廓外部的直线;
删除单元,用于当判断所述初始二维三角形网格中存在在所述基本外部轮廓外部的直线,则删除所述初始二维三角形网格中在所述基本外部轮廓外部的直线;
生成最终二维三角形网格单元,用于当判断所述初始二维三角形网格中不存在在所述基本外部轮廓外部的直线,则进一步利用所述初始二维三角形网格和所保存的基本内部轮廓,生成最终二维三角形网格。
9.根据权利要求8所述的装置,其特征在于,所述生成最终二维三角形网格单元包括:
判断子单元,用于将所述初始二维三角形网格中的每条直线与所保存的基本内部轮廓的直线进行比较,判断所述初始二维三角形网格中是否存在与所述基本内部轮廓的直线相交的直线;
删除子单元,用于若判断所述初始二维三角形网格中存在与所述基本内部轮廓相交的直线,则删除所述初始二维三角形网格中与所述基本内部轮廓的直线相交的直线,并生成包含小基本外部轮廓的其次二维三角形网格;
生成最终二维三角形网格子单元,用于通过对所述其次二维三角形网格的小基本外部轮廓进行处理,生成最终二维三角形网格。
10.根据权利要求9所述的装置,其特征在于,所述生成最终二维三角形网格子单元具体用于根据线条删除指令将所述其次二维三角形网格的小基本外部轮廓的所有线条进行删除处理,得到所述小基本外部轮廓的小散点集合,并通过对所述小基本外部轮廓的小散点集合进行Delaunay三角剖分算法处理,生成最终二维三角形网格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810047195.3A CN108364328A (zh) | 2018-01-18 | 2018-01-18 | 一种生成二维三角形网格的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810047195.3A CN108364328A (zh) | 2018-01-18 | 2018-01-18 | 一种生成二维三角形网格的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108364328A true CN108364328A (zh) | 2018-08-03 |
Family
ID=63006544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810047195.3A Pending CN108364328A (zh) | 2018-01-18 | 2018-01-18 | 一种生成二维三角形网格的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108364328A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110706351A (zh) * | 2019-09-30 | 2020-01-17 | 恒信东方文化股份有限公司 | 一种三角网格模型生成方法及装置 |
-
2018
- 2018-01-18 CN CN201810047195.3A patent/CN108364328A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110706351A (zh) * | 2019-09-30 | 2020-01-17 | 恒信东方文化股份有限公司 | 一种三角网格模型生成方法及装置 |
CN110706351B (zh) * | 2019-09-30 | 2023-01-24 | 恒信东方文化股份有限公司 | 一种三角网格模型生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9171400B2 (en) | Creating a surface from a plurality of 3D curves | |
CN104361632B (zh) | 一种基于Hermite径向基函数的三角网格补洞方法 | |
CN109377561A (zh) | 一种基于共形几何的数模表面网格生成方法 | |
Lo | Finite element mesh generation and adaptive meshing | |
CN109360260A (zh) | 一种三角网格三维模型的切挖重构算法 | |
Bi et al. | A GPU-based algorithm for generating collision-free and orientation-smooth five-axis finishing tool paths of a ball-end cutter | |
Li et al. | Geometry synthesis on surfaces using field-guided shape grammars | |
Hsieh et al. | Particle swarm optimisation (PSO)-based tool path planning for 5-axis flank milling accelerated by graphics processing unit (GPU) | |
CN111612911A (zh) | 基于Dynamo的点云BIM自动化建模方法 | |
CN110955934B (zh) | 面向加工实时监控的切削仿真实现方法 | |
Ren et al. | Virtual prototyping and manufacturing planning by using tri-dexel models and haptic force feedback | |
CN106296824B (zh) | 一种基于半边数据结构的T-mesh局部细化实现方法 | |
CN105653881A (zh) | 基于多密度层次的流场可视化方法 | |
CN107679150A (zh) | 海量三维数据快速调度方法 | |
CN108364328A (zh) | 一种生成二维三角形网格的方法及装置 | |
US11640485B1 (en) | Generating CAD models from topology optimization data | |
CN113538695A (zh) | 任意边界复杂曲面的快速离散化方法、装置及存储介质 | |
CN111241228B (zh) | 基于矢量数据与图形化处理技术的综合制图方法 | |
US20160196691A1 (en) | Systems and methods of retopologizing graphical data | |
Wang et al. | A topology structure repair algorithm for triangular mesh model | |
CN115908733A (zh) | 一种角点网格地质模型的实时切分及三维可视化方法 | |
Noël et al. | A data structure dedicated to an integrated free-form surface meshing environment | |
CN102324105A (zh) | 日光温室三维建模方法 | |
Guan et al. | An extended advancing front technique for closed surfaces mesh generation | |
CN105139435A (zh) | 一种处理多边形多重包含关系的边界一笔画方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180803 |
|
WD01 | Invention patent application deemed withdrawn after publication |