一种基于八叉树空间划分和顶点删除的三维模型简化方法技术

技术编号:2952450 阅读:872 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于计算机图形处理技术领域,涉及三维可视化模型简化技术。本发明专利技术采用八叉树的和定义新顶点权值的顶点抽取相结合的方法,首先通过八叉树将模型空间划分成一系列叶子节点区域,所有的顶点就分布在这些区域内,然后在这些叶子节点中,采用定义了新的顶点权值的顶点抽取算法对顶点进行删除,达到三维模型简化的目的。采用本发明专利技术提出的八叉树的和定义新顶点权值的顶点抽取相结合的方法,可以有效地提高三维模型简化的质量和简化速度。

【技术实现步骤摘要】

本专利技术属于计算机图形处理
,涉及三维可视化模型简化技术。
技术介绍
随着科技发展,在计算机图形学、虚拟现实、地理信息系统、医学图像系统等领域所构 造和使用的模型越来越精细和复杂,这些模型动辄就产生数以百万计的面片和顶点,对计算 机的存储容量、处理速度、绘制速度等提出了很高的要求。然而很多情况下,高分辩率的模 型是不必要的,模型的准确度和需要处理的时间也要有一个折中。因此,需要采取适当的算 法减少模型的面片数、边数、顶点数即为三维模型简化。三维模型简化的主要目的在于得到 一个与原始模型尽可能相似的逼近模型。为了判定一个逼近模型的质量,就需要定义一些误 差度量的标准,度量这种误差有两个原则顶点最少原则和误差最小原则。因此三维模型简 化的本质是在尽可能保持原始模型特征的情况下,最大限度地减少原始模型的三角形和顶点数目。详见文献唐泽圣.三维数据场可视化.北京请华大学出版社,1999.196- 199. 和文献William J Schroeder ,Jonathan A Zarge ,William E Lorensen. Decimation of t riangle meshes. Computer Graphics, 1992 ,26 (2) :65 - 70.现在通常使用的模型简化方法有(1) 顶点聚类方法。将三维模型按照某种方式分块,然后将每一块中的若干顶点用一个单 独的顶点代替,从而达到减少模型中顶点和三角形数的目的。这种方法简单易行,计算速度 快,并且适用于任意的三角形集合,因此应用十分广泛,特别是对大数据量的模型简化十分有效。但它的缺点是得到的逼近模型质量差。详见文献Kok-Lim Low, Tiow-Seng Tan. Model simplification using vertex-clustering. In 1997 Symposium on Interactive 3D Graphics, ACM SIGGRAAPH.(2) 小波分解方法。它将一个表面模型分解成一个基本形状加上一系列顺序的表面细节, 从原始模型中删去不重要的细节信息就可以得到一个逼近模型。但得到的逼近模型质量并不 高,因为这种方法无法从逼近模型完全重建出原始模型,而且当表面上存在尖锐的折痕时表 现很差。详见文献Michael Lounsbery, Tony DeRose. Multiresolution analysis for surfaces of arbitrary topological type . Washington: University of Washington, January 1994, ftp.cs.washington.edu/pub/graphics/LounsPhd.ps.Z(3)超面方法。它是将模型表面根据平面性准则划分成若干区域,对每个区域的边界分别进行简化后再重新进行三角剖分,最后得到简化的网格。该方法能得到较高质量的简化结果, 并且能提供逼近误差的上界。然而这一方法的应用并不多,因为它的实现相对比较复杂,简化速度慢。详见文献Kalvin A D, Taylor R H. Surperfaces: polygonal mesh simplification with bounded error. IEEE Computer Graphics and Application, 1996,16(3):64~77.
技术实现思路
本专利技术的任务是提供,它具有 模型简化质量高和模型简化速度快的特点。为了方便地描述本
技术实现思路
,首先对一些术语进行定义。定义1 :顶点序列。三维模型数据是由顶点构成的,每个顶点包含方向、坐标等信息, 这些顶点按照空间位置排列在一起,就构成了顶点序列。定义2:线性表。它是最基本、最简单、也是最常用的一种数据结构。线性表中数据元 素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是 首尾相接的。定义3 :队列。它是一种特殊的线性表,它只允许在表的前端(front)进行删除操作, 而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队 头。队列中没有元素时,称为空队列。定义4:八叉树空间划分。八叉树是一种用于描述三维空间的树状数据结构。八叉树的 每个节点表示一个正方体的体积元素,每个节点有八个子节点,这八个子节点互不相交,将 八个子节点所表示的体积元素加在一起就等于父节点的体积。定义5 :叶子节点。叶子节点就是八叉树中最底段的节点。定义6:三角面片。三角面片就是只有3个顶点的面,它包含法线、正反面、空间位置 及光照信息。定义7:模型简化。采取适当的算法减少模型的面片数、边数、顶点数,达到实时显示的目的的一种技术。定义8:顶点权值。在模型简化中,衡量一个顶点对模型成像重要程度的表达式。 定义9:领域。空间中,与一个顶点有连接关系的所以顶点构成的一个空间区域。定义10:欧氏距离。《维欧氏空间是一个点集,它的每个点可以表示为6c/,X2,…jC其 中A为实数,/=/,2,...",称为x的第z'个坐标。两个点;c和y之间的欧氏距离^x,^为V|>'"')2 。目的是计算其间的整体距离即不相似性。定义ll:三角余弦函数。三角函数是数学中属于初等函数中的超越函数的一类函数。它 们的本质是任意角的集合与一个比值的集合的变量之间的映射。余弦函数C0S9=x/r。定义12:边缘特征。三角形网格中, 一个顶点和起邻域内的顶点构成的边,存在至少一 条边不被两个及两个以上三角形所共有。定义13:快速排序。快速排序(QuickSort)是一种有效的排序算法。虽然算法在最坏的情 况下运行时间为Ofh",但由于平均运行时间为C^/og"),并且在内存使用、程序实现复杂性上表现优秀,尤其是对快速排序算法进行随机化的可能,使得快速排序在一般情况下是最实 用的排序方法之一。快速排序的实现基于分治法,具体分为三个步骤。假设待排序的序列为丄// .. /。分解序列丄/"附.."7被划分成两个可能为空的子序列丄 ../"'W"77和丄/^VOH"/ ..使..内1^-^/的每个元素均小于或等于丄/p/vo(/,同时£/^'vo/+/.. 7的每个元素均大于丄/^'W(/。其中丄/^W(/称为这一趟分割中的主元(也称为枢轴、支点)。解决通过递归调用 快速排序,对子序列丄/"附..ph^-V和Vp/vW+7 .. r/排序。合并由于两个子序列是就地排序的,所以对它们的合并不需要操作,整个序列丄^ .."_/已排好序。定义14:三角剖分。将空间中一个顶点删除,同时所有与该顶点相连的面均被从原始的模型中删除,然后对其邻域重新三角化,来填补由于这个点被删除所带来的空洞。本专利技术技术方案如下,包含以下步骤 步骤l.输入原始三维模型数据,获取其顶点序列f^,,对f^,进行初始八叉树空间划分,得到划分后八个卦限空间顶点序列K,其中4=7,2,…S,将F;fc依次放入空间待划分队列0。步骤2.从空间待划分队列g中取出一个划分空间的顶点序列2W,如果该划分空间顶点个数^^)<^,将g(^放入待简化队列p,否则对2W进行八叉树空间划分,得本文档来自技高网
...

【技术保护点】
一种基于八叉树空间划分和顶点删除的三维模型简化方法,包含以下步骤: 步骤1.输入原始三维模型数据,获取其顶点序列V↓[list],对V↓[list]进行初始八叉树空间划分,得到划分后八个卦限空间顶点序列V↓[k],其中k=1,2,…8,将V↓[k]依次放入空间待划分队列Q; 步骤2.从空间待划分队列Q中取出一个划分空间的顶点序列Q(i),如果该划分空间顶点个数N↓[Q(i)]<N′,将Q(i)放入待简化队列P,否则对Q(i)进行八叉树空间划分,得到每个该空间划分后八个卦限空间顶点序列V↓[k],其中k=1,2,…8,将V↓[k]依次放入空间待划分队列Q;循环该步骤直到划分完所有空间待划分队列Q的顶点序列,得到最终的待简化队列P; 步骤3.从待简化队列中依次取出顶点序列P(t); 步骤4.计算顶点序列P(t)中每个顶点权值W↓[q],顶点权值的表达式为W↓[q]=*(l↓[q,s])×(α-β×*(c↓[q,s]))+c×e↓[q],其中l↓[q,s]为顶点邻域内的两顶点的欧氏距离,c↓[q,s]是两顶点法线夹角的三角余弦值,e↓[q]是边缘特征,η↓[q]为顶点的邻域,max()是求最大运算,min()是求最小运算,***,α,β,c是取值范围为[0,1]的系数; 并根据顶点权值大小进行快速排序,令有最小顶点权值的顶点为v; 删除顶点序列P(t)中的顶点v,然后进行三角剖分,即在三角形网格中,用v顶点邻域内的具有最大顶点权值的顶点代替顶点v; 重复步骤4中上述操作直到顶点序列P(t)的删除顶点数大于等于待删除顶点个数N,待删除顶点个数N为P(t)的顶点个数m的k倍,0<K<1,K为简化倍数; 步骤5.重复步骤3和步骤4,直到处理完所有的待简化队列里面的每一个顶点序列; 步骤6.删除网格中具有相同顶点的三角面片,得到新的三角面片列表F↓[list]; 步骤7.由待简化队列P和三角面片列表F↓[list]经OpenGL显示函数得到简化的模型。...

【技术特征摘要】

【专利技术属性】
技术研发人员:解梅胡永杰
申请(专利权)人:电子科技大学
类型:发明
国别省市:90[中国|成都]

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

1