一种生成二维三角形网格的方法及装置制造方法及图纸

技术编号:18594127 阅读:32 留言:0更新日期:2018-08-04 20:16
本发明专利技术公开了一种生成二维三角形网格的方法及装置,涉及计算机技术领域,其方法包括:在二维笛卡尔坐标系中,通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓;根据线条删除指令将所述基本轮廓的所有线条进行删除处理,得到所述基本轮廓的散点集合;通过对所得到的散点集合进行Delaunay三角剖分算法处理,得到初始二维三角形网格;利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格。

Method and device for generating two-dimensional triangular meshes

The invention discloses a method and device for generating a two-dimensional triangular mesh, which involves the field of computer technology. In the two-dimensional Cartesian coordinate system, the basic outline of the two-dimensional triangular mesh is obtained and saved by real-time monitoring of the click events and mobile events of the mouse, and the finger deletes the finger according to the line. All the lines of the basic outline are deleted and the scattered point set of the basic outline is obtained. The initial two-dimensional triangular mesh is obtained by the Delaunay triangulation of the set of scattered points obtained, and the final two-dimensional triangular mesh and the saved basic outline are used to generate the final two-dimensional. Triangular mesh.

【技术实现步骤摘要】
一种生成二维三角形网格的方法及装置
本专利技术涉及计算机
,特别涉及一种生成二维三角形网格的方法及装置。
技术介绍
一般的三维建模软件都提供了构建三角形网格的工具,通常软件提供一个基础的网格,用户在基础的网格上通过画线的方式来添加细节,生成多边形网格,再由软件把多边形网格变成三角形网格。也就是说,首先需要一个基础的网格,然后在这个基础的网格上绘制线条,线条交叉的地方生成点,不断的绘制线条,直到完成,这种技术方案非常像蜘蛛结网的方式,操作复杂,效率低,且生成的网格的均匀程度取决于用户的绘制水平。大多数二维的动画软件例如:Adobe的AnimationCC,CocosStudio的动画编辑器等并不提供给二维图形增加网格的功能,这样只能控制二维图形的移动旋转缩放斜切属性的变化,没有办法做到更丰富的自由形状变化。部分软件如MidasCreature等,可以给二维图形增加网格,但只能自动添加,用户只能控制网格的疏密程度,不能随意的添加删除网格,这样用户不能按照二维图形本身的纹理来控制网格,在变形时有一定局限性,可能会导致变形的僵硬和瑕疵。
技术实现思路
本专利技术的目的是提供一种生成二维三角形网格的方法及装置,用于解决上述现有技术存在的技术问题,能够简单有效的生成二维三角形网格。根据本专利技术实施例提供的一种生成二维三角形网格的方法,包括:在二维笛卡尔坐标系中,通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓;根据线条删除指令将所述基本轮廓的所有线条进行删除处理,得到所述基本轮廓的散点集合;通过对所得到的散点集合进行Delaunay三角剖分算法处理,得到初始二维三角形网格;利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格。优选地,所述通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓包括:通过实时监测鼠标的点击事件和移动事件,得到并保存由首尾相接的直线组成的多边形,并将所述多边形作为待生成的二维三角形网格的基本外部轮廓;通过实时监测鼠标在所述基本外部轮廓内的点击事件和/或移动事件,得到并保存独立的点和/或直线,并将所述点和/或直线作为待生成的二维三角形网格的基本内部轮廓。优选地,所述利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格包括:将所述初始二维三角形网格中的每条直线与所保存的基本外部轮廓进行比较,依次判断所述初始二维三角形网格中是否存在在所述基本外部轮廓外部的直线;若判断所述初始二维三角形网格中存在在所述基本外部轮廓外部的直线,则删除所述初始二维三角形网格中在所述基本外部轮廓外部的直线;若判断所述初始二维三角形网格中不存在在所述基本外部轮廓外部的直线,则进一步利用所述初始二维三角形网格和所保存的基本内部轮廓,生成最终二维三角形网格。优选地,所述利用所述初始二维三角形网格和所保存的基本内部轮廓,生成最终二维三角形网格包括:将所述初始二维三角形网格中的每条直线与所保存的基本内部轮廓的直线进行比较,判断所述初始二维三角形网格中是否存在与所述基本内部轮廓的直线相交的直线;若判断所述初始二维三角形网格中存在与所述基本内部轮廓相交的直线,则删除所述初始二维三角形网格中与所述基本内部轮廓的直线相交的直线,并生成包含小基本外部轮廓的其次二维三角形网格;通过对所述其次二维三角形网格的小基本外部轮廓进行处理,生成最终二维三角形网格。优选地,所述通过对所述其次二维三角形网格的小基本外部轮廓进行处理,生成最终二维三角形网格包括:根据线条删除指令将所述其次二维三角形网格的小基本外部轮廓的所有线条进行删除处理,得到所述小基本外部轮廓的小散点集合;通过对所述小基本外部轮廓的小散点集合进行Delaunay三角剖分算法处理,生成最终二维三角形网格。根据本专利技术实施例提供的一种生成二维三角形网格的装置,包括:获取基本轮廓模块,用于在二维笛卡尔坐标系中,通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓;获取散点集合模块,用于根据线条删除指令将所述基本轮廓的所有线条进行删除处理,得到所述基本轮廓的散点集合;获取初始二维三角形网格模块,用于通过对所得到的散点集合进行Delaunay三角剖分算法处理,得到初始二维三角形网格;生成最终二维三角形网格模块,用于利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格。优选地,所述获取基本轮廓模块包括:获取基本外部轮廓单元,用于通过实时监测鼠标的点击事件和移动事件,得到并保存由首尾相接的直线组成的多边形,并将所述多边形作为待生成的二维三角形网格的基本外部轮廓;获取基本内部轮廓单元,用于通过实时监测鼠标在所述基本外部轮廓内的点击事件和/或移动事件,得到并保存独立的点和/或直线,并将所述点和/或直线作为待生成的二维三角形网格的基本内部轮廓。优选地,所述生成最终二维三角形网格模块包括:判断单元,用于将所述初始二维三角形网格中的每条直线与所保存的基本外部轮廓进行比较,依次判断所述初始二维三角形网格中是否存在在所述基本外部轮廓外部的直线;删除单元,用于当判断所述初始二维三角形网格中存在在所述基本外部轮廓外部的直线,则删除所述初始二维三角形网格中在所述基本外部轮廓外部的直线;生成最终二维三角形网格单元,用于当判断所述初始二维三角形网格中不存在在所述基本外部轮廓外部的直线,则进一步利用所述初始二维三角形网格和所保存的基本内部轮廓,生成最终二维三角形网格。优选地,所述生成最终二维三角形网格单元包括:判断子单元,用于将所述初始二维三角形网格中的每条直线与所保存的基本内部轮廓的直线进行比较,判断所述初始二维三角形网格中是否存在与所述基本内部轮廓的直线相交的直线;删除子单元,用于若判断所述初始二维三角形网格中存在与所述基本内部轮廓相交的直线,则删除所述初始二维三角形网格中与所述基本内部轮廓的直线相交的直线,并生成包含小基本外部轮廓的其次二维三角形网格;生成最终二维三角形网格子单元,用于通过对所述其次二维三角形网格的小基本外部轮廓进行处理,生成最终二维三角形网格。优选地,所述生成最终二维三角形网格子单元具体用于根据线条删除指令将所述其次二维三角形网格的小基本外部轮廓的所有线条进行删除处理,得到所述小基本外部轮廓的小散点集合,并通过对所述小基本外部轮廓的小散点集合进行Delaunay三角剖分算法处理,生成最终二维三角形网格。根据本专利技术实施例提供的方案,通过一个封闭的多边形和多边形内部的点、线来自动构建二维三角形网格,能够更简单有效的操作方式(画点或者画线)来生成均匀的三角形网格。附图说明图1是本专利技术实施例提供的一种生成二维三角形网格的方法流程图;图2是本专利技术实施例提供的一种生成二维三角形网格的装置示意图;图3是本专利技术实施例提供的利用鼠标绘制多边形的结果示意图;图4是本专利技术实施例提供的利用鼠标绘制多边形内点和直线的结果示意图;图5是本专利技术实施例提供的散点集合进行Delaunay三角剖分算法的结果示意图;图6是本专利技术实施例提供的散点集合进行Delaunay三角剖分算法的过程示意图;图7是本专利技术实施例提供的删除多边形外部直线的示意图;图8是本专利技术实施例提供的生成二维三角形网格的过程示意图。具本文档来自技高网...

【技术保护点】
1.一种生成二维三角形网格的方法,其特征在于,包括:在二维笛卡尔坐标系中,通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓;根据线条删除指令将所述基本轮廓的所有线条进行删除处理,得到所述基本轮廓的散点集合;通过对所得到的散点集合进行Delaunay三角剖分算法处理,得到初始二维三角形网格;利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格。

【技术特征摘要】
1.一种生成二维三角形网格的方法,其特征在于,包括:在二维笛卡尔坐标系中,通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓;根据线条删除指令将所述基本轮廓的所有线条进行删除处理,得到所述基本轮廓的散点集合;通过对所得到的散点集合进行Delaunay三角剖分算法处理,得到初始二维三角形网格;利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格。2.根据权利要求1所述的方法,其特征在于,所述通过实时监测鼠标的点击事件和移动事件,得到并保存待生成的二维三角形网格的基本轮廓包括:通过实时监测鼠标的点击事件和移动事件,得到并保存由首尾相接的直线组成的多边形,并将所述多边形作为待生成的二维三角形网格的基本外部轮廓;通过实时监测鼠标在所述基本外部轮廓内的点击事件和/或移动事件,得到并保存独立的点和/或直线,并将所述点和/或直线作为待生成的二维三角形网格的基本内部轮廓。3.根据权利要求2所述的方法,其特征在于,所述利用所述初始二维三角形网格和所保存的基本轮廓,生成最终二维三角形网格包括:将所述初始二维三角形网格中的每条直线与所保存的基本外部轮廓进行比较,依次判断所述初始二维三角形网格中是否存在在所述基本外部轮廓外部的直线;若判断所述初始二维三角形网格中存在在所述基本外部轮廓外部的直线,则删除所述初始二维三角形网格中在所述基本外部轮廓外部的直线;若判断所述初始二维三角形网格中不存在在所述基本外部轮廓外部的直线,则进一步利用所述初始二维三角形网格和所保存的基本内部轮廓,生成最终二维三角形网格。4.根据权利要求3所述的方法,其特征在于,所述利用所述初始二维三角形网格和所保存的基本内部轮廓,生成最终二维三角形网格包括:将所述初始二维三角形网格中的每条直线与所保存的基本内部轮廓的直线进行比较,判断所述初始二维三角形网格中是否存在与所述基本内部轮廓的直线相交的直线;若判断所述初始二维三角形网格中存在与所述基本内部轮廓相交的直线,则删除所述初始二维三角形网格中与所述基本内部轮廓的直线相交的直线,并生成包含小基本外部轮廓的其次二维三角形网格;通过对所述其次二维三角形网格的小基本外部轮廓进行处理,生成最终二维三角形网格。5.根据权利要求4所述的方法,其特征在于,所述通过对所述其次二维三角形网格的小基本外部轮廓进行处理,生成最终二维三角形网格包括:根据线条删除指令将所述其次二维三角形网格的小基本外部轮廓的所有线条进行删除处理,得到所述小基本外部轮廓的小散点集合;通过对所述小基本外部轮廓的小散点集合进行Delaunay三角剖分算法处理,生成最终二维三角形网格。6.一种生成二维三角形网格的装置,其特征在于,...

【专利技术属性】
技术研发人员:苏魁
申请(专利权)人:北京白鹭时代信息技术有限公司
类型:发明
国别省市:北京,11

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

1