1、三角网格模型与LOD基本原理,三角网格模型的生成 网格简化与LOD技术 网格优化与光顺 网格参数化及应用 网格编辑,1. 三角网格模型的生成,三角网格模型与LOD基本原理,1. 三角网格模型的生成,三角网格模型, 是对物体表面的分段线性拟合, 用一个三角面片的集合 来逼近物体表面的几何形状. 三角网格模型有三个要素, 顶点, 网格边, 和三角面片. 三角网格模型中最关键的是顶点之间的连接关系, 确定了顶点之间的连接关系, 就确定了网格模型.,1. 三角网格模型的生成,网格曲面的来源 参数曲面的离散化 细分曲面 三维扫描仪采样得到目前, 计算机图形学中的三维模型主要是通过三维扫描仪采样物体表面得
2、到的.,1. 三角网格模型的生成,三维激光扫描仪工作原理 目前最常用的是三维激光扫描仪, 首先发射激光到被测物体表面, 然后, 通过测量反射光, 确定物体表面上的点到事先指定的参考点的距离, 进一步, 计算出被测量点的坐标. 这种方法的缺点在于, 它不能测量出光线被遮挡部分的点; 因此, 一个物体表面必须从不同视点多次测量, 才能得到完整数据.,1. 三角网格模型的生成,从每一个视点测量得到的数据, 称为深度图像, 将深度图像配准得到物体表面的网格模型. 这里有两种方法: 将每个深度图像转换为一片网格, 每片网格配准到全局坐标系中, 融合成物体表面的网格模型.,1. 三角网格模型的生成,2.
3、将深度图像作为无序点云, 全部配准到全局坐标系中, 得到物体表面的无序点云, 从这个点云中重建出网格曲面, 称为网格重建.,2. 网格简化与LOD技术,三角网格模型与LOD基本原理,2. 网格简化与LOD技术,原因 由三维扫描仪得到的三角网格模型, 数据量很大, 往往由几万, 几十万, 甚至上百万个三角面片组成, 例如, Stanford大学的Michelangelo工程中的David雕像, 数据有32Gb, 如此大的数据量给网格模型的绘制, 传输, 和编辑都带来了很大的困难. 另一方面, 实际应用中, 往往并不需要细节如此丰富的模型, 因此, 需要将网格模型简化, 减少网格中顶点和面片的数量
4、, 得到不同层次细节的一系列模型, 这就是LOD(Level Of Details)技术.,2. 网格简化与LOD技术,网格简化方法-顶点聚类(Vertex clustering) 根据给定网格几何上的相似性, 将点聚类成簇, 为每一个簇计算一个新点. 删除这个簇, 保留这个新点.,2. 网格简化与LOD技术,网格简化方法-Edge Collapse 确定一条边, 将这条边的两个顶点合并为一个, 保留这个顶点, 从网格中删除这条边.,2. 网格简化与LOD技术,网格简化方法-Re-Tiling 首先在网格曲面上撒上一些网格顶点, 这些顶点之间相互排斥平衡后, 连接这些顶点, 得到新的网格曲面.
5、 由于新顶点数目比原顶点少, 所以, 新网格曲面是对原网格的简化.,2. 网格简化与LOD技术,Level Of Details(层次细节模型, 简称: LOD)LOD技术对原始网格模型建立几个不同逼近精度的网格模型, 与原始模型相比, 每个模型均保留了一定层次的细节. 当计算机生成场景时, 根据该物体位置与视点远近关系的不同, 分别使用不同精细程度的模型, 当从近处观察物体时, 使用较为精细的模型; 当从远处观察物体时, 采用较为粗糙的模型. 使用LOD模型, 避免了不必要的计算, 既能节约时间, 又不会降低场景的逼真度, 使计算效率大大提高.,2. 网格简化与LOD技术,Progressi
6、ve Meshes Wavelet,2. 网格简化与LOD技术,Progressive Meshes 是LOD模型的一种有效生成方式. 首先搜索平面区域和特征边, 然后使用边收缩(Edge Collapse)操作进行模型简化. 当边收缩产生一个新顶点时, 移去两个面和一条边, 结果产生一个简化的基网格和一系列顶点分裂操作(边收缩的逆), 可用于把细节添加到基网格上. 使用这种累进网格, 可抽取多个连续的细节层次.,3. 网格优化与光顺,三角网格模型与LOD基本原理,3. 网格优化与光顺,从点云中重建得到网格曲面, 并且经过网格简化后, 网格中往往存在大量细小或狭长的三角形. 在计算机图形学中,
7、 狭长三角形降低了渲染效果. 因此, 需要对网格进行优化以提高网格的质量.,一个目标: 消除网格中的狭长三角形. 一个原则: 最小角最大原则.,3. 网格优化与光顺,网格优化基本操作-边分裂 对于网格边e, 边分裂操作包括, 插入边的中点Pm, 并调整Pm的位置. 共享边e的两个三角面片, 由四个新的三角面片所替代, 同时, 生成四条新边, 和一个新顶点.,3. 网格优化与光顺,网格优化基本操作-边消除(Edge Collapse) 边消除操作, 合并边e的两个顶点到一个新的顶点位置, 删除边e的两个相邻面片, 将新顶点与其相邻顶点连接, 以生成新的三角面片.,3. 网格优化与光顺,网格优化基
8、本操作-边替换 边替换操作依照最小角最大原则进行, 享有边e的两个三角面片被替换为享有其对偶边的两个三角面片.,3. 网格优化与光顺,3. 网格优化与光顺,利用滤波操作除去模型表面的噪声; 网格顶点之间的连接关系不变, 网格顶点位置改变.,4. 网格参数化及应用,三角网格模型与LOD基本原理,4. 网格参数化及应用,空间网格点是由x, y, z三个坐标值决定的, 但是, 空间三角网格是一个二维流形, 因此, 空间网格点在本质上是由两个参数值决定的. 求空间网格点的两个参数值就称为网格参数化. 对网格的处理, 比如, 重新网格化, 纹理映射, 以及网格拟合都需要网格参数化技术.,4. 网格参数化
9、及应用,参数化中的几个目标: 保长度 保角度 变形最小,4. 网格参数化及应用,各种不同的参数化方法选择不同的权,4. 网格参数化及应用,对于封闭的模型, 先把模型分片, 对每一片分别参数化,4. 网格参数化及应用,网格参数化的应用-纹理映射,4. 网格参数化及应用,网格参数化的应用-重新网格化,三角网格模型与LOD基本原理,5. 网格编辑,5. 网格编辑,网格编辑的任务是改变网格模型的几何形状,5. 网格编辑,在Bzier曲面的情况下, 调整Bzier曲面的控制顶点, 就可以改变Bzier曲面的形状.,5. 网格编辑,Free Form Deformation (FFD) 把网格模型嵌入到一个Bzier体中, 调整Bzier体的控制顶点, 改变这个体, 就可以编辑被嵌入网格模型的形状.,5. 网格编辑,Free Form Deformation (FFD),5. 网格编辑,轴变形 对于一个网格模型, 首先定义一个轴, 对这个轴进行变形, 网格模型随之变形.,5. 网格编辑,骨架驱动的变形 类似于轴变形, 首先定义骨架, 然后编辑骨架, 最后改变模型几何形状.,5. 网格编辑,骨架驱动的变形,5. 网格编辑,隐式变形-基于微分域的变形 首先把模型嵌入到一个场中, 比如梯度场, 改变这个梯度场, 网格模型随之受到影响而改变.,谢 谢,