Delaunay三角剖分演算法

2021-06-29 05:23:09 字數 3373 閱讀 2132

點集的三角剖分(triangulation),對數值分析(比如有限元分析)以及圖形學來說,都是極為重要的一項預處理技術。尤其是delaunay三角剖分,由於其獨特性,關於點集的很多種幾何圖都和delaunay三角剖分相關,如voronoi圖,emst樹,gabriel圖等。delaunay三角剖分有最大化最小角,「最接近於規則化的「的三角網和唯一性(任意四點不能共圓)兩個特點。

中文名delaunay三角剖分演算法

外文名delaunay triangulation algorithm

定    義

數學公式

解    析

對三角型的剖析

1定義

2準則特性

3計算方法

【定義】三角剖分

[1]:假設v是二維實數域上的有限點集,邊e是由點集中的點作為端點構成的封閉線段, e為e的集合。那麼該點集v的乙個三角剖分t=(v,e)是乙個平面圖g,該平面圖滿足條件:

1.除了

端點,平面圖中的邊不包含點集中的任何點。

2.沒有相交邊。

3.平面圖中所有的面都是三角面,且所有三角面的合集是散點集v的

凸包。在實際中運用的最多的三角剖分是delaunay三角剖分,它是一種特殊的

三角剖分。先從delaunay邊說起:

【定義】delaunay邊:假設e中的一條邊e(兩個端點為a,b),e

若滿足下列條件,則稱之為delaunay邊:存在乙個圓經過a,b兩點,圓內(注意是圓內,圓上最多三點共圓)不含點集v中任何其他的點,這一特性又稱空圓特性。

【定義】delaunay三角剖分:如果點集v的乙個三角剖分t只包含delaunay邊,那麼該三角剖分稱為delaunay三角剖分。

優化處理:

理論上為了構造delaunay

三角網[2],lawson提出的區域性優化過程lop(local optimization procedure),一般三角網經過lop處理,即可確保成為delaunay三角網,其基本做法如下所示:

1.將兩個具有共同邊的三角形合成乙個多邊形。

2.以最大空圓準則作檢查,看其第四個頂點是否在三角形的

外接圓之內。

3.如果在,修正對角線即將對角線對調,即完成區域性優化過程的處理。

lop處理過程如下圖所示:

delaunay剖分的演算法

delaunay剖分是一種三角剖分的標準,實現它有多種演算法。

準則:

要滿足delaunay三角剖分的定義,必須符合兩個重要的準則:

1、空圓特性:delaunay

三角網是唯一的(任意四點不能共圓),在delaunay三角形網中任一三角形的外接圓範圍內不會有其它點存在。如下圖所示:

2、最大化最小角特性:在

散點集可能形成的三角剖分中,delaunay三角剖分所形成的三角形的最小角最大。從這個意義上講,delaunay

三角網是「最接近於規則化的「的三角網。具體的說是指在兩個相鄰的三角形構成

凸四邊形的對角線,在

相互交換後,六個內角的最小角不再增大。如下圖所示:

特性:

以下是delaunay剖分所具備的優異特性:

1.最接近:以最近的三點形成三角形,且各

線段(三角形的邊)皆不相交。

2.唯一性:不論從區域何處開始構建,最終都將得到一致的結果。

3.最優性:任意兩個相鄰三角形形成的

凸四邊形的對角線如果可以互換的話,那麼兩個三角形六個內角中最小的角度不會變大。

4.最規則:如果將

三角網中的每個三角形的最小角進行公升序排列,則delaunay三角網的排列得到的數值最大。

5.區域性:新增、刪除、移動某乙個頂點時只會影響臨近的三角形。

6.具有

凸多邊形的外殼:

三角網最外層的邊界形成乙個凸多邊形的外殼。

a)lawson演算法

逐點插入的lawson演算法

[3]是lawson在2023年提出的,該演算法思路簡單,易於程式設計實現。基本原理為:首先建立乙個大的三角形或多邊形,把所有資料點包圍起來,向其中插入一點,該點與包含它的三角形三個頂點相連,形成三個新的三角形,然後逐個對它們進行空外接圓檢測,同時用lawson設計的區域性優化過程lop進行優化,即通過交換對角線的方法來保證所形成的

三角網為delaunay三角網。

上述基於

散點的構網演算法理論嚴密、唯一性好,網格滿足空圓特性,較為理想。由其逐點插入的構網過程可知,遇到非delaunay邊時,通過刪除調整,可以構造形成新的delaunay邊。在完成構網後,增加新點時,無需對所有的點進行重新構網,只需對新點的影響三角形範圍進行區域性聯網,且區域性聯網的方法簡單易行。同樣,點的刪除、移動也可快速動態地進行。但在實際應用當中,這種構網演算法當點集較大時構網速度也較慢,如果點集範圍是非凸區域或者存在內環,則會產生非法三角形。

如左圖所示:當離散點集構成圓環時,lawson演算法產生的非法三角形

離散點集合

正確的三角剖分

lawson演算法產生的三角剖分

b)bowyer-watson演算法(推薦)

watson演算法的基本步驟是:

1、構造乙個超級三角形,包含所有散點,放入三角形鍊錶。

2、將點集中的散點依次插入,在三角形鍊錶中找出外接圓包含插入點的三角形(稱為該點的影響三角形),刪除影響三角形的公共邊,將插入點同影響三角形的全部頂點連線起來,完成乙個點在delaunay三角形鍊錶中的插入。

3、根據優化準則對區域性新形成的三角形優化。將形成的三角形放入delaunay三角形鍊錶。

4、迴圈執行上述第2步,直到所有散點插入完畢。

這一演算法的關鍵的第2步圖示如下:

Delaunay三角剖分演算法

1.三角剖分與delaunay剖分的定義 如何把乙個散點集合剖分成不均勻的三角形網格,這就是散點集的三角剖分問題,散點集的三角剖分,對數值分析以及圖形學來說,都是極為重要的一項預處理技術。該問題圖示如下 1.1.三角剖分定義 定義 三角剖分 假設v是二維實數域上的有限點集,邊e是由點集中的點作為端點...

Delaunay三角剖分演算法簡述

delaunay 三角剖分具有下列性質 1 delaunay 三角剖分所形成的三角形中,最小的內角是所有三角剖分中最大的。故 delaunay 三角剖分所形成的三角形最接近於等邊三角形,在很多應用中具有最優的性質。此性質等價於 delaunay 三角剖分所形成的三角形的外接圓內不包含其他點。2 如果...

Delaunay(德勞內)三角剖分演算法

在數學和計算幾何領域,平面上的點集p的德勞內三角化是一種三角剖分dt p 使得在p中沒有點嚴格處於 dt p 中任意乙個三角形外接圓的內部。delaunay 三角化最大化了此三角剖分中三角形的最小角,換句話,此演算法盡量避免出現 極瘦 的三角形。此演算法命名 於鮑里斯 德勞內,以紀念他自1934年在...