You are on page 1of 99

國立中正大學

碩士論文
機械工程研究所

亂點掃描資料利用細分曲面貼覆原理來擬合出
NURBS 曲面模型

Construction of NURBS Surface Model from Random


Scanned Data Using Subdivision Surface Fitting

研 究 生:陳志龍
指導教授:姚宏宗 教授

中 華 民 國 九 十 五 年 七 月 三 日
誌謝
本論文能順利完成,首先要感謝姚宏宗教授的悉心指導,使我能

在良好的研究環境下學習、成長。同時感謝鄒李森學長和許千昱學長

在研究方向上的建議與指導。還有實驗室及育成中心的各位學長給我

的協助、建議,以及同學、學弟相互的勉勵與照顧,使我能順利完成

此研究。最後感謝父母長期來的栽培和所有親友的支持與鼓勵,很高

興和大家一起分享這份成果。
中文摘要
目前在逆向工程中,在取得物體掃瞄量測資料後都直接建構成三

角網格(STL)的多邊形網格實體模型。但在某些產業,還是以傳統的

曲面模型(NURBS)為主。所以在實際上就必須要多一道手續,將三角

網格的資料轉換成 NURBS 的資料型態。而這個轉換過程,不僅要花

費許多時間,而且還需要一些有經驗的人力,才能建出符合精度要求

的成品。

在這樣的前提之下,本研究利用Subdivision Surfaces的方式,配

合Subdivision Surfaces Fitting的方法,快速地從掃描資料中建立出近

似的多邊形網格,並根據立方塊十二個邊界或自行定義分割邊界的方

式,自動或手動將整個實體模型分成幾個的區塊,分別鋪上光滑平順

的NURBS曲面,以建造出一個NURBS的曲面模型。

本研究的主要目的在於如何提供一個快速的流程。讓傳統繁雜的

建構步驟簡化。例如,掃描點資料重建三角網格,以及三角網格重建

NURBS 曲面。如此一來,可以加速模型的建構流程,縮短模型開發

的工時,以大幅提升工業界的競爭力。另一方面,在一個這樣制式化

的流程下,也可以讓產品的品質變得更有保障。

I
Abstract
Nowadays, the reverse engineering is constructed from the scanned
data in the reverse engineering. The STL model is simple and can
represent any complicated shapes. Although the STL model becomes
more popular, certain industries are still relying on the traditional NURBS
surface model as the fact. Thus, it is important to construct the NURBS
model quickly and exactly.
The main purpose of this research is how to develop a rapid
procedure and simplify the process. We use the subdivision surface fitting
algorithm to construct the smooth polygonal model and divide the
polygonal model into several patches to build the smooth NURBS
surfaces. Thus, the NURBS surface model can be constructed
automatically from the point data in our approach. Finally, we can output
the IGES file and then these surfaces can be modified in any CAD
software.

II
目錄
中文摘要..................................................I

英文摘要.................................................II

目錄.....................................................III

圖目錄..................................................VII

表目錄..................................................XII

第一章 緒論...........................................001

1.1 前言.............................................001

1.2 研究動機.........................................002

1.3 研究目的.........................................003

1.4 文獻回顧.........................................003

1.4.1 三角網格重建 Subdivision Surfaces...............004

1.4.2 三角網格重建曲面............................005

1.4.3 掃描點資料重建 Subdivision Surfaces.............006

1.4.4 掃描點資料重建曲面..........................008

1.4.5 精度改善....................................009

1.5 研究方法.........................................010

第二章 Subdivision Surfaces............................011

2.1 Subdivision 基本觀念...............................011

III
2.2 Subdivision Surfaces................................017

2.3 Subdivision Scheme.................................018

2.4 Loop Subdivision Scheme............................020

2.5 Catmull-Clack Subdivision Scheme.....................022

2.6 Subdivision Surfaces 展示範例........................024

2.6.1 汽車........................................025

2.6.2 圓球........................................027

第三章 Subdivision Surfaces Fitting......................028

3.1 Subdivision Limit Position............................028

3.1.1 Loop Subdivision Limit Position..................029

3.1.2 Catmull-Clark Subdivision Limit Position...........030

3.2 初始網格更新位置計算..............................030

第四章 Subdivision Surfaces Fitting 過程介紹............032

4.1 Subdivision Surfaces Fitting 流程步驟..................032

4.2 原始物件資料.....................................034

4.3 初始網格的建立...................................034

4.4 逼近過程.........................................038

4.5 細分過程.........................................038

4.6 初始網格平滑化...................................039

IV
4.7 初始網格膨脹.....................................040

第五章 Subdivision Surfaces Fitting 改善方法............042

5.1 適應性細分.......................................042

5.2 射線找尋點群.....................................047

第六章 實體模型分割區塊..............................049

6.1 初始網格手動分割區塊.............................049

6.2 初始網格自動分割區塊.............................051

第七章 初始網格鋪設 NURBS 曲面.....................053

7.1 NURBS 曲面......................................053

7.2 初始網格鋪設 NURBS 曲面 (Catmull-Clark)............054

7.3 初始網格鋪設 NURBS 曲面 (Loop)...................056

7.4 存出 IGES 檔案....................................057

第八章 實際範例實作..................................059

8.1 Subdivision Surfaces 曲面模型範例 - 鞋子楦頭..........059

8.2 Subdivision Surfaces 曲面模型範例 - 高爾夫球頭........067

8.3 Subdivision Surfaces 曲面模型範例 - 耳朵..............073

8.4 Subdivision Surfaces 曲面模型範例 - 牙齒..............077

第九章 結論與未來展望................................080

9.1 結論.............................................080

V
9.2 未來展望.........................................082

參考文獻...............................................083

VI
圖目錄
圖 2-1 Subdivision Surfaces 西洋棋範例......................012

圖 2-2 近似法曲線變形示意圖.............................013

圖 2-3 近似法 - 控制網格、控制點及曲線示意圖.............013

圖 2-4 插補法曲線變形示意圖.............................015

圖 2-5 插補法 - 控制網格、控制點及曲線示意圖.............015

圖 2-6 Subdivision Surfaces 齒模範例........................016

圖 2-7 Face Split 示意圖...................................019

圖 2-8 Vertex Split 示意圖.................................019

圖 2-9 Loop Subdivision Scheme 示意圖......................020

圖 2-10 Loop Subdivision Scheme 權重示意圖.................021

圖 2-11 Loop Subdivision Surfaces 簡單範例..................022

圖 2-12 Catmull-Clark Subdivision Scheme 權重示意圖.........023

圖 2-13 Catmull-Clark Subdivision Surfaces 簡單範例...........024

圖 2-14 Subdivision Surfaces 汽車範例.......................025

圖 2-15 汽車細部放大圖..................................026

圖 2-16 汽車細部放大圖(網格)............................026

圖 2-17 Subdivision Surfaces 圓球範例.......................027

圖 2-18 圓球細部放大圖(網格)............................027

VII
圖 3-1 SLP 示意圖.......................................029

圖 3-2 頂點與頂點反力之關係圖...........................031

圖 4-1 Subdivision Surfaces Fitting 流程圖....................033

圖 4-2 原始物件資料.....................................034

圖 4-3 Boundary Box 所產生的初始網格.....................035

圖 4-4 Convex Hull 所產生的初始網格......................036

圖 4-5 讀檔進來的初始網格...............................036

圖 4-6 Marching Cube 所產生的初始網格....................037

圖 4-7 初始網格在逼近過程的變形.........................038

圖 4-8 初始網格在細分過程的變形(Loop Subdivision)..........039

圖 4-9 初始網格經過平滑化的變形.........................040

圖 4-10 初始網格經過膨脹後的變形結果....................041

圖 5-1 線性細分示意圖...................................043

圖 5-2 網格拓撲修正示意圖...............................043

圖 5-3 適應性細分區域...................................045

圖 5-4 適應性細分結果...................................046

圖 5-5 最佳 Fitting 對應點群示意圖........................047

圖 5-6 射線找尋點群示意圖...............................048

圖 5-7 射線找尋點群實際例子比較.........................048

VIII
圖 6-1 初始網格自動分割區塊邊界.........................050

圖 6-2 近似初始網格自動分割區塊邊界.....................050

圖 6-3初始網格手動分割區塊邊界..........................051

圖 6-4 近似初始網格手動分割區塊邊界.....................052

圖 7-1 立方塊初始網格區塊鋪設單一NURBS曲面............054

圖 7-2 近似初始網格區塊鋪設單一NURBS曲面(CC方式) ......055

圖 7-3 細分前後的初始網格結構...........................056

圖 7-4 近似初始網格區塊鋪設單一NURBS曲面(Loop方式) ....057

圖 7-5 曲面資料及輸出之IGES檔案.........................058

圖 8-1 鞋子楦頭原始物件資料.............................059

圖 8-2 手動建立之初始網格...............................060

圖 8-3 手動定義之分割邊界...............................061

圖 8-4 Subdivision Surface Fitting............................061

圖 8-5 Subdivision Surface Fitting............................062

圖 8-6 Subdivision Surface Fitting............................063

圖 8-7 實體模型分割區塊.................................064

圖 8-8 實體模型鋪設NURBS曲面..........................065

圖 8-9 CAD軟體讀入IGES檔...............................065

圖 8-10 NURBS曲面模型進行誤差分析......................066

IX
圖 8-11 高爾夫球頭原始物件資料..........................067

圖 8-12 手動建立之初始網格..............................067

圖 8-13 Subdivision Surface Fitting...........................068

圖 8-14 Subdivision Surface Fitting...........................069

圖 8-15 實體模型分割區塊................................070

圖 8-16 實體模型鋪設NURBS曲面.........................071

圖 8-17 CAD軟體讀入IGES檔..............................071

圖 8-18 NURBS曲面模型進行誤差分析之結果................072

圖 8-19 掃描資料及其初始網格............................073

圖 8-20 手動建立之初始網格..............................073

圖 8-21 Subdivision Surface Fitting...........................074

圖 8-22 實體模型分割區塊................................075

圖 8-23 實體模型鋪設NURBS曲面.........................075

圖 8-24 CAD軟體讀入IGES檔..............................076

圖 8-25 NURBS曲面模型進行誤差分析之結果................076

圖 8-26 掃描資料及其初始網格............................077

圖 8-27 Subdivision Surface Fitting...........................077

圖 8-28 實體模型分割區塊................................078

圖 8-29 實體模型鋪設NURBS曲面.........................078

X
圖 8-30 CAD軟體讀入IGES檔..............................079

圖 8-31 NURBS曲面模型進行誤差分析之結果................079

XI
表目錄
表 2-1 Subdivision Scheme 分類............................018

XII
第一章 緒論

1.1 前言
近年來由於逆向工程(Reversed Engineering)的興起,加上電腦輔

助設計(Computer Aided Design)系統的蓬勃發展,改變了傳統模具開

發與製造的程序,大大地減少了模具製造的時間,換句話說,就是提

高了產品的生產效率與產業的競爭力,所以對產業界來說,逆向工程

不像早期只是產品原型的重新製造與複製,而是可以從量測點資料中

獲得設計資料,並且保有產品原型設計資料或發展出新的改良工件,

也就是重製與再設計的觀念。

隨著科技的進步,各式各樣的商品不斷地的推陳出新,在這激烈

的競爭環境中,消費者在購買商品時的要求,已經變得越來越高了,

不在像從前單單只考慮商品本身的功能及價格而已。為了吸引消費者

的目光,商品的造型越來越多樣化,單調、死板的樣子已經無法引起

消費者的興趣,取而代之的是具有造型的自由曲面,而在這樣子的需

求下,自由曲面也就顯得的格外重要了。

在自由曲面的模型建構中,逆向工程不像正向工程那樣的簡單。

再加上逆向工程所建立的自由曲面模型在轉換成實體模型時常常會

發生許多的困擾,例如曲面與曲面的空隙過大而無法縫合成一個實

1
體,或是因為曲面間的重疊造成實體轉換的錯誤。因此,在目前CAD

系統中,除了傳統以曲面做為模型的基本架構之外,另外也加入多邊

形網格為架構的實體模型建構方式。

1.2 研究動機
傳統逆向工程在取得既有的物體掃瞄量測資料後,須經由資料前

置處理、曲面嵌合、曲面縫合、曲面編修…等步驟來建構曲面模型。

在多邊形網格已逐漸成為CAD/CAM領域的主流的現在,所以目

前在逆向工程中,取得物體掃瞄量測資料後都直接建構成三角網格

(STL)的多邊形網格實體模型。但在某些產生高精度商品的產業上,

如高爾夫球桿產業,或者一些其它的產業,卻還是以傳統的曲面模型

(NURBS)為主。所以他們就必須要多一道手續,將三角網格的資料轉

換成NURBS的資料型態。而這個轉換過程,不僅要花費許多時間,

而且還需要一些有經驗的人力,才能建出符合精度要求的成品。

在這樣子前提之下,勢必要發展一套更快速的建模流程,才能提

供產業界的需求。所以我的研究動機就是如何讓這個建模流程,變得

更簡單、更快速。如此一來,不僅可以大幅縮短建立曲面模型的時程,

另一方面,也可以讓產品的品質更有保障,不管是有經驗老手或是新

進員工建出來曲面模型的品質都是一樣的。

2
1.3 研究目的
最 近 十 年 來 在 CAD/CAM 領 域 掀 起 另 外 一 股 風 潮 , 也 就 是

Subdivision Surfaces,其本身擁有許多的優點,其主要的優點是簡單、

容易表達,而且在特定的細分法則下,不需要繁雜的數學式,就可以

擁有良好連續性。所以在某種程度上,它其實也算是一種多邊形網格。

在Subdivision Surfaces的這種特性之下,我們主要的目的就是利

用Subdivision Surfaces的方式,配合Subdivision Surfaces Fitting的方

法,快速地從掃描資料中建立出近似的多邊形網格,相當於近似的

NURBS的實體模型。最後再以簡單、直覺化的方式,例如,立方塊

的十二個邊為分割邊界或以手動定義邊界的方式,將整個實體模型分

成幾個的區塊,再真正鋪上光滑平順的NURBS的曲面,就是完成了

一個傳統的曲面模型。

所以利用我們的程式可以在曲面模型與實體模型做切換,不單單

只是單向的轉換,讓使用者可以在各套繪圖軟體之間使用。

1.4 文獻回顧
從掃描點資料或是從三角網格重建曲面的技術,在CAD/CAM的

領域,發展好一段時間了,主要應用的領域都不盡相同,以下是針對

這之間學者所提出來的方法,作一個整理,並且比較各方法的優缺點。

3
1.4.1 三角網格重建Subdivision Surfaces
Kobbelt et al. 在 「 A shrink wrapping approach to remeshing

polygonal surfaces」[1]中利用三角網格、Subdivision Surfaces這兩個熱

門的題材,來描述一個現實生活中薄膜收縮的現象,主要的方式也是

手動產生初始網格,再去模擬薄膜收縮的方式,去逼近輸入的三角網

格,其中有運用影像處理的方式解決薄膜收縮時所產生的皺褶,並將

無次序的三角網格轉換成擁有細分型態的拓撲,最後產生出近似的

Subdivision Surfaces曲面模型。

Ma et al.在「Subdivision Surface Fitting from a Dense Triangle

Mesh」[2]中主要是強調說重建出來的Subdivision Surfaces可以保留邊

和特徵的部份,但是必須在一開始的時候先定義好特徵,再使用可以

保留的特徵及拓撲的網格簡化來產生初始網格,最後利用Loop的細分

方式來重建Subdivision Surfaces,受限於定義特徵的部份為手動的,

所以在輸入模型方面,並不會使用太複雜的外型。

Lee et al.在「Displaced subdivision surfaces」[3]中提出一個新的表

示法”Displaced Subdivision Surfaces”,這個方法主要分為兩個部份構

成的,分別是表達大略外型的Smooth Domain和表達細微特徵的

Scalar-Valued Displacement,也就是在平滑的Surface Domain上,將

4
Scalar-Valued Displacement - 細微特徵部份給疊加上去,而建構出有

細微特徵的Subdivision Surfaces。本篇論文主要的用意,是使用資料

量較少的Displaced Subdivision Surfaces,去取代動畫上資料量極大的

三角網格,所以輸入的檔案為三角網格。

Lee et al.在「Reverse Engineering Using a Subdivision Surface

Scheme」[4]中,主要是在說明目前Subdivision Surfaces用於逆向工程

的情況,以及Subdivision Surfaces與NURBS之間差異性,並且利用

Displaced Subdivision Surfaces 的 方 式 , 將 三 角 網 格 模 型 重 建 成

Subdivision Surfaces。

1.4.2 三角網格重建曲面
Takeuchi et al.在「Subdivision surface fitting using QEM-based mesh

simplification and reconstruction of approximated B-spline surfaces」[5]

中也是從粗略的三角網格出發,再利用QEM(Quadratic Error Metrics)

的方式簡化初始網格,透過Doo-Sabin的細分方式,最後將這個初始

網格重建成B-Spline曲面。

Krishnamurthy和Levoy在「Fitting smooth surfaces to dense polygon

meshes」[6]中,主要的用意也是要將擁有大量資料的三角網格,用

5
B-Spline或Subdivision Surfaces來取代。透過畫出邊界曲線的步驟,將

物件模型分成好幾個區塊,最後再將這些區塊鋪成B-Spline曲面,或

是 計 算 出 Scalar-Valued Displacement 重 建 成 Displaced Subdivision

Surfaces。

1.4.3 掃描點資料重建成Subdivision Surfaces


Jeong et al.在「Automatic generation of subdivision surface head

models from point cloud data」[7]中所提出的方法主要是針對單一產

業,本方法可以自動從輸入的點資料產生多重解析度的人頭模型,由

一個標準的人頭模型,利用自己定義的幾個特徵區域進行局部適應性

逼近,然後再進行全域的逼近,最後再得到一個變形後的人頭模型。

此方法只適用於單一模型,所以應用範圍太狹隘。

Jeong和Kim在「Direct reconstruction of a displaced subdivision

surface from unorganized points」[8]中也是利用”Displaced Subdivision

Surfaces”的方法。平滑的Surface Domain是利用Shrink-Wrapping的方

式直接從亂點建構出來,然後利用Loop Subdivision的方式,得到

Surface Domain,再將Surface Domain透過Point-Based Simplification的

方式處理,在這簡化的過程中獲得Displace Map的資訊,產生出最後

的結果。

6
Cheng et al.在「Fitting subdivision surfaces to unorganized point data

using SDM」[9]中提出了一個新的SDM(Squared Distance Minimization)

方法來取代原來點對點的最小平方法,來進行Subdivision Surfaces

Fitting,過程中也有使用在局部細分的方式來提高逼近物件的精度,

輸入資料為三角網格,並利用三角網格透過Marching Cubes演算法先

產生近似的初始網格。出來的結果誤差明顯比傳統的方式小。

Suzuki et al.在「Subdivision surface fitting to a range of points」[10]

中主要是利用手動建出其初始網格,然後再利用名為”Subdivision

Limit Position”的觀念,也就是三角網格上的頂點都會有它的最終曲

面 的 位 置 , 藉 由 讓 SLP 逼 近 原 始 物 件 資 料 , 那 就 代 表 說 最 後 的

Subdivision Surfaces也就會越靠近原始物件資料,來產生出來一件近

似的Subdivision Surfaces物件。因為在逼近過程中,用的方式是找尋

物件的最近點,所以本方法可以用於亂點。也因為這個原因,所以本

篇的優點就是執行的速度非常的快,而主要的缺點就是,近似出來的

物件還不夠精細,以及尚未達到自動化。

Marinov 和 Kobbelt 在 「 Optimization methods for scattered data

approximation with subdivision surfaces」[11]中也是針對亂點去重建出

來Subdivision Surfaces的曲面模型,使用的方式和[7]差不多,主要強

7
調的部份,一般在最佳化的部份,只作到L2誤差的部份,而本篇論文

在最後結果有針對到L∞誤差的部份,進行最佳化,來滿足使用者所定

義的公差,所以能表示較一般複雜的物件。

Hoppe et al.在「Piecewise smooth surface reconstruction」[12]中提

出了自動從掃描點資料重建Subdivision Surfaces的方式,使用了兩種

的細分法則,去逼近原始的三角網格。而這種方式主要也是用於較平

滑的物體或造型用物件,此方法可產生高品質的模型,但是最主要的

缺點就是需要花費很大量的時間在最佳化上面,而且出來的曲面區

塊,並不是工業界的所要的。

1.4.4 掃描點資料重建曲面
Ma和Zhao在「Catmull-Clark surface fitting for reverse engineering

applications」[13]中主要在強調說 Catmull-Clark Surfaces 應用於在逆

向工程的例子。從實體模型透過CT掃描後,得到2D的CT資料再經過

處理後,轉換成3D的點資料,此時手動地建立幾片基礎的曲面模型,

藉由Catmull-Clark Surfaces配合使用最小平方法去逼近原始物件資

料,產生最後貼近的曲面,其連續性可達到G2連續,在轉角的部份

也有G1連續。

8
Hoppe et al.在「Surface reconstruction from unorganized points」[14]

中提出將掃描點資料重建成曲面三角網格的演算法,主要可分為兩個

部份,一部份是計算距離,而另一個部份則是使用Marching Cubes的

方式,將其點群分類,找出來其Iso Surfaces,最後再判斷內外,將掃

描點資料重建成曲面。

Eck和Hoppe在「Automatic reconstruction of B-spline surfaces of

arbitrary topological type」[15]中,主要是延續上一篇論文,將之前的

結果作為本篇論文的輸入,再利用Delaunay的方式自動將之前的初始

網格分成幾個區塊,最後再將其鋪成B-Spline曲面。對於外型較簡單

的物件,作出來的結果還蠻不錯的,由於是延用之前的結果,所以在

區塊方面,仍然是不是很理想。

1.4.5 精度改善
Amresh et al. 在 「 Adaptive Subdivision schemes for triangular

meshes」[16]中主要是提出Adaptive Subdivision的演算法,用於複雜

外型的三角網格,使用的細分法則為Loop Subdivision Scheme。主要

目的是在誤差允許的範圍內減少三角網格的點數、網格數及資料量。

9
1.5 研究方法
在本研究之中,我們的整個建模的流程,一共可分為下列幾個項

目:

z 建立初始網格

z 產生近似的多邊形網格

z 實體模型分割區塊

z 鋪設曲面

在建立初始網格的部份,方式有很多種,有利用邊界自動產生立方體

的初始網格、利用Marching Cubes產生的初始網格及是讀入已預先建

好的初始網格檔案。再來利用不同的Subdivision Surfaces(Loop、

Catmull-Clark),透過Subdivision Surfaces Fitting的方法,產生近似的

多邊形網格。但是若單純只靠Subdivision Surfaces的細分,會有網格

數不夠,無法精確重建整個多邊形網格,造成精度不夠的情況,這時

候再利用Adaptive Subdivision的方式,來增加網格數,提高精度。以

簡單、直覺化的方式,例如,立方塊的十二個邊為分割邊界或以手動

定義邊界的方式,將實體模型分割成幾個主要的區塊,最後再將分割

出來的幾個區塊鋪成NURBS曲面。

10
第二章 Subdivision Surfaces
Subdivision Surfaces是一個使用多邊形模型描述一個曲面的方

法。如同一般的多邊形模型一樣,這個曲面可以是任意大小、形狀,

並沒有局限於四邊形的網格,而且不像一般的多邊形模型,這個曲面

是非常的平滑。原始的多邊形模型,經由Subdivision的過程,產生近

似的曲面模型。而這個曲面模型可以根據需求而產生粗略或細微的模

型。

在 接 下 來 的 部 份 , 會 介 紹 一 下 Subdivision 的 基 本 觀 念

[17][18][19][20][21],然後再補充一下Subdivision Surfaces的特性,並

且介紹幾種不同的Subdivision Surfaces,最後展示這些Subdivision的

結果。

2.1 Subdivision 基本觀念


Subdivision 最基本的概念就是細分,也就是一個處理程序,將線段

/網格丟入這個處理程序,經過反覆連續地的細分,最後得到平滑的

曲線/曲面,如圖 2-1 所示,為西洋棋實際細分的範例。

而根據 Subdivision 的方式,通常可分為兩種:一種是近似的方式

(Approximation),另一種是插補的方式(Interpolation),以下我們就這

兩種方法做一個介紹:

11
圖2-1 Subdivision Surfaces 西洋棋範例。

(一) 近似法

簡單的說,就是剛開始所輸入的線段/網格上的點是會移動的,也

就是說,在最後所得到的平滑曲線/曲面,上面的點並不會通過原始

的線段/網格上的點,若以一條 2D 的多邊形線段來說,下面例子採

用的是 Corner Cutting 的方式來表示:

a. b.

c. d.

12
e. f.

圖2-2 曲線Subdivision近似法示意圖。a.為初始的控制網格;b.為控制

點權重取法;c.-e.依序是曲線變形的步驟;f.為最終結果。

依下圖來看,就可以明顯的看出來,原始控制網格與最終曲線兩者之

間的情況,曲線並沒有通過原始的控制點,所以近似法所建構出來的

曲線是不會通過控制點的。

圖2-3 近似法 - 控制網格、控制點及曲線示意圖。

13
(二) 插補法

依據上面的說法,就是剛開始所輸入的線段/網格上的點是不會移

動的,也就是說,在最後所得到的平滑曲線/曲面,上面的點是會通

過原始的線段/網格上的點,同樣以一條 2D 的多邊形線段來說,下

面例子採用的是 4-Point Scheme 的方式來表示:

a. b.

c. d.

e. f.

14
g. h.

圖2-4 曲線Subdivision插補法示意圖。a.為初始的控制網格;b.、c.、

d.為控制點權重取法;e.、f.為新插出來的頂點;g.為f.重新連線的情

況;h.為最終結果。

同樣地,依下圖來看,就可以了解到,最終曲線有通過原始控制點的,

所以這就是插補法所建構出來的曲線。

圖2-5 插補法-控制網格、控制點及曲線示意圖。

15
而 Subdivision 具 備 了 三 項 特 質 : LOD(Level of Detail) 、

Compression、Smoothing。LOD,根據情況的不同,而展現不同的程

度的細節,例如,近看或遠觀東西時所需要表示的細節就不一樣,近

看時就需要細微的特徵,而遠觀時一個大略的外型就可以表示。而

Compression 的意思就是說,利用一個較小的檔案用於傳輸,使用者

接受檔案後,再透過 Subdivision 的方式,去還原成較光滑平順的成

品。最後 Smoothing 則是說,經過 Subdivision 的結果,都具備有良

好的連續性。如圖 2-6 所示,為齒模的實際範例,當我們在平移、旋

轉時,並不需要看到很詳細的部份,這時以圖 a 粗略的外型來代表就

可以了,而在結束平移、旋轉時,可能會觀看細微的部份,這時就需

要細膩的外表來表示物件,如圖 b 。

a. b.

圖 2-6 Subdivision Surfaces 齒模範例

16
2.2 Subdivision Surfaces
1978年,Doo & Sabin和Catmull & Clark同時期發表論文,首度將

Subdivision的方法用於Surface Modeling。而Subdivision Surfaces的定

義為,在連續不斷地重覆細分之後,將任意的多邊形網格變成平滑的

曲面,而這平滑的曲面就稱作Subdivision Surfaces,目前Subdivision

Surfaces大多用於電腦圖學、電腦動畫及電腦輔助幾何設計的領域。

其實 Subdivisioin Surfaces 和傳統的 B-Spline、NURBS 曲線/曲面

一樣,都是從控制網格開始,經過不同的方式,最後都是得到曲線/

曲面。因為 Subdivision Surfaces 類似於三角網格,所以具有三角網格

的優點,在 Subdivision Surfaces 的優點中也會出現,而 Subdivision

Surfaces 相較於傳統 NURBS 的優點為:

z 可用於任何的拓撲關係:傳統的 NURBS 曲面,只能是四邊

形的控制網格。不可以是任意的多邊形網格。由於 Subdivision

Surfaces 是靠網格細分而成的,而新插出來的頂點,是由舊的

頂點乘上權重計算而來的,所以就可以應付多邊形的網格。

z 易於實現:這個優點和三角網格一樣,也就是說曲面是單純

的由網格組成,而網格又是由幾個頂點相連而成的,所以在

實作上,很容易實現。

z 局部連續性控制:當有兩個以上 NURBS 曲面要合併成一個

17
曲面時,如果控制點不一樣的話,就會有連續性的問題,而

Subdivision Surfaces 就不會有這個問題,因為曲面的組成,是

靠網格調整頂點來的,而頂點的調整又是由鄰近頂點乘上特

定的權重而來,所以不會有縫補曲面的問題。

2.3 Subdivision Scheme


除了先前介紹Doo & Sabin和Catmull-Clark的細分法則之外,在電

腦圖學的領域中另外還有許多的細分法則,簡單整理如下:

表2-1 Subdivision Scheme 分類

Face Split Vertex Split

三角網格 四邊形網格

近似法 Loop(C2) Catmull-Clark(C2) Doo-Sabin(C1)


2
3 (C ) Midedge(C1)
4-8 Subdivision(C4)

插補法 Butterfly(C1) Kobblet(C1)

Face Split的意思就是說,這個方式是以面為出發點,如果以下圖的四

邊形網格來說,就是一個網格細分一次,就會細分成四個網格。

18
圖2-7 Face Split 示意圖

而Vertex Split的意思正好和Face Split相反,這個方式是以頂點為出發

點,同樣以四邊形網格來說的話,就是四邊形網格上的一個頂點每細

分一次,就會細分成四個頂點,如下圖。

圖2-8 Vertex Split 示意圖

而首先提出細分法則用於三角網格則是Loop,由於近年來三角網

格在CAD/CAM領域的興起,所以在各式各樣細分法則中,以Loop為

最常用。因為這個原因,所以我們選擇Loop為我們使用的細分法則之

一。而Catmull-Clark的細分法則能將多邊形網格細分成四邊網格,因

為這個特性,對於後續鋪設曲面有很大的幫助,所以Catmull-Clark也

19
是我們選擇使用的細分法則。

由於Subdivision Scheme的種類繁多,所以在下面的章節,我們只

介 紹 本 篇 論 文 用 到 的 Loop Subdivision Scheme 和 Catmull-Clark

Subdivision Scheme。

2.4 Loop Subdivision Scheme


Loop細分法則,簡單來說就是將一個三角形細分成四個三角形。

如圖2-9所示。由於Loop的細分是屬於近似型的細分,所以不單單是

新插入的點要經過特定的計算,就連原來頂點也要經過計算調整位

置。

圖2-9 Loop Subdivision Scheme 示意圖。黑點為原始頂點;綠點為

新插入的頂點。

計算的公式可分為新插入的點及頂點,新插入的點即為三角形邊

上的點,頂點則只有調整位置。假設更新後的點為 P ' 。

20
新插入的點的計算公式如下:
1
P' = (3 p1 + 3 p 2 + p3 + p 4 ) (2-1)
8

如圖2-10, p1 、 p 2 為要插入點的邊上的兩個頂點,而 p3 、 p 4 則是

共用這個邊的三角網格的另一個頂點,非插入點邊上的兩個頂點。

頂點調整公式如下:

P ' = (1 − kβ ) p + β ( p1 + p 2 + ... + p k ) (2-2)

k 為頂點鄰近的三角形數目, β 的值則是根據下列公式計算:

⎧ 3
⎪ (k = 3)
⎪ 16
β =⎨ ⎛ (2-3)
2π ⎞ ⎞⎟
2
1⎜5 ⎛3 1
⎪ − ⎜ + cos ⎟ (k > 3)
⎪⎩ k ⎜⎝ 8 ⎝ 8 4 k ⎠ ⎟⎠

以圖2-10來說,黑點要計算出來的新頂點,而計算的方式,則是

靠鄰近四個頂點乘上左下圖的權重計算而來的。而右下圖則是存在的

頂點調整位置時,頂點與鄰近頂點要乘上的權重值。

圖2-10 Loop Subdivision Scheme 權重示意圖。左圖為新計算頂點欲乘

上的權重值;右圖為頂點調整位置乘上的權重值。

21
圖 2-11 為 Loop Subdivision Surfaces 一 個 簡 單 的 範 例 , 經 由 Loop

Subdivision Scheme的細分,由正六面體遂漸變成圓球體。

圖2-11 Loop Subdivision Surfaces 簡單範例。

2.5 Catmull-Clark Subdivision Scheme


Catmull-Clark 細分法則,最大的好處就是不管輸入的資料是幾邊

形,一旦經過Calmull-Clark 細分之後,每一個網格都會變成四邊形。

Catmull-Clark 計算的公式一共可分為三種,分別是面上的點、邊上

的點及頂點。在此假設 p ' 為更新後的點或新產生的點。

首先是面上的點,也就是此網格的各點的平均值,所以面上的點

的算式如下:
1
Pf =
'
( p1 + p 2 + ... + p k ) (2-4)
k

k 為頂點鄰近的網格數目, p1 ~ p k 為網格上的頂點。再來是邊上的

點,也就是邊上的點和鄰近面的點的平均值,算式如下:
1
'
Pe = ( p1 + p 2 + p3 + p 4 ) (2-5)
4

22
p1 、 p 2 為要插入點的邊上的兩個頂點,而 p3 、 p 4 則是共用這個邊

的網格的兩個面上的點。

最後是頂點的計算公式,頂點、鄰近邊上的點及鄰近面上的點各

乘上特定的權重值,加總即為調整後的頂點位置,算式如下:
β γ
Pv = (1 − β − γ ) p v + ∑ ∑
' k −1 k −1
i =0
p ei + i =0
p fi (2-6)
k k

p v 為要調整的頂點, p e i 為鄰近某一個網格邊上的點, p f i 為鄰近

某一個網格面上的點, β 和 γ 的值計算如下:
3 1
β= γ = (2-7)
2k 4k

圖 2-12 依序為計算面的頂點、邊的頂點及頂點調整位置所需要乘上

的權重值,而黑點為新計算出來的頂點。

a. b. c.

圖 2-12 Catmull-Clark Subdivision Scheme 權重示意圖。a.為計算面上

的頂點所需乘上的權重值;b.是邊上的頂點所需乘上的權重值;c.則

是頂點調整位置所需乘上的權重值。

23
圖2-13為Catmull-Clark Subdivision Surfaces一個簡單的範例,經由

Catmull-Clark Subdivision Scheme的細分,由正六面體遂漸變成圓球

體。

圖 2-13 Catmull-Clark Subdivision Surfaces 簡單範例。

2.6 Subdivision Surfaces 展示範例


使用Subdivision Surfaces的優點有很多,其中一個優點就是可以

節省記憶體,利於網路的傳輸。將資料量較少、較為粗略的網格資料

用於傳輸,最後在使用端透過細分的方式,使其達到一定精度,獲得

可應用的成品。

另一個優點就是可以原本表面精度較差的網格資料,經過細分之

後,獲得C2連續性的平滑表面。

24
2.6.1 汽車
下列為汽車的範列,圖2-14 a.為外型較粗略的原始資料,資料量

較小,易於在網路上傳輸,在使用者接受在檔案之後,使用Loop細分,

在經過幾次細分之後,就可以得到平滑的表面的資料,如圖2-14所示。

a. b.

c.

圖 2-14 Subdivision Surfaces 汽車範例。a.為汽車原始資料;b.為 Loop

一次細分;c.為最後結果(Loop 二次細分)。

以細部的放大圖來看,可很容易的看出來原始資料較粗略,表面不平

順,而結果的表面是非常平順。

25
圖2-15 汽車細部放大圖。左圖為原始資料;右圖為細分後的結果。

若以網格型態來看,結果的網格是非常均勻且平順的,不像原始資料

那樣的有棱有角。

圖2-16 汽車細部放大圖(網格)。左圖為原始資料;右圖為細分後的結

果。

26
2.6.2 圓球
下列為圓球的範列,在使用Loop細分之後,可以明顯看出來表面

的平滑度的差異,不單單只是平滑化而已,還具備C2連續的特性。

a. b. c.

圖 2-17 Subdivision Surfaces 圓球範例。a.為原始資料;b.為 Loop 一

次細分;c.為最後結果(Loop 二次細分)。

圖2-18 圓球細部放大圖(網格)。左圖為原始資料;右圖為細分後的結

果。

27
第三章 Subdivision Surface Fitting
在前面的章節,我們已經介紹過Subdivision Surfaces,延續上一

章節的部份,這一章節主要介紹的是Subdivision Surfaces Fitting,這

個方法由Suzuki[10]首先提出來的,利用Subdivision Surfaces去對一群

掃描點資料作重建Subdivision Surfaces曲面,所以最後會產生一筆很

近似於掃描點資料的多邊形網格資料。主要的觀念在於Subdivision

Limit Position(SLP),因為SLP就是初始網格不斷細分的最終曲面。如

果可以藉由SLP不斷的逼近掃描點資料,我們就可以得知,產生出來

Subdivision Surfaces是Fitting在掃描點資料上。

此方法的輸入為掃描點資料,利用自動產生或手動輸入的初始網

格去進行Fitting,經過細分、逼近的過程,最後產生一筆很近似於掃

描點資料的Subdivision Surfaces的多邊形網格資料。

3.1 Subdivision Limit Position


一個初始網格在經過不斷地細分,最終會得到一個平滑的曲面。

如果以初始網格上的一個頂點來說,在經過不斷地的細分之後,最後

會位於平滑曲面上的一個位置,而這個位置就叫作為SLP。以下分別

介紹Loop、Catmull-Clark的SLP的公式推導。

28
3.1.1 Subdivision Limit Position for Loop
假設現在為初始網格上的某一個頂點 pi ,其頂點的SLP代表符號

為 pi∞ ,計算的公式如下:

pi∞ = (1 − kχ ) pi + χ ∑ p j (3-1)
j∈i

p j 為與頂點 pi 共用同一個邊的鄰近頂點,β 則相同於前一節介紹的係

數,而 χ 的計算如下

−1
⎛ 3 ⎞
χ = ⎜⎜ + k ⎟⎟ (3-2)
⎝ 8β ⎠

下圖為SLP的示意圖,假設目前頂點 pi ,鄰近有六個網格,網格上的

頂點分別有 Pj1 ~ Pj6 ,根據這六個頂點代入(3-1)(3-2)的公式,我們可算

出來頂點 pi 的SLP位置為 pi∞ 。

圖3-1 SLP 示意圖

29
3.1.2 Subdivision Limit Position for Catmull-Clark

現在介紹Catmull-Clark的SLP,同樣假設為初始網格上的某一個

頂點 pi ,其頂點的SLP代表符號為 pi∞ ,計算的公式如下:

β γ
Pi = (1 − β − γ ) pi + ∑ ∑

j∈i
p ej + j∈i
p fj (3-3)
k k

p ej 為與頂點 pi 共用同一個邊的鄰近頂點, p fj 則為頂點 pi 鄰近的頂

點,但沒有共用同一個邊的, β 和 γ 的值同於上一章介紹的係數,定

義如下:
3 1
β= γ = (3-4)
2k 4k

3.2 初始網格更新位置計算
假設 M 為初始網格, Q 為掃描點資料,而 qi ∈ Q 則為頂點的 pi∞ 所

找到的最近點,因為整體的誤差為:
1

2
E= i∈M
E i , Ei = pi∞ − qi (3-5)
M

經過一次偏微分,我們可得到最小能量為:
∂E
∀i ∈ M
∂Pi
( )
= pi∞ − qi (1 − kχ ) = 0

Q (1 − kχ ) ≠ 0 , ∴ Pi ∞ = qi (3-6)

根據(3-6)的式子:

pi∞ = (1 − kχ ) pi + χ ∑ p j
j∈i

= pi + χ i ∑ ( p j − pi ) (3-7)
j∈i

30
再根據上式,代入移項後可得:

qi − pi = χ i ∑ ( p j − pi ) (3-8)
j∈i

再假設 ri 為每次前進的距離,最後頂點的更新位置為 pi' ,所以我們可

以得到 ri 的定義及 pi' 更新位置的計算公式如下:

Loop
ri = (qi − pi ) − χ i ∑ ( p j − pi ) (3-9)
j∈i

Catmull-Clark
β γ
ri = (qi − pi ) +
k
∑ (p
j∈i
ej − pi ) +
k
∑ (p
j∈i
fj − pi ) (3-10)

pi' = pi + λri (3-11)

λ 為一個每次前進的權重值,介於0~1之間,數值越大,每次前進的

距離越大,根據實驗結果, λ 值為0.4為最佳。

下圖為頂點與頂點反力之關係圖,可以很明顯的看出來,要計算更新

位置的頂點為 pi , p j 則是與頂點 pi 共用同一個邊的鄰近頂點,根據頂

點SLP所找出來的最近點為 qi ' ,頂點 pi 與周圍頂點 p j 計算出來的合力

為 ri ,所以每次前進的距離為 λri 。

圖3-2 頂點與頂點反力之關係圖。反力之合力作用於 pi 。

31
第四章 Subdivision Surfaces Fitting 過程介紹
在經過兩個章節的介紹後,我們可以概略的了解 Subdivision

Surfaces 的意義以及它所應用的範圍。而在本章節的內容中,我們主

要介紹的是有了前面的觀念之後,如何將這一整個流程串起來,並且

針對每個細節的部份詳加介紹。

4.1 Subdivision Surfaces Fitting 流程步驟


在本論文中,整個流程可分為下列幾個步驟:

1. 輸入亂點資料,作為初始網格Fitting的目標。

2. 設定初始網格,在本論文中可以選擇自動產生或讀入初始網

格。

3. 初始網格貼覆

z 計算Subdivision Limit Position。

z 計算初始網格頂點的位移並調整初始網格。

4. 初 始 網 格 細 分 , 將 目 前 的 初 始 網 格 進 行 Loop 細 分 或

Catmull-Clark細分。

5. 重覆 3、4 的步驟,直到達到想要的精度、外型。

32
圖4-1 Subdivision Surfaces Fitting 流程圖

33
4.2 原始物件資料
在本篇論文中以掃描點資料,也就是亂點資料作為我們的輸入,

為本文中所提到的原始物件資料。主要是以Free-Form的造型件及有

濾過雜訊的掃描點資料為主。如圖4-2所示,圖a為掃描點資料以

Point-Based的方式Shading的結果,圖b灰色點群為取得之亂點資料。

a. b.

圖4-2 原始物件資料。a. Point-Based Shading;b.掃描點資料。

4.3 初始網格的建立
在本篇論文中,初始網格的佔了很重要的地位,因為掃描點資料

具有凹凸不平的分佈狀況,所以在Fitting的過程中,對於整個初始網

格來說會有凸殼(Convex)及凹殼(Concave)的情況,而對於包覆整個掃

描點資料的初始網格來說,太過細微的凹殼區域會造成Fitting結果不

34
夠貼近掃描點資料,所以有一個好的初始網格,也就是近似的初始網

格,與不好的初始網格所產生的結果的是有很大差別的。

在本論文中,提供了幾個方法去產生初始網格:

(1) Boundary Box:利用掃描點資料的邊界,三個維度X、Y、Z

的最大值、最小值,去產生正六面體。而根據使用的方式不同(Loop、

Catmull-Clark),所以產生正六面體的網格形式也不一樣,Loop是以

三角網格為主,而Catmull-Clark則是以四方網格為主,另外還能依使

用者的喜好,去產不同的立方塊。如圖4-3所示。

圖4-3 Boundary Box 所產生的初始網格。左圖為用於Loop Scheme

的初始網格;右圖為用於Catmull-Clark Scheme的初始網格。

(2) Convex Hull:本方法也是利用掃描點資料,去產生一個和掃

描點資料相似的Convex Hull作為初始網格。由於,Catmull-Clark對於

35
任何的網格型態都適用,所以在此,Loop和Catmull-Clark用的初始網

格是同樣的。如圖4-4所示。

圖4-4 Convex Hull 所產生的初始網格。左圖為表面型態;右圖為網

格型態。

(3) 讀檔:若使用者覺得以上兩個方法都不好的話。我們還可以

讀入使用者手動建立的初始網格,以達到最佳的效果。如圖4-5所示。

圖4-5 讀檔進來的初始網格。左圖為表面型態;右圖為網格型態。

36
(4) Marching Cube:透過Marching Cube將掃描點資料,轉換成一

個簡單的初始網格。其產生出來的初始網格,已經有簡略凹凸的外型

了。所以在效果上,比Boundary Box和Convex Hull的結果還要好。但

由於產生出來的初始網格和原始物件資料一樣大,所以我們另外寫了

一個函式,可將初始網格沿著Normal方向膨脹,如此一來就可以得到

一個完全包覆原始物件資料的初始網格了。如圖4-6所示。

a. b.

c. d.

圖4-6 Marching Cube 所產生的初始網格。a.、b.為原始產生的初始

網格;c.、d.為膨脹後的初始網格;a.、c.為表面型態;b.、d.為網格

型態。

37
4.4 逼近過程
這個過程的主要精髓也就是第三章所說的部份,主要的功能就是

依目前的初始網格以及原始物件資料去計算每一個頂點的SLP,再加

上根據使用者定義的λ值去決定每次前進的距離,算出每一個點移動

後的位置。如此去計算初始網格上的每一個頂點,最後就可得到一個

變形後的初始網格,如圖4-7所示。

圖4-7 初始網格在逼近過程的變形。左圖未變形前的初始網格;右圖

為變形後的初始網格。

4.5 細分過程
在這個過程中,主要的用意是藉由細分的方式將初始網格的頂點

數及網格數變多,好讓初始網格有更多網格去逼近原始物件資料,除

此之外,因為使用的是Loop、Catmull-Clark的細分方式,其本身就具

有平滑化的功能,換句話說,細分也有濾雜訊的功用,所以對於輕微

的雜訊,可以有濾除的效果,在網格數變多的同時,也讓表面兼顧到

38
良好連續性,讓初始網格擁有光滑平順的表面,如圖4-8所示。

圖4-8 初始網格在細分過程的變形 (Loop Subdivision)。左圖未變形前

的初始網格;右圖為變形後的初始網格。

4.6 初始網格平滑化
因為在多次逼近過程之後,會造成有些網格重疊或是網格自交的

情況發生,在這個時候,如果不適時調整網格的話,會造成網格重疊

或是網格自交的情況越來越嚴重,所以我們使用平滑化來將初始網格

的張力釋放,使得初始網格的網格可以變得較平順、較均勻。這樣子

的話,在後續的過程才會產生較好的結果,如圖4-9所示。

39
a. b.

c. d.

圖4-9 初始網格經過平滑化的變形。a.為平滑化前的初始網格;b.為

平滑化後的初始網格;c.為平滑化前初始網格的細部放大;d.為平滑

化後初始網格的細部放大。

4.7 初始網格膨脹
因為在多次逼近過程之後,初始網格有些會逼進去掃描點資料裡

去,對初始網格來說,本來是凸殼的區域就會變成凹殼的區域,也就

是最後逼近完成後,誤差較大的區域,所以我們可以使用初始網格膨

脹的方式,沿著網格的法向量往外偏移一點點,就樣子就可以使得在

逼近過程中,跑進去掃描點資料內部的初始網格恢復到凸殼的情況,

改善初始網格逼近的精度。如圖4-10所示。

40
a. b.

c. d.

圖4-10 初始網格經過膨脹後的變形結果。a.為膨脹前的初始網格;b.

為膨脹後的初始網格;c.為a後續作出來的結果;d.為b後續作出來的

結果。

41
第五章 Subdivision Surfaces Fitting 改善方法
在第四章的內容中,Subdivision Surfaces Fitting 的流程,藉由不

斷的細分及逼近的方式,來促使初始網格貼近物件資料,進而產生光

滑、平順的 Subdivision Surfaces 曲面模型,但結果並沒有我們想像中

的那麼好,如果只靠細分的方式,去增加網格數及點數,來使 Fitting

的效果更好,是不可行的,因為過多的網格數及點數會造成網格自交

的問題,而且在後續的應用上,也不建議初始網格有太多的網格數。

所以初始網格是不能無限制的細分下去的,在不能繼續細分的情況

下,我們勢必要利用別的方法來提升初始網格的品質。而這也是本章

的重點所在,以下就介紹兩個方法:

5.1 適應性細分
首先是適應性細分,其實這個想法很簡單,一般來說,在之前的

結果中,初始網格的點數並不會超過物件的點數,大多還有一段差

距,再加上其實初始網格的Fitting較差的部份也不多,都是一些凹殼

的區域較多,在這樣的情況之下,我們自然會想到說,如果只細分那

些初始網格中凹殼的部份,這樣子的話,再細分的初始網格,點數還

是不會超過物件資料,而我們又可以依照原來想法,利用細分,增加

點數,來使初始網格Fitting的效果更好。

42
而本篇論文目前採用的方式,是使用線性細分的方式,也在需要

細的區域,將網格一個變成四個,如圖5-1所示。

圖5-1 線性細分示意圖。

在適應性細分後,網格會分成有細分及沒有細分的區域,根據連

接區域網格的情況,可分為如圖5-2 a.b.c.三種情況,而我們則根據這

三種情況進行修正。以避免適應性細分後出現錯誤的拓撲關係。

a. b. c.

d. e. f.

圖5-2 網格拓撲修正示意圖。a.、b.、c.分別為三種錯誤的拓撲;d.、

e.、f.分別a.、b.、c.修正後之拓撲。

43
而我們修正的方式,是先將要進行適應性細分的網格標記起來,

為全細分型態,而沒細分的網格為無細分型態。之後,再針對每個網

格去判斷鄰邊有幾個全細分型態網格,也就是為圖5-2 (a)(b)(c)的其中

一種情況。若此三角網格鄰邊只有一個全細分型態網格時,就定義為

單邊修正型態,連接的方式為圖5-2 (d)。三角網格鄰邊有兩個全細分

型態網格時,則定義為雙邊修正型態,連接的方式為圖5-2 (e)。三角

網格鄰邊三個全細分型態網格時,而這個三角網格也標記成全細分型

態網格,連接的方式為圖5-2 (f)。最後再根據每個網格型態進行細分,

而寫成演算法型式如下:

// 先決定Adaptive Subdivision區域之網格 //

For 全部的網格 {
If( 大面積網格 || 狹長型網格 )
此網格型態為全細分型態;
Else
此網格型態為不細分型態;
}

// 修正連接區域網格之拓撲 //

For 全部的網格 {

If( 鄰邊網格有一個全細分型態 )
此網格型態為單邊修正型態;
Else If( 鄰邊網格有二個全細分型態 )
此網格型態為雙邊修正型態;
Else If( 鄰邊網格有三個全細分型態 )
此網格型態為全細分型態;
Else
此網格型態為不細分型態;
}

44
// 依照網格型態進行細分 //
For 全部的網格 {
Switch( 網格型態 )
Case 0: 網格不細分; // 不細分型態
break;
Case 1: 網格細分成兩個三角網格; // 單邊修正型態
break;
Case 2: 網格細分成三個三角網格; // 雙邊修正型態
break;
Case 3: 網格細分成四個三角網格; // 全細分型態
break;
}

而適應性細分的真正的重點,在於如何找出那些是需要細分的地

方,目前的方法,採用面積和角度的方式來判別。如圖5-3所示。依

高爾夫球頭來說,因為根據實驗的結果,這些需要細分的區域,大多

是面積較大的網格或者是狹長型的網格,所以目前的判斷方式是以這

兩個方式為主。

圖5-3 適應性細分區域。左圖為狹長型網格;右圖為大面積網格。

45
圖5-4為高爾夫球在某階段的初始網格進行適應性細分的結果,(a)為

狹長型網格的區域,(b)為大面積網格的區域,(c)和(d)分別為細分後

的結果。

a. b.

c. d.

圖5-4 適應性細分結果。a.、b.為需要細分之區域;c.、d.為細分兩次

的結果。

46
5.2 射線尋找點群
嚴格來說,適應性細分並不能完全解決 Fitting 結果不夠好的情

況,主要會造成 Fitting 結果不夠好的原因,是因為我們 Fitting 的方

式是採用尋找最近點,所以在物件資料凹殼的地方很容易發生找錯點

的情況,也就是說找到的點並不是最合適的點。所以我們又想了另一

個方式,來解決這個問題,也就是利用射線的方式去找到最合適的點。

如圖 5-5 所示,在初始網格兩端的頂點,所尋到的最近點在 Fitting

上沒什麼問題,不會造成 Fitting 出來的網格不符合原始物件資料的

情況發生,但在凹殼的地方,如初始網格中間點找尋最近點,可以明

白看到所找到的點並不是最合適的點,而是沿著法向量所找到的點才

是最合適的點。藍色點為原始物件資料,黑色點為網格上的頂點,淺

紫色線段為頂點與最近點的連線。

圖 5-5 最佳 Fitting 對應點群示意圖。

47
我們使用的方式,主要是先計算出頂點的法向量,然後再依著法

向量去找和這條法向量距離最短的點,當作我們的最近點,這個方式

找出來的點,才會接近會真實凹殼上凹處的點。如圖 5-5 所示,紫色

線段為網格,而紫色點為網格上的頂點,而法向量射線為灰色直線,

白點為物件資料點群,綠色線段為物件資料點到法向量的最短距離。

圖 5-7 為實際測試之結果。黃色及藍色圈圈為差異較大區域。

圖 5-6 射線找尋點群示意圖。

圖 5-7 射線找尋點群實際例子比較。左圖為最近點的方式;右圖為射

線找點的方式。

48
第六章 實體模型分割區塊
本章的內容是介紹如何將一個實體模型分割區塊,而這個實體模

型就是初始網格經由第四章的步驟所產生出來近似掃描資料的初始

網格。本章節在分割區塊這個部份,一共分為兩個部份,一部份是手

動去將初始網格分割區塊,另一部份則是根據立方塊的十二條邊界自

動去將初始網格分割區塊。以下就針對這兩個部份進行介紹:

6.1 初始網格自動分割區塊
首先,先介紹自動分割區塊的部份,我們是根據網格的特性進行

自動分割區塊的動作,因為Catmull-Clark方式所用的初始網格,位在

角落的頂點,本身鄰近的網格都一定是三個,並且在經過細分之後,

情況還是一樣,所以根據這個特性,我們可以容易的找出這八個頂

點,將初始網格分割成十二條邊界、六個面,如圖6-1,綠色的點為

角落頂點,紅色線段為邊界。

如此一來,在經由第四章的步驟後,獲得近似的初始網格實體模

型時,我們同樣可以採用這個方式自動地去找出十二條邊界分割出六

個面,如圖6-2。

49
a. b. c.

圖6-1 初始網格自動分割區塊邊界。a.、b.、c.分別為疏、中、密三種

Catmull-Clark用的初始網格所分割出來的邊界。

a. b.

c. d.

圖6-2 近似初始網格自動分割區塊邊界。a.、b.分別為娃娃頭及高爾

夫球頭初始網格所分割出來的邊界;c.、d.分別為a.、b.只秀邊界線的

結果。

50
6.2 初始網格手動分割區塊
其實,自動分割區塊只適用於 Catmull-Clark 方式所用的初始網

格,如果遇到 Loop 方式用的初始網格或是手動建立的初始網格,就

無法自動地將初始網格分割區塊,所以我們又開發了手動分割區塊的

方式,來解決這個問題,利用一開始就先將要分割區塊邊界線定義

好,在產生出來近似掃描資料的初始網格後,我們再根據開始的定義

好的邊界線進行分割區塊。如圖 6-3,綠色的點為邊界頂點,紅色線

段為邊界。

a. b.

圖 6-3 初始網格手動分割區塊邊界。a.、b.分別為 Loop 用的初始網格

所分割出來的邊界及手動建立的初始網格所分割出來的邊界。

所以在開始時,就先將初始網格以手動的方式定義要分割的邊

界,而在我們獲得近似的初始網格實體模型時,我們就可以快速將初

初網格實體模型分割出適當的區塊,以利後續的鋪曲面的步驟,如圖

6-4,就是一些實際的結果。

51
a. b.

c. d.

圖6-4 近似初始網格手動分割區塊邊界。a.、b.分別為鞋子楦頭及娃

娃頭初始網格所分割出來的邊界;c.、d.分別為a.、b.只秀邊界線的結

果。

52
第七章 初始網格鋪設 NURBS 曲面
延續第六章的結果,我們已經得到一個分割好區塊的初始網格實

體模型,而在本章節,我們的主要的目的就是這些將分割好的區塊鋪

上 NURBS 曲面,而我們採用的方式是利用區塊內所有網格上的點當

作 NURBS 曲面的控制點,以這種方式來將區塊鋪設成 NURBS 曲

面。所以在本章節中會介紹 NURBS 曲面、NURBS 曲面鋪法及存檔

成一個標準的格式 IGES 檔案。

7.1 NURBS曲面
對於NURBS曲面,在u方向是p次和在v方向是q次的方程式描述如

下:
m n

∑∑ N (u )N (v )wi, p j ,q ij Pij
S (u, v ) =
i =0 j =0
m n
(7-1)
∑∑ N (u )N (v )w
i =0 j =0
i, p j ,q ij

上式中,

{Pi , j } 為控制點(Control Points), {wi , j } 則為權重(Weights)。

{N i , p (u )} 和 {N j ,q (v )} 為定義於U和V下的B-Spline基底函數。

其中,

U = {0,...,0, u p +1 ,..., u r − p −1 ,1,...,1} ,頭尾各重複 p + 1 次

V = {0,...,0, v q +1 ,..., v s −q −1 ,1,...,1} ,頭尾各重複 q + 1 次

53
而 r = n + p +1和 s = m + q +1。

有理基函數(Rational Basis Function)為:


N i , p (u )N j ,q (v )wij
Ri , p ; j,q (u , v ) = m n
(7-2)
∑∑ N (u )N (v )w
k =0 l =0
k,p l ,q kl

則Eq.(7-1)可以改寫成:

S (u, v ) = ∑∑ Ri , p; j ,q (u, v )Pij (7-3)

7.2 初始網格鋪設NURBS曲面 (Catmull-Clark)


以 CC 用的初始網格來說,由於它的網格結構都是四方網格,所

以在分割好的區塊中,其網格上的頂點一定是呈現 N × M 的狀態排列

著, 而我們只需要將有規律的將網格上的頂點取出,就可以很容易

的鋪出我們所需要的 NURBS 曲面,如圖 7-1 為一個立方塊在分割區

塊上鋪設 NURBS 曲面的範例。

a. b. c.

圖7-1 立方塊初始網格區塊鋪設單一NURBS曲面。a.為區塊取出網格

上的點;b.為區塊鋪設曲面;c.為b.只秀曲面的結果。

54
如圖7-2為Catmull-Clark方式實際鋪NURBS曲面的例子,在逼近後的

初始網格實體模型鋪設出單一個NURBS曲面。

a. b. c.

d. e. f.

圖7-2 近似初始網格區塊鋪設單一NURBS曲面(Catmull-Clark方式)。

a.、d.分別為娃娃頭及高爾夫球頭區塊取出網格上的點;b.、e.為區塊

鋪設曲面;c.、f.分別為b.及e.只秀曲面的結果。

55
7.3 初始網格鋪設NURBS曲面 (Loop)
以 Loop 用的初始網格來說,本身就是三角網格,所以在網格構造上

有很大的變化性,所以說不同的網格構造就會有不同的網格排列,這

樣子會造成在取出區塊內網格上的頂點時,頂點並不是以 N × M 的狀

態排列著。由於我們初始網格的結構來說,如圖 7-3 (a)是細分前初始

網格結構,圖 7-3 (b)為細分後初始網格的結構,頂點依然是以 N × M 的

狀態排列著,所以目前沒有我們這方面的問題。

a. b.

圖 7-3 細分前後的初始網格結構。a.是細分前初始網格結構;b.為細

分後初始網格的結構。

如圖 7-4 為 Loop 方式實際鋪 NURBS 曲面的例子,在逼近後的初始

網格實體模型鋪設出單一個 NURBS 曲面。

56
a. b. c.

d. e. f.

圖7-4 近似初始網格區塊鋪設單一NURBS曲面(Loop方式)。a.、d.分

別為娃娃頭及高爾夫球頭區塊取出網格上的點;b.、e.為區塊鋪設曲

面;c.、f.分別為b.及e.只秀曲面的結果。

7.4 存出IGES檔案
在這個部份,主要是利用 OpenCasCADE 內的函式,將我們的鋪

設好的曲面以一種標準檔案格式輸出(IGES 5.3),而這個動作,其實

就是將我們這一整個流程的結果作個輸出。如此一來,就可以將我們

的曲面應用在各種 CAD 軟體中(如 Pro/E、Unigraphics、Rhino、

SolidWork),作設計、編修...等後續的動作,如圖 7-5。

57
a. b.

c. c.

圖7-5 曲面資料及輸出之IGES檔案。a.為我們的NURBS曲面;b.輸出

之IGES檔案(以CAD軟體讀入);c.、d.為b.分別作誤差分析及曲面編

修的結果。

58
第八章 實際範例簡介
在這一個章節中,我們將實際地把一筆掃描點資料重建成

Subdivision Surfaces 曲面模型,接著利用我們的手動或自動的區塊分

割將曲面模型分割成幾個主要的區塊,最後再將這些區塊一個一個鋪

上 NURBS 曲面。主要的建構流程還是依據第四章的建構流程。如此

一來,我們就可以從掃描點資料快速地建構出近似的 NURBS 曲面模

型,以下以建構鞋子楦頭和高爾夫球頭為例,示範如何利用本軟體建

構出近似掃描點資料 NURBS 曲面模型。

8.1 NURBS曲面模型範例-鞋子楦頭
(1) 讀入原始物件資料

讀入掃描點資料,作為原始物件資料。如圖8-1所示,鞋子楦頭-

點數為66898。

圖8-1 鞋子楦頭原始物件資料。

59
(2) 建立初始網格

讀入手動建立的初始網格,專門用於鞋子楦頭。如圖8-2所示,初

始網格–網格數88、點數為107。

圖8-2 手動建立之初始網格。左圖為表面型態;右圖為網格型態。

(3) 初始網格手動定義分割邊界

針對初始網格預先手動定義好分割的邊界,之後近似的

Subdivision Surface曲面模型就會依照先前定義好的邊界,將曲面模型

分割成幾個主要的區塊,以利後續的動作,如圖8-3,將L型初始網格

分割22個區塊,綠點為邊界頂點,紅色線段為分割邊界線。

60
圖8-3 手動定義之分割邊界。左圖為表面型態;右圖為網格型態。

(4) Subdivision Surface Fitting 過程

對初始網格進行逼近的過程及細分的過程,操作的流程是以逼近

到適當的形狀時,再進行細分,然後再次逼近到適當的形狀,再進行

細分,如此重覆下去,直到初始網格達到理想的外型。但需注意一點,

初始網格的點數最好控制在原始物件點數之下,否則會造成容易網格

自交的情況發生,如圖8-4所示。(因步驟太多,故省略部份過程)

a. b.

圖8-4 Subdivision Surface Fitting。a.為初始網格;b.為細分一次。

61
此外,當初始網格因過度逼近時,而產生些許的自交情況,此時

可以使用平滑化來消除自交的情況,如圖8-5,圖d為圖c平滑化後之

結果。

c. d.

e. f.

圖8-5 Subdivision Surface Fitting。c.、d.分別為b.作二次逼近及五次逼

近之結果;e.為d.平滑化後之結果;f.為e.作四次逼近之結果。

62
有時,在一些特徵的部份,初始網格會跑入掃描點資料內,而無

法良好的逼近,造成此區域的誤差較大,此時,可以使用膨脹的方式,

稍稍將初始網格放大,再去作逼近的動作,就可以稍微改善逼近的結

果,逼近出較好的特徵部份,如圖8-6,圖i為膨脹之後的結果。

g. h.

i. j.

圖8-6 Subdivision Surface Fitting。g.為f.細分後之結果;h.為g.作三次

逼近之結果;i.為某一次膨脹後之結果;f.為i.作七次逼近之結果。

63
(5) 實體模型分割區塊

利用先前的定義好的邊界線,將初始網格進行區塊分割,分割成

數個區塊,如圖8-7所示,左圖Subdivision Surface Fitting逼近後之近

近似的Subdivision Surface曲面模型,網格數為22528,點數22530。

圖8-7 實體模型分割區塊。左圖為Subdivision Surface Fitting最後之結

果;右圖為左圖分割區塊之結果。

(6) 實體模型鋪設NURBS曲面

針對分割好的區塊,將區塊內的網格上的頂點當成控制點,將分

割出來的每一個區塊都鋪設出NURBS曲面,如圖8-8所示。

64
圖8-8 實體模型鋪設NURBS曲面。左右兩圖為不同視角之結果。

(7) 輸出IGES檔案

將我們的NURBS曲面模型輸出標準檔案格式(IGES),利用其它

CAD軟體(Geomagic Studio 7.0)進行誤差分析的比對,如圖8-9、圖8-10

所示。

圖8-9 CAD軟體讀入IGES檔。左右兩圖為不同視角之結果。

65
圖8-10 NURBS曲面模型進行誤差分析。左圖為誤差分析數值;右圖

為誤差分析之結果。

66
8.2 NURBS曲面模型範例-高爾夫球頭
(1) 讀入原始物件資料

如圖8-11所示,高爾夫球頭-點數為183222。

圖8-11 高爾夫球頭原始物件資料。

(2) 建立初始網格

根據掃描點資料自動建立的初始網格。如圖8-12所示,初始網格–

網格數24、點數為12。

圖8-12 手動建立之初始網格。左圖為表面型態;右圖為網格型態。

67
(3) Subdivision Surface Fitting 過程

同先前之範例,對初始網格進行逼近的過程及細分的過程,去逼

近出Subdivision Surface實體模型,如圖8-13、圖8-14所示。(省略部份

過程)

a. b.

c. d.

圖8-13 Subdivision Surface Fitting。a.為初始網格;b.為逼近三次;c.

為b.作二次細分之結果;d.為某階段結果作二次細分之結果。

68
e. f.

g. h.

圖8-14 Subdivision Surface Fitting。e為d.作四次逼近之結果;f.為d.作

九次逼近之結果;g.為f.膨脹二次後之結果;h.為Subdivision Surface

Fitting最後之結果。

69
(4) 實體模型分割區塊

利用網格特性自動將初始網格進行區塊分割,分割成數個區塊,

如圖8-15所示,左圖Subdivision Surface Fitting逼近後之近近似的

Subdivision Surface曲面模型,網格數為22528,點數22530。

圖8-15 實體模型分割區塊。左圖為Subdivision Surface Fitting最後之

結果;右圖為左圖分割區塊之結果。

(5) 實體模型鋪設NURBS曲面

針對分割好的區塊,將區塊內的網格上的頂點當成控制點,將分

割出來的每一個區塊都鋪設出NURBS曲面,如圖8-16所示。

70
圖8-16 實體模型鋪設NURBS曲面。左右兩圖為不同視角之結果。

(6) 輸出IGES檔案

將我們的NURBS曲面模型輸出標準檔案格式(IGES),利用CAD

軟體(Geomagic Studio 7.0)進行誤差分析的比對,如圖8-17、圖8-18所

示。

圖8-17 CAD軟體讀入IGES檔。左右兩圖為不同視角之結果。

71
圖8-18 NURBS曲面模型進行誤差分析之結果。

72
8.3 NURBS曲面模型範例-耳朵
z 讀入原始物件資料 & 建立初始網格

耳朵掃描資料-點數為133250,根據掃描點資料自動建立的初始網

格,網格數48、點數為27。如圖8-19所示,。

圖8-19 掃描資料及其初始網格。左圖為牙齒掃描資料;右圖為自動

建立的初始網格(Loop)。

z 初始網格手動定義分割邊界

如圖8-20,預先將Loop用初始網格分割24個區塊,以利後續鋪面。

圖8-20 手動定義之分割邊界。左圖為表面型態;右圖為網格型態。

73
z Subdivision Surface Fitting過程 & 實體模型分割區塊

初始網格進行逼近的過程及細分的過程,如圖8-21所示。(省略部

份過程)

a. b.

c. d.

圖8-21 Subdivision Surface Fitting。a.為某逼近狀態後細分三次;b.為

a.逼近三次;c.為b.細分一次;d.為c.執行三次射線找點。

74
圖8-22 Subdivision Surface曲面模型逼近之最後結果及其區塊分割。

圖8-22 實體模型分割區塊。左圖為Subdivision Surface Fitting最後之

結果;右圖為左圖分割區塊之結果。

z 實體模型鋪設NURBS曲面 & 輸出IGES檔案

如圖8-23所示,為實體模型鋪設NURBS曲面,圖8-24為CAD軟體

讀入我們的IGES檔案之結果,圖8-25為所作出來誤差分析之結果。

圖8-23 實體模型鋪設NURBS曲面。左右兩圖為不同視角之結果。

75
圖8-24 CAD軟體讀入IGES檔。左右兩圖為不同視角之結果。

圖8-25 NURBS曲面模型進行誤差分析之結果。

76
8.4 NURBS曲面模型範例-牙齒
z 讀入原始物件資料 & 建立初始網格

牙齒掃描資料-點數為53834,根據掃描點資料自動建立的初始網

格,網格數24、點數為12。如圖8-26所示,。

圖8-26 掃描資料及其初始網格。左圖為牙齒掃描資料;右圖為自動

建立的初始網格。

z Subdivision Surface Fitting過程 & 實體模型分割區塊

初始網格進行逼近的過程及細分的過程,如圖8-27所示。(省略部

份過程)

圖8-27 Subdivision Surface Fitting。a.為逼近狀態;b.為細分狀態。

77
圖8-28 為Subdivision Surface曲面模型逼近後之結果及其區塊分割。

圖8-28 實體模型分割區塊。左圖為Subdivision Surface Fitting最後之

結果;右圖為左圖分割區塊之結果。

z 實體模型鋪設NURBS曲面 & 輸出IGES檔案

如圖8-29所示,為實體模型鋪設NURBS曲面,圖8-30為CAD軟體

讀入我們的IGES檔案之結果,圖8-31為作完誤差分析之結果。

圖8-29 實體模型鋪設NURBS曲面。左右兩圖為不同視角之結果。

78
圖8-30 CAD軟體讀入IGES檔。左右兩圖為不同視角之結果。

圖8-31 NURBS曲面模型進行誤差分析之結果。

79
第九章 結論與未來方向
本研究的主要目的在於如何提供一個快速的流程。讓傳統繁雜的

建構步驟簡化。例如,掃描點資料重建三角網格,以及三角網格重建

NURBS 曲面。如此一來,可以加速模型的建構流程,縮短模型開發

的工時,以大幅提升工業界的競爭力。另一方面,在一個這樣制式化

的流程下,也可以讓產品的品質變得更有保障。

9.1 結論
總而言之,依目前的結果而言,經由我們的軟體,我們可以快速

地從掃描點資料,建構成一筆 Subdivision Surfaces 實體模型,再將這

個初始網格實體模型,透過手動或自動的分割區塊之後,把每一個分

割出來的區塊的鋪設成 NURBS 曲面。

本研究主要的貢獻在於提供一個完整而快速的流程,快速地從掃

描點資料到 NURBS 曲面。一般的論文大多屬於我們的流程前半段,

即掃描點資料重建 Subdivision Surfaces 或三角網格重建 Subdivision

Surfaces,而和我們一樣有完整流程的論文,使用的方式卻又比我們

的方式複雜許多。另外本研究也提出加入射線找點及適應性細分的方

式,來提升 Subdivision Surfaces 實體模型的精度,也是本研究的貢獻

之一,由於射線找點的方式已經大大地提升在凹殼部份的精度了,再

80
加上判斷法則的關係,所以會造成適應性細分的區域明顯縮小很多,

功用也就不是那麼大了,再加上適應性細分之後,網格上頂點就不會

呈現 N × M 的排列,所以在鋪 NURBS 曲面,這部份難度就增加許多,

所以本研究尚未針對這部份去鋪設 NURBS 曲面了,但這個概念如果

加以改良的話,勢必還是會對精度有很大的提升,而課題值得我們去

深入研究。

另外,我們也使用 Loop 的細分方式,去重建出 Subdivision

Surfaces 實體模型,並加上區塊分割,進而鋪設出 NURBS 曲面,有

別於其它的研究,在於我們有使用 Catmull-Clark 的細分方式去重建

出 Subdivision Surfaces 實體模型,其四方網格的構造,有助於手動的

區塊分割,此外目前我們建構出來 NURBS 曲面控制點都是 N × M 的

排列,所以 NURBS 曲面都為 based 曲面,對於後續的設計、編修也

是有大幫助。

以高爾夫球頭為例,本流程可以快速建出 NURBS 曲面,但本流

程尚不實用,區塊的分割和工業界的要求,尚有一段落差,假設能在

逆向軟體基礎上作區塊的分割,或是提供更好的初始網格的產生方

式,對於將本流程實際應用於工程上將不是問題。

81
9.2 未來展望
以現有的結果來說,在曲面連續性及精度是本研究比較大的問題

所在,而許多的研究都指出,一個良好的初始網格可以產生品質好的

Subdivision Surfaces 實體模型,而一個品質好的 Subdivision Surfaces

實體模型,在曲面連續性及精度必然會有大大的提升,所以在未來,

不管是手動還是自動,如何去產生一個良好的初始網格或是以其他的

更好的方式去提升 Subdivision Surfaces 實體模型的精度,都是一個很

好的研究課題。

另外一個問題就是區塊分割的問題,目前尚無任何理論的支持,

完全是以簡單、直覺化的方式,例如,立方塊的十二個邊為分割邊界

或以手動定義邊界的方式,去分割出這些區塊。也由於分割的方式並

不是絕對的,所以何謂良好的區塊,其實是很難去判定的,不過可以

確定的是,要分割出良好的區塊是需要加入一些人的經驗或是一些特

殊方式。在未來,我們更可以結合 segmentation 的方式,根據實體模

型特徵找出一些適合的邊界線,並且搭配工業界的知識導入,相信可

以分割出更符合工業界需求的區塊,進而產生出更好的 NURBS 曲面

模型。依客戶需求,將客戶所擁有的知識導入到軟體裡面,而使得軟

體可以更快速、更有效的達到工業界的需求及品質,這種針對產品特

性來開發客製化的軟體,也將會成為未來軟體開發的趨勢。

82
參考文獻

[1] Kobbelt, L., Vorsatz, J., Labsik, U., and Seidel, H., “A shrink
wrapping approach to remeshing polygonal surfaces”, Computer
Graphics Forum (Proc. EUROGRAPHICS '99), pp. 119-130, 1999

[2] Ma, W., Ma, X., Tso, S., and Pan, Z., “Subdivision surface fitting from
a dense triangle mesh”, Geometric Modeling and Processing (Proc.
IEEE), pp. 94-103, 2002

[3] Lee, A., Moreton, H., and Hoppe, H., “Displaced subdivision
surfaces”, Computer Graphics (Proc. SIGGRAPH '00), pp. 85-94,
2000

[4] Razdan, A., Mongkolnam, P., and Farin, G., “Reverse engineering
using a subdivision surface scheme”, Eighth Edition of 3D
MODELLING Symposium, 23-24, 2003

[5] Takeuchi, S., Suzuki, H., Kimura, F., Kanai, T., and Shimada, K.,
“Subdivision surface fitting using QEM-based mesh simplification
and reconstruction of approximated B-spline surfaces”, Pacific
Graphics, pp. 202-212, 2000

[6] Krishnamurthy, V., and Levoy, M., “Fitting smooth surfaces to dense
polygon meshes”, Computer Graphics (Proc. SIGGRAPH '96),
pp. 313-324, 1996

[7] Jeong, W., Kähler, K., Haber, J., and Seidel, H., “Automatic
generation of subdivision surface head models from point cloud data”,
Graphics Interface, 27-29, pp. 181-188, 2002

[8] Jeong, W., and Kim, C., “Direct reconstruction of a displaced


subdivision surface from unorganized points”, Graphics
Models, 64 (2), pp. 78-93, 2002

83
[9] Cheng, D., Wang, W., Qin, H., Wong, K., Yang, H., and Liu,Y.,
“Fitting subdivision surfaces to unorganized point data using SDM”,
Pacific Computer Graphics and Applications (Proc. PG
‘04), pp. 16-24, 2004

[10] Suzuki, H., Takeuchi, S., and Kanai, T., “Subdivision surface fitting
to a range of points”, Pacific Graphics, pp. 158-167, 1999

[11] Marinov, M., and Kobbelt, L., “Optimization methods for scattered
data approximation with subdivision surfaces”, Graphical Models,
67 (5), pp. 452-473, 2005

[12] Hoppe, H., Derose, T., Duchamp, T., Halstead, M., Jin, H.,
McDonald, J., Schweitzer, J., and Stuetzle, W., “Piecewise smooth
surface reconstruction”, Computer Graphics (Proc. SIGGRAPH
'94), pp. 295-302, 1994

[13] Ma,W., and Zhao, N., “Catmull-Clark surface fitting for reverse
engineering applications”, Geometric Modeling and Processing (Proc.
IEEE), pp.274-284, 2000

[14] Hoppe, H., DeRose, T., Duchamp, T., McDonald, J., and Stuetzle, W.,
“Surface reconstruction from unorganized points”, Computer
Graphics (Proc. SIGGRAPH '92), pp. 71-78, 1992

[15] Eck, M., and Hoppe, H., “Automatic reconstruction of B-spline


surfaces of arbitrary topological type”, Computer Graphics (Proc.
SIGGRAPH '96), Vol.30, pp.325-334, 1996

[16] Amresh, A., Farin, G., and Razdan, A., “Adaptive subdivision
schemes for triangular meshes”, in “Hierarchical and Geometric
Methods in Scientific Visualization”, edited by Farin, G., Hagen, H.,
Hamann, B., Springer-Verlag., 2002.

[17] Zorin, D., Schröder, P., Sweldens, W., Derose, T., Kobbelt, L.,
and Levin, A., “Subdivision for modeling and animation”,
SIGGRAPH ’99 Course Notes, 1999

84
[18] Zorin, D., Schröder, P., Sweldens, W., Derose, T., Kobbelt, L.,
and Levin, A., “Subdivision for modeling and animation”,
SIGGRAPH ’00 Course Notes, 2000

[19] http://graphics.idav.ucdavis.edu/education/CAGDNotes/

[20] http://kucg.korea.ac.kr/research/research_group1/

[21] http://mrl.nyu.edu/~dzorin/sig99/zorin2/

85

You might also like