一种面向四边形割分下递归曲面生成方法及其装置的制造方法

文档序号:9547992阅读:334来源:国知局
一种面向四边形割分下递归曲面生成方法及其装置的制造方法
【技术领域】
[0001] 本发明涉及三维成像显示技术领域,尤其涉及一种面向四边形割分下递归曲面生 成方法及其装置。
【背景技术】
[0002] 随着工业产品的设计朝着多样化、特殊化、拓扑结构复杂化方向发展,现在的参数 曲面造型方法的局限性越来越明显,因为曲面表示方法在构造复杂拓扑结构的物体表面 时,需要对曲面片进行裁剪或拼接,不仅费时,而且存在数值误差,而曲分曲面可以克服参 数曲面的不足,能够表示任意拓扑结构的曲面,算法简单。
[0003] 根据细分所生成的网格类型,有三角细分模式、四边形细分模式、六边形细分模式 以及多边形细分模式,Catmull-Clark模式是基于逼近的一种经典四边形网格细分模式,用 该方法得到的三维模型相比真实模型偏大。
[0004] 然而基于插值的方法得到的三维模型相比真实模型偏小。

【发明内容】

[0005] 本发明的目的在于克服现有技术的不足,本发明提供了一种面向四边形割分下递 归曲面生成方法及其装置,能更好地实现对三维模型的渐进快速精确显示。
[0006] 为了解决上述问题,本发明提出了一种面向四边形割分下递归曲面生成方法,所 述方法包括:
[0007] 对物体进行扫描获得相应离散的三维点云数据;
[0008] 利用Delaunay三角剖分算法对三维点云数据进行相应的预处理得到良好数据结 构;
[0009] 融合插值细分方法根据递归公式迭代生成新的顶点和新的四边形面片;
[0010] 根据所需精细程度迭代相应次数,完成后绘制每个新的四边形面片,显示出物体 三维模型。
[0011] 优选地,所述利用Delaunay三角剖分算法对三维点云数据进行相应的预处理得 到良好数据结构的步骤包括:
[0012] 构造一个超级三角形,包含所有散点,放入三角形链表;
[0013] 将点集中的散点依次插入,在三角形链表中找出外接圆包含插入点的三角形, 删除影响三角形的公共边,将插入点同影响三角形的全部顶点连接起来,完成一个点在 Delaunay三角形链表中的插入;
[0014] 根据优化准则对局部新形成的三角形优化,将形成的三角形放入Delaunay三角 形链表;
[0015] 循环执行上述的三点插入步奏,直到所有散点插入完毕。
[0016] 优选地,在执行所述利用Delaunay三角剖分算法对三维点云数据进行相应的预 处理得到良好数据结构的过程中,通过相应处理构造三维模型文件。
[0017] 优选地,所述融合插值细分方法根据递归公式迭代生成新的顶点和新的四边形面 片的步骤,包括:
[0018] 将相应三维模型文件读入内存并用半边表结构存储;
[0019] 综合基于四边形的Catmull-Clark逼近和插值细分模式获得含一个参数α的递 归模型。
[0020] 相应地,本发明还提供一种面向四边形割分下递归曲面生成装置,所述装置包 括:
[0021] 扫描模块,用于对物体进行扫描获得相应离散的三维点云数据;
[0022] 预处理模块,用于利用Delaunay三角剖分算法对三维点云数据进行相应的预处 理得到良好数据结构;
[0023] 面片生成模块,用于融合插值细分方法根据递归公式迭代生成新的顶点和新的四 边形面片;
[0024] 显示模块,用于根据所需精细程度迭代相应次数,完成后绘制每个新的四边形面 片,显示出物体三维模型。
[0025] 优选地,所述预处理模块包括:
[0026] 构造单元,用于构造一个超级三角形,包含所有散点,放入三角形链表;
[0027] 插入单元,用于将点集中的散点依次插入,在三角形链表中找出外接圆包含插入 点的三角形,删除影响三角形的公共边,将插入点同影响三角形的全部顶点连接起来,完成 一个点在Delaunay三角形链表中的插入;
[0028] 优化单元,用于根据优化准则对局部新形成的三角形优化,将形成的三角形放入 Delaunay三角形链表;循环执行上述的三点插入步奏,直到所有散点插入完毕。
[0029] 优选地,所述预处理模块还用于在执行所述利用Delaunay三角剖分算法对三维 点云数据进行相应的预处理得到良好数据结构的步骤过程中,通过相应处理构造三维模型 文件。
[0030] 优选地,所述面片生成模块包括:
[0031] 存储单元,用于将相应三维模型文件读入内存并用半边表结构存储;
[0032] 模型获取单元,用于综合基于四边形的Catmull-Clark逼近和插值细分模式获得 含一个参数α的递归模型。
[0033] 在本发明实施例中,使用了融合经典Catmull-Clark和插值细分模式的递归曲面 显示方法,新的插值细分方法对粗糙三维模型细分的光滑三维模型比真实模型将会偏小, 融合的带参数的新递归曲面显示方法能够做到与真实模型最相近的保形精确显示,能更好 地实现对三维模型的渐进快速精确显示。
【附图说明】
[0034] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其它的附图。
[0035] 图1是本发明实施例的面向四边形割分下递归曲面生成方法的流程示意图;
[0036] 图2是本发明实施例的面向四边形割分下递归曲面生成装置的结构组成示意图。
【具体实施方式】
[0037] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0038] 图1是本发明实施例的面向四边形割分下递归曲面生成方法的流程示意图,如图 1所示,该方法包括:
[0039] Sl,对物体进行扫描获得相应离散的三维点云数据;
[0040] S2,利用Delaunay三角剖分算法对三维点云数据进行相应的预处理得到良好数 据结构;
[0041] S3,融合插值细分方法根据递归公式迭代生成新的顶点和新的四边形面片;
[0042] S4,根据所需精细程度迭代相应次数,完成后绘制每个新的四边形面片,显示出物 体三维模型。
[0043] 其中,S2包括:
[0044] 构造一个超级三角形,包含所有散点,放入三角形链表;
[0045] 将点集中的散点依次插入,在三角形链表中找出外接圆包含插入点的三角形, 删除影响三角形的公共边,将插入点同影响三角形的全部顶点连接起来,完成一个点在 Delaunay三角形链表中的插入;
[0046] 根据优化准则对局部新形成的三角形优化,将形成的三角形放入Delaunay三角 形链表;
[0047] 循环执行上述的三点插入步奏,直到所有散点插入完毕。
[0048] 其中,良好的数据结构文件是指在通过相应处理形成的常用的三维模型文件如 obj、off、3dx、stl等,存储相应的顶点,四边形面片,纹理贴图坐标等信息。
[0049] 具体实施中,在执行利用Delaunay三角剖分算法对三维点云数据进行相应的预 处理得到良好数据结构的过程中,通过相应处理构造三维模型文件。
[0050] S3进一步包括:
[0051] 将相应三维模型文件读入内存并用半边表结构存储;半边表具有高效计算效率;
[0052] 综合基于四边形的Catmull-Clark逼近和插值细分模式获得含一个参数α的递 归模型。
[0053] 在上述过程中半边表结构需要针对顶点、半边和面存储一些相关信息,其中相应 结构为:
[0054] 顶点结构:
[0055] struct HE_vert
[0056] {
[0057] float x, y, z ;// 顶点的 x、y、z 坐标值
[0058] HE_edge*edge ;//以该点为起始点的半边指针
[0059] int index ;//顶点索引
[0060] };
[0061] 半边结构:
[0062] struct HE_edge
[0063] {
[0064] HE_vert*vert ;//该边的起始点指针
[0065] HE_face*face ;//该边所在的面指针
[0066] HE_edge*next ;//该边所在面的下一条半边的指针
[0067] HE_edge*pair ;//该边的相对半边指针
[0068] };
[0069] 面结构:
[0070] struct HE_face
[0071] {
[0072] HE_edge*edge ;//该面中任意一条半边的指针
[
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1