• 沒有找到結果。

Voronoi Diagram 空間切割法

三、 研究理論與方法

3.1 Voronoi Diagram 空間切割法

空間切割在數值模擬問題中,為必要的一個步驟,不同數值方 法則有不同之切割方法,以最常見的有限差分法(FDM)為例,其必須 侷限於矩形網格,因此對於不規則形狀之掌握較差。本研究在此採用 Voronoi Diagram 作為切割演算法。

3.1.1 徐昇氏網格(Voronoi Diagram)簡介

Voronoi Diagram 是透過散佈於平面上一群平面點位資料(sites or points)為基礎所切割出來的圖形,其圖形如圖 3.1.1-1 所示。Voronoi Diagram 具備下列特性:

1. 各點(sites or points)所必對應一個控制區塊(cell),區塊內之任何一 點與該節點之距離,必定小於此點與其他節點之距離。

2. 控制區塊形狀必為凸包(convex hulls)。

3. 兩節點之連線必定正交於其控制區塊(cells)之邊,此邊稱為控制區 塊邊(edge)

4. 控制區塊邊(edge)之交接點稱為角點(vertex),令任意角點為圓心,

必可找到一圓通過相鄰之節點(如圖 3.1.1-1 所示),該圓稱為空圓 (empty circle)。

5. 將任意空圓上之所有節點連線,可以繪製成三角形,其稱為 Delaunay Triangles,其與 Voronoi diagram 為對偶圖形。圖 3.1.1-1

上,節點 0、1 與 4 之連線所形成之三角形即為 Delaunay Triangles。

圖 3.1.1-1 Voronoi Diagram 與其相關圖形

數學定義:若給定一組點位資料(N ={N1,N2,N3LLNn}),其中 為第 m 個節點,n 為空間中節點數量,其數值應為

Nm

≤ n

2 。其控制

區塊(Voronoi Diagram)可定義如下:

( )

N

{

D D N D N for j i

}

V i = : − i ≤ − j ∀ ≠ ... (3.1.1-1)

公式描述了 Voronoi Diagram 最重要的特性,就是控制區塊內的 任何點必定與其對應之節點距離最近。代表該節點在空間上,比任何 其他節點更能代表該區塊。因此在水利或氣象領域中,Voronoi Diagram 被應用於將點位形式之雨量資料推估集水區內之總降雨量。

在數值運算上,由於兩節點連線必正交於其控制區塊邊,因此對於穿 越格網邊界之流量估算上,無須進行角度轉換之向量計算。

Voronoi Diagram 發展至今已有相當多的演算法計算,如 half plane intersection、Divine-and-Conquer、Fortune’s Algorithm 等等,其 中 Steve Fortune 於 1986 年發表的掃線演算法,由於在最差的狀況下 也有 的計算複雜度,為建構 Voronoi Diagram 最有效率的演 算法之一。

) log (n n O

3.1.2 CGAL 函式庫簡介

CGAL 全名為 Computational Geometry Algorithm Library,是計 算空間幾何上極具可信度的函式庫,其中包含了許多圖形的資料結 構、建構圖形的演算法、格網產生與處理與圖形分析等功能。為 Geometry Factory 所開發的開放原始碼專案,其目的為 C++環境,提 供有效率並且可信賴的空間計算演算法。目前已經被廣泛應用於電腦 繪圖、科學視算、設計模擬、格網生成、數值方法與微生物模擬等各 項領域上。

然而 CGAL 函式庫提供之 Voronoi Diagram 相關功能,僅針對無 限空間之 Voronoi Diagram 空間切割,亦即外圍節點之控制區塊 (Voronoi Cells)並不為封閉空間。然而本研究是應用於數值模擬上,

網格必須是有限個封閉空間,因此不完全符合需求。

因此本研究是以 CGAL 函式庫作為基礎函式庫,透過物件封裝 技巧,進一步開發適合本研究之封閉空間 Voronoi Diagram,使外圍 之控制區塊與模擬邊界進行切割計算,重新輸出適合本研究數值模擬 之空間切割結果。

3.1.3 封閉空間之 Voronoi Diagram 函式庫開發

由於 CGAL 之基本功能僅提供非封閉空間之切割,對於外圍控 制區塊需要另行處理,因此本研究透過物件封裝技巧,將其提供之非 封閉空間之切割結果,並與模擬區塊邊界框比較套疊,重新製作為封 閉空間之切割結果。

圖 3.1.3-1 不同邊界框形成之 Voronoi Diagram

圖 3.1.3-1 為相同之點位資料,套疊不同之模擬區塊邊界框,會 套疊出不同之控制區塊形狀。例如邊界 1 與邊界 3 對控制區塊 1 而 言,便會形成不同之形狀,對於邊界 3 而言,必須刪除凸出邊界的部 分;對於邊界 1 而言,則由於控制區塊本身即為封閉區塊,所以無須 另行處理。另外,不同邊界對於非封閉型之控制區塊而言,則需以邊 界本身與非封閉型之控制區塊,以聯集方式形成封閉之控制區塊。本 研究之處理邏輯如下所示:

1. 非封閉形式之控制區塊:如圖 3.1.3-1 之控制區塊 0、2、3、4、5、

6。此類狀況則以邊界框與該控制區塊做聯集判斷,可形成一個封 所建立。根據 3.1 節所建立的控制區塊(Voronoi cells)可以視為一個有 限體積的控制體積,因此基於 Voronoi cell 所建立的水的質量守恆方

darcy ij f

相關文件