1、首先了解一下什麼是delaunay三角網
delaunay三角剖分是前蘇聯數學家 delaunay在 2023年提出的:對於任意給定的平面點集 ,只存在著唯一的一種三角剖分方法 ,滿足所謂的「 最大 — 最小角 」 優化準則 ,即所有最小內角之和最大 ,這就是 delaunay三角剖分。這種剖分方法遵循「 最小角最大 」 和「 空外接圓 」 準則
「 最小角最大 」 準則是在不出現奇異性的情況下,delaunay三角剖分最小角之和均大於任何非 delaunay剖分所形成三角形最小角之和 ,三角形的最小內角之和最大 ,從而使得劃分的三角形不會出現某個內角過小的情況 ,比較有利於有限元的後續計算。
「 空外接圓 」 準則是 delaunay三角剖分中任意三角形的外接圓內不包括其他結點。因此 ,在各種二維三角剖分中 ,只有 delaunay三角剖分才同時滿足全域性和區域性最優。
2、delaunay區域增長演算法
選擇第乙個頂點,第乙個頂點作為p1;
選擇第二個頂點,距離p1最近的頂點,記為p2;
選擇第三個頂點,和p1 p2構成的三角形的外接圓沒有其他頂點,並且該三角形中點p3所在的三角形內角最大
生成三個邊,加入邊表;
生成第乙個三角形,組建三角形表;
從邊表頭選擇乙個邊,標誌位為假(表示目前僅僅存在於乙個三角形中);
從點鍊錶中搜尋乙個符合下述條件的點:
在邊所在三角形中第三個點的對側;
該點和該邊構成的三角形的外接圓中沒有其他點;
滿足上述條件的點在新三角形中的內角最大的點作為p3;
如果邊表中沒有新生的邊,將其加入邊表尾,並設定標誌位維false;如果已經存在,則設定其標誌位為true;
將生成的三角形加入三角形表;
將從邊表頭選擇的那條邊標誌位設為true;
轉至該過程的第一步,直至所有的邊的標誌位均為true;
注:如果需要進行限制三角剖分,則可利用重心法取出不要的三角形,必要時,可對邊界進行限制,不讓生成的邊與邊界相交
2、delaunay三角化的實現演算法
一般都會用到的區域性最優化(lop)處理:
將兩個具有公共邊的三角形合併成乙個凸多邊形
以最大空外接圓為準則,觀察第四個頂點是否在三角形的外接圓之內
如果在,修正對角線,對調對角線,優化結束
delaunay三角形只是一種三角化的標準,實現方法有多種:,這裡筆者只介紹兩種逐點插入的兩種實現演算法
酉三角化和實正交三角化
介紹乙個非常有用的定理 任何復方陣 a 與以 a 的特徵值作為對角元素的乙個三角矩陣酉相似,以及總可以通過實正交相似將矩陣化為乙個實的擬三角型並作了相應的推廣.證明 設 u 1 x quad u 2 quad cdots quad u n 是任意乙個第一列為 x 的酉矩陣,比方說利用 qr 分解 中...
Delaunay三角剖分演算法
點集的三角剖分 triangulation 對數值分析 比如有限元分析 以及圖形學來說,都是極為重要的一項預處理技術。尤其是delaunay三角剖分,由於其獨特性,關於點集的很多種幾何圖都和delaunay三角剖分相關,如voronoi圖,emst樹,gabriel圖等。delaunay三角剖分有最...
Delaunay三角剖分演算法
1.三角剖分與delaunay剖分的定義 如何把乙個散點集合剖分成不均勻的三角形網格,這就是散點集的三角剖分問題,散點集的三角剖分,對數值分析以及圖形學來說,都是極為重要的一項預處理技術。該問題圖示如下 1.1.三角剖分定義 定義 三角剖分 假設v是二維實數域上的有限點集,邊e是由點集中的點作為端點...