计算机图形学网格简化
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
清华大学计算机科学与技术系
计算机图形学
局部判别准则
• 基于相邻面片和边界的局部平坦性原则
Schroeder 92
• 采用等距面来限定简化模型顶点的变化范围
Cohen 96
清华大学计算机科学与技术系
计算机图形学
Schroeder的局部判别准则
该判别准则分两种情况:
1) 对网格内部顶点
v ,记其周围相邻面片集为 S ,则该
清华大学计算机科学与技术系
计算机图形学
几何实现的概念
• 为此我们记 φV = φ|K | ,称为 M 在 R3 中的几何实现 (geometric realization)。 • 若φV (| K |) 不自交,则 φV 为1-1映射。此时,φV 为一嵌入映 射,即对 ∀p ∈ φV (| K |) ,存在唯一m维向量 b ∈| K | ,使 得 p = φV (b) 。我们将 b 称为 p 关于单纯复形的重心坐标 向量(barycentric coordinate vector)。事实上,b可表示为:
计算机图形学
胡事民 计算机科学与技术系
清华大学ቤተ መጻሕፍቲ ባይዱ算机科学与技术系
计算机图形学
第六讲
数字几何处理 之
层次细节简化技术
清华大学计算机科学与技术系 计算机图形学
主要内容
• 层次细节简化的背景和定义 • 网格简化的基本操作 • 长方体滤波 • 顶点删除技术 • 渐进的网格简化技术 • 基于二次误差度量的几何简化技术 • 专题:基于面片收缩操作的有效网格化简方法
E ( M ) = Edist ( M ) + E spring ( M ) + E scalar ( M ) + Edisc ( M )
(6.3)
= { x1,⋅⋅⋅, xn }
其中 E ( M )为 M 的距离能量,定义为点集 X 网格 M 的距离平方:
dist
到
Edist ( M ) = ∑ d 2 ( xi , φV ( K ))
•
对 P 上每个与三角形 Δv1v2v3 不相邻的三角面片 Δ j ,判 别 Δ j 是否与 Δv1v2v3 的基本柱体相交。可计算得到 q j 到
Δv1v2 v3 的距离 δ j 。
清华大学计算机科学与技术系 计算机图形学
Cohen的点删除流程
• 采用贪婪搜索策略,将原表面P的所有顶点列 入待处理的顶点队列。
清华大学计算机科学与技术系
计算机图形学
拓扑实现的概念
• 值得注意的是,单纯复形 K 并不包含点集 {i = 1, 2,L, m} 的所有子集,它仅包含了构造网格 M 所有面、边、顶 点的子集。为在结构上刻划单纯复形,我们引进拓扑 实现(topological realization) | K |的概念。
清华大学计算机科学与技术系
计算机图形学
网格化简的基本操作(3)
3. 面片收缩操作:网格上的一个面片收缩为一个顶点, 该三角形本身和与其相邻的三个三角形都退化
清华大学计算机科学与技术系
计算机图形学
基于长方体滤波的多面体简化
• 1993年,Rossignac和Borrel提出一个实用的、 能实时建立LOD模型的多面体简化算法。
清华大学计算机科学与技术系
计算机图形学
Cohen 的局部判别准则
• 多面体的包络(envelope)的概念。
多边形网格表面 P 可看作一张分片线性参数曲面。
r (u, v ) = ( rx (u, v ), ry (u, v ), rz (u, v ))
其单位法向量为
n(u, v ) = ( n x (u, v ), n y (u, v ), nz (u, v ))
• 对当前待处理顶点队列中的一顶点,算法尝试从P 上删除该顶点及与该顶点直接相邻的三角面片, 并试图用如下页所述的三角剖分方法来填补顶点 删除后在表面P上形成的空洞。
清华大学计算机科学与技术系
计算机图形学
• 若空洞位于P的包络内且能成功地被填补,则从当前队 列中删除该顶点,简化表面P的模型并重构原来与该顶 点相连接的各顶点的拓扑关系。否则,该顶点从当前 待处理队列中退出,表面P保持不变。上述过程直到待 处理顶点队列变空为止。 • 填补空洞: 方正率,位于P的包络内。
清华大学计算机科学与技术系
计算机图形学
背景: 图形学转折期的新方向
• 真实感的实时绘制问题变的日益突出,因为做实 时绘制,而开始了模型简化。今天从“场景简化技 术加速真实感画面生成”角度来讲简化。 • 92年开始,面片简化、压缩、信号处理、纹理合 成成为SIGGRAPH会议的一个热门话题;如今网 格模型的处理,如拓扑修复、细节建模、模型的 动画变形仍然是研究焦点;从而演化为数字几何 处理这一研究方向(下次课讲DGP的背景)
清华大学计算机科学与技术系
计算机图形学
• 该技术对一个原始多面体模型建立几个不同逼 近程度的几何模型。
– 从近处观察物体时,采用精细的模型, – 从远处观察物体时,采用较粗糙的模型。 – 当视点连续变化时,在两个不同层次的模型之间 存在一个明显的跳跃,有必要在相邻层次的模型 之间形成光滑的视觉过渡,即:几何形状过渡 (geomorphs)。
V = {vi ∈ R 3 | i = 1, 2,L , m} 是 M 的顶点位置向量集,它定义
^
了网格 M 在 R 3 中的形状。
清华大学计算机科学与技术系
计算机图形学
• 单纯复形 K 由顶点集 {i = 1, 2,L , m} 及其称之为单形的非空 子集组成 0-单形 {i} ∈ K 即为顶点,1-单形 {i, j} ∈ K 为一条边,而2单形 {i, j, k} ∈ K 为一个面。
清华大学计算机科学与技术系
计算机图形学
参考文献
• Cohen J, Varshney A, Manocha D, and Turner D, Simplification Evvelopes, Computer Graphics, 1996, 119128.
清华大学计算机科学与技术系
计算机图形学
渐进的网格简化技术
b =
∑
m
i =1
bi ei
φv ( K )上的任一点的 容易知道,当 M 为一三角片网格时, 重心坐标向量 b 中至多只有三个分量非零。
清华大学计算机科学与技术系 计算机图形学
显示能量函数度量
• 有了上述定义,Hoppe采用显式能量函数 E ( M ) 来度量 简化网格与原始网格的逼近度([HOPP96]):
清华大学计算机科学与技术系 计算机图形学
层次细节简化的研究方向
• 总之,层次细节简化技术的研究主要集中在: ① 建立不同层次细节的模型。对任意给定的复杂多边 形网格 M ,由精细至粗糙建立一模型序列:M 0 , M 1 ,L, M n 其中 M 0 = M 。 ② 建立相邻层次的多边形网格 M i , M i +1 (0 ≤ i < n ) 之间的几 ψ : M i → M i +1 。 何形状过渡:
清华大学计算机科学与技术系
计算机图形学
长方体滤波的缺点
• 方法的主要缺点是顶点的合并导致了一些重要 高频细节的丢失。
清华大学计算机科学与技术系
计算机图形学
参考文献
• Rossignac J, Borrel P, Mutli-Resolution 3D approximations for rendering complex scences, in Modeling in Computer Graphics, edit by B Falcidieno and T L Kunii, spring-Verleg, 1993, pp 455-465.
vi+ = vi + ε ni
r ε ( u , v ) = r ( u , v ) + ε n( u , v )
vi− = vi − ε ni
n i+ = n i− = n i
上述方法生成的 P( ±ε ) 可能出现自交现象。
清华大学计算机科学与技术系 计算机图形学
• 我们用解析法计算 ε 。 现来考察 P 上的任一 三角形 Δv1v2v3 。
清华大学计算机科学与技术系 计算机图形学
层次细节简化的应用
• 层次细节简化(LOD:Level of Details)技术主要 应用在: 简化采样密集的多面体网格 激光扫描测距系统扫描真实三维物体 三维场景的存储/传输/及绘制
清华大学计算机科学与技术系
计算机图形学
层次细节简化的定义
• 层次细节简化技术就是在不影响画面视觉效果 的条件下,通过逐次简化景物的表面细节来减 少场景的几何复杂性,从而提高绘制算法的效 率。
清华大学计算机科学与技术系
计算机图形学
网格化简的基本操作(1)
•
1.
三种不同的基本化简操作:
顶点删除操作:删除网格中的一个顶点,然后对它的 相邻三角形形成的空洞作三角剖分
清华大学计算机科学与技术系
计算机图形学
网格化简的基本操作(2)
2. 边压缩操作:网格上的一条边压缩为一个顶点,与该 边相邻的两个三角形的退化
清华大学计算机科学与技术系
计算机图形学
顶点删除技术
• 想法: 设法减少景物表面的采样点数目。
• 假设景物表面已离散为一系列三角形,顶点删除 算法首先从原始模型的顶点集中删除一些不重要 的顶点,同时从其面片集中删除与这些顶点相连 的所有面片。经上述操作后在原景物表面上留下 了一些空洞,算法再对这些空洞进行局部三角剖 分。
清华大学计算机科学与技术系
计算机图形学
长方体滤波的步骤(2)
• 最后属于同一类的顶点被合并为一代表点,而这 些代表顶点为原多面体所示景物的重新采样。基 于原多面体的拓扑结构和这些这些采样点可重新 产生一多面体。所得到的多面体即为保持一定层 次细节的模型。原多面体的包围盒剖分生成的子 空间越小,所得到的层次模型就越逼近于原多面 体。
清华大学计算机科学与技术系
计算机图形学
v2 , 2) 对边界顶点 v ,记与它相邻的两个边界顶为 v1 , 则其平坦性标准定义为 v 到 v1 与 v2 连线的距离。
清华大学计算机科学与技术系
计算机图形学
参考文献
• Schroeder W, Zarge J A, and Lorensen W E, Decimation of triangle meshes, Computer Graphics, 1992, 26-2, 65-70.
• 渐进网格算法中,任一网格 M 均可表示为一粗网格 M 0 ^ i 及n个逐步细化网格 M (i = 1, 2,L, n) 的变换,且有 M = M n • 一张网格 M 可定义为1个二元组 ( K ,V )。 其中 K 是一个单纯复形(simplicial complex),它表示了M 的顶点、边和面的邻接关系;
清华大学计算机科学与技术系
计算机图形学
长方体滤波的步骤(1)
• 给定一个多面体 M ,记 K 为其拓扑,假设 M 已三角 化。算法首先建立 M 的长方体包围盒,并将该包围盒 所包围的空间均匀剖分成一系列的小长方体子空间, 然后采用各长方体子空间对景物顶点进行聚类合并, 位于同一长方体空间的顶点被归于同一类(Cluster)。
i =1
n
(6.4)
清华大学计算机科学与技术系
计算机图形学
• (6.3)式中 的弹性能量,这相当于在 M 的每条边上均放 置一条弹性系数为 k 的弹簧,即
(6.1)
f ∈S
点的平坦性标准由下述的距离来描述:
d = N ⋅ (v − C )
f ∈S
∑ n( f ) A( f ) ∑ c( f ) A( f ) C= 其中 N 为向量 的单位向量, , ( ) A f A f ( ) ∑ ∑
f ∈S
f ∈S
c( f ) , n( f ) 分别为三角面片的面积、中心和 这里A( f ) , 法向量。
清华大学计算机科学与技术系
计算机图形学
• 若将顶点{i}(i = 1, 2,L , m )看成为R 中的基向量 ei = {0,L,0, i,0,L,0} 则定义在 R m 中的集合 | K |为 K 的拓扑实现:
| K |=
s∈ K
m
U
|s |
m
| s | 为s在 R 空间中的顶点的凸 其中s为 K 的一个单形, 包。
(6.2)
清华大学计算机科学与技术系
计算机图形学
P 的三维 ε 等距面定义为 • 对给定的 ε > 0 ,
近似地定义原始多边形网格 P 沿其正、负法向的 ε 等 距面 P ( +ε ) 和 P ( −ε ) 。 − + P ( + ε ) v P ( − ε ) v ε 等距面 和 上对应顶点 i , i 及其法向 量可分别表示为