网格分割算法的比较

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2 网格细分算法的分类及比较
2. 1 概念与术语 定义 1 权图( Masks) 表示由旧控制点计算 新控制点规 则
的映射, 其中新控制点在映 射中用 黑点表 示, 在每个 旧控制 点 旁边的数字代表细分系数。
定义 2 奇点( Odd Vertices ) 是在每一级细分中, 按照某种 细分规则所有新生成的点。在三角网格中, 奇点也就是边点, 实际上是将每条边的中点作为 一个新 点重新 计算新 的位置 所
收稿日期: 2003- 07-21; 修返日期: 2003- 08- 06 基金项目: 教育部科学技术研究重点项目基金资助( 01041)
(a)初始网格
(b)一次细分后的结果 (c)两次细分后的结果
(13 个顶点,40 个面片) (45 个顶点,160 个面片)(169 个顶点,60 个面片)
图 1 利用 Loop 格式 细分 得到的 草帽 图
第6 期
王金生等: 几种经典网格细分算法的比较
· 1 39 ·
几种经典网格细分算法的比较*
王金生1 , 韩 臻1 , 施 寅1 , 尹 直诺2
( 1. 北 京交 通大学 计 算机 与信 息技 术学 院, 北 京 100044; 2. 青岛市 城阳 区国 家税 务局 , 山 东 青 岛 266109)
摘 要: 曲 面造 型方 法由 于其 局部 性好 、计 算量 小、算法 简 单、响 应 速 度 高 等 优 点, 已 经 广 泛 应 用于 计 算 机 图 形
学、CAGD、计 算机 动画以 及虚 拟现 实等 领域 。网 格细分 是一 种 离 散造 型 方 法, 可 以 从 数 字 化 仪 等设 备 直 接 获 得
数据。介绍了近年来提出的一些细分算法, 对其中几种比较经典的算法进行了简单的分类和比较, 并论述了各
自的 适用 范围 。
关键词: 细分; 逼近; 插值; 有序邻接表
中图 法分 类号 : TP391
文献标识码: A
文章 编号 : 1001- 3695( 2004) 06- 0139 - 03
Comparison of Several Classical Mesh Subdivision Algorithms
能达到 C1 连续。蝶型细分算法不同于其他的基于样条的逼近
策略, 它是一种插值型算法, 因 此不产 生分段 的多项 式极限 曲
面。由于该算法属插值类型, 上一细分级别的所有控制点都位
于曲面上, 因此 Even 点无需重 新计算, 只要 计算 Odd 点即可。
改进的蝶型细分策略的权图如图 4 所示。
图 4 中系数 Si 由下列公式确定:
定义 6 我们把控制网格中具有公共边的两个顶点称为邻接 点。对于曲线而言, 给定控制点 Pi , 很显然( Pi- 1 , Pi) 和( Pi, Pi +1 ) 就是控制多边形的边, 所以 Pi-1 和 Pi +1 就是 Pi 的邻接点。对于任 意控制点网格曲面而言, 建立各控制点之间的关系就是为网格中 每个顶点找到相应的邻接点, 为了方便算法的实现, 对这些邻接点 按照某种规则进行排列, 我们把按照这种规则排列的邻接点的集 合称为该顶点的有序邻接表( Ordered Adjacency List) 。
· 140·
计算机应用研究
2004 年
得到 的 点 。
定义 3 偶点( Even Vertices) 是 在每 一级 细分 中, 所有 从 上一 级 控 制 点 继 承 得 到 的 点 。
定义 4 某顶点的价( Valence) 是 指与该 顶点通 过公共 边 相连 的 顶 点 个 数 。
定 义 5 正 规 点 与 非 正 规 点 ( Regular and Extraordinary Vertices) 。在三角网格细 分过 程中, 产 生的 新点的 Valence 在 网格内部为 6、边界 处 为 4。定 义 内 部 Valence 为 6、边 界 Valence 为 4 的点为三角 网格 的正 规点; 类 似地, 内部 Valence 为 4、边界 Valence 为 3 的点为四角网格的正规点。不符合上述条 件的 点 称 为 非 正 规 点 。
2. 2 细分算法的分类
一般情况下, 对于网格细分算法的分类包括以下四个标准: ( 1) 生成网格的类型( 三角网格和四角网格) ; ( 2) 细分规则的类型( 面分裂和点分裂) ; ( 3) 算法是逼近型还是插值型; ( 4) 规则曲面的极限曲面光滑性( C1 , C2 等) 。
表 1 细分算法分类
面分裂
点分裂
逼近型 插值型
三角网格 Lo op ( C 2) [ 1, 2] Mod. Butte rfly ( C1) [ 3]
四角网格 Catmull- Clark ( C2) [ 4]
Kobbelt ( C1)
Doo - Sabin [ 5] , Midedge ( C1) , Biquartic ( C2)
蝶 型算法、Doo- Sabin 算法以及 Catmull- Clark 算法, 下面对这几 种 细 分 算 法 分 别 介 绍 并 进 行比 较 。
( 1) Loop 算法 Loop 细分算法是美国犹 他大学的 Charles Loop 于 1987 年 在其硕士论文中 提出 的 一种 逼 近型 三角 形 面分 裂细 分 算法。 它是基于 Box 样条 的 一种 策略, 应 用 于规 则 网格 时可 以 产 生 C2 连续的曲面, 在非正规点处则可达到 C1 连续。Loop 细分 策 略的权图如图 3 所示, 其中图 3 ( a) 为 内部 的奇 点, 图 3( b) 为 内部的偶点, 图 3( c ) 为边界 或褶皱 上的 奇点, 图 3( d) 为边 界 或褶皱上的偶点。显然对边界 与褶皱 采用特 殊的规 则实际 上 产 生 的 是 一 条 三 次 样 条 曲 线。
曲面造型方法一直以来都 是计算 机图形 学领域 的研究 重 点之一, 它主要研究 在 计算 机图 像 系统 的环 境 下对 曲面 的 表 示、设计、显示和 分 析等。 网格 细分 ( Subdivision) 是 曲面 的 一 种表示方法, 是曲面造型 的一个 分支, 也是曲 面造型 的研究 重 点之一。细分曲面造型方法实 际上是 从一个 被称为 控制网 格 ( 绝大多数网格数据可用数字化 仪通过人工模 型来输入) 的 多 面体开始的, 递归地计算 新网格 上的每 个顶点, 这些 顶点都 是 其上一细分级网格上某几 个顶点 的加权 平均。近年 来国内 外 对细分算法的研究有了很大的进展, 主要体现在从常规的三角 网格 、四 角 网 格向 六 角 网 格 以 及 任 意 形 状 网格 的 过 渡 。
WANG Jin- sheng1, HAN Zhen1, SHI Yin1 , YIN Zhi- nuo2
( 1. School of Computer & Information Technology, Beijing Jiaotong University, Beijing 100044, China; 2. State Taxation Bureau of Chengyang District, Qingdao Shandong 266109, China)
细分思想最早可以 追 溯的 50 多年 前 G. de Rham 用 于 生 成二维光滑曲线的 “砍 角算法 ”。1974 年, Chaikin 在研 究曲 线 的快速绘 制 时 把 离 散 细 分 的 概 念 引 入 到 图 形 学 界; 1978 年 Catmull 和 Clark 以及 Doo 和 Sabin 分别发表了一篇在图形学领 域具有 里 程 碑意 义 的 论文, 也 就是 图 形 学界 推 崇 的 CatmullClark 算法[ 4] 和 Doo- Sabin 算法 [ 5] , 标志 着网 格 细分 方法 研 究 的真 正开 始; 1987 年, 美国 犹他 大学的 Loop 在他 的硕 士论 文 中提出了 Loop 细分策略[ 1] , 图 1( b) 、图 1( c) 是由图 1( a) 中的
角网格的插值策略。另外, 3细分算法、4-k 细分算法以及 hexagon- by- three 算法等对网格细分 算法的 发展 也起 到了 一定 的 推进作用。随着六边形在其他 领域的 成功运 用以及 六边形 固 有的特性, 使得对六边形网格的研究成为细分算法研究领域的 另一个热点。
1 网格细分算法的产生与发展
点的
Valence
=3
时,
可以取
β=
3。 16
( 2) 改进的蝶型算法
蝶型细分算法 最初 由 Dyn, Gregory 和 Levin 提出, 它 是 一
种定义在三角网格上 的策略, 应 用于 规则 网格 时可 以产 生 C1
连续的曲面, 在 Valence = 3 和 Valence > 7 的 非 正规 点处 则 不
表 1 对现有的典型细分算法进行了分类。面分裂的细分 方法, 实际上就是一 种 1 →4 的细 分策 略, 如图 2 ( a) 所 示。对 于三角网格, 在每一次细 分过程 中, 保 留每个 三角网 格中所 有 旧控制点的同时, 在网格 的每条 边上插 入新点 并两两 相连, 然 后与旧控制点一起得到四个 新的三 角网格; 对 于四角 网格, 除 了在网格的每条边上插入新点外, 还需要在网格中间另外插入 一个新点并与另外四条边上的新点相连, 从而得到四个新的四 角网格。点分裂细分方法则 是一种 1 →N 的 细分 策略, 如 图 2 ( b) 所示, N 为 该点 的 Valence, 每个 顶 点 将 分 裂 为 N 个 新 顶 点, 然后按照一定的规则将新顶点重新连接组成新的网格。
Abstract: Surface modeling methods have found their way into wider application in computer graphics, Computer Assisted Geometric Design ( CAGD) , computer animation and Virtual Reality ( VR) etc. because of the good locality, small computation, simplicity, high speed. Subdivision is one of the discrete modeling methods that can achieve data from the devices such as digitizer. Some mesh subdivision algorithms are proposed and a classification and comparison between them is gived, and then their respective applicable range is illuminated. Key words: Subdivision; Approximation; Interpolation; OAL ( Ordered Adjacency List)
控制网格( 三角格式 ) 应用 Loop 细 分策 略分 别 细分 一次 和 两 次得到的草帽; 1990 年 Dyn, Gregory 和 Levin 提出 了蝶 型细 分 算法 [ 3] , 其后 Denis Zorin 对 其 提出 了 一种 改 进策 略———改 进 的蝶型细分算法[ 2] ; Leif Kobbelt 在 1996 年提 出了一 种基于 四
1 8
3
3
8源自文库
8
茁 茁
1-k茁
茁 茁
1 8 (a)内部奇点
茁 茁 (b)内部偶点
1
1
2
2
(c)边界与褶皱上的奇点
1
3
1
8
4
8
(d)边界与褶皱上的偶点
图 3 Loop 细 分规 则
图 3 中 β的取值可由公式 1 [ 5 - ( 3 + 1 cos 2π) 2 ] 给 n8 8 4 n
出。对于 Valence > 3 的顶点, 可按 公式 β= 3 来计 算 β; 当 顶 8n
相关文档
最新文档