在土木工程裡,會用到的網格生成,無論是建築、橋樑或其他結構,說起來就是由樑柱版牆組成。樑柱用樑元素,線要切成幾等份,要考慮到計算精度,來決定要把一條線變成幾段。除基礎底版較厚用版元素,版牆都是採用殼元素,也就是把平面或曲面切成一堆小三角形。要將平面切成一堆三角形,常見方法有Delaunay Criteria或Advancing Front Method。我比較清楚Delaunay Criteria,而Delaunay Criteria算是比較容易實作,也就是標準的2D Mesh。事實上,土木工程有曲面結構,都是屬於混凝土結構的範疇。要將曲面切成一堆三角形,最簡單的方法就是將幾何邊界投影到平面,然後以2D Mesh在平面上做網格生成,再以原曲面定義的幾何形狀方程式,去計算出每一個點座標(X, Y)對應的Z座標。所謂的幾何邊界投影到平面,就是把原本的曲面幾何形狀的每一個點座標,忽略掉Z座標僅取其點座標的(X, Y),然後當做是在平面上做2D Mesh。在網格生成領域內,有一個子領域叫做Surface Mesh,有不同於幾何邊界投影的方法,而是採用很多網格生成技術來產生網格。為什麼?
Surface Mesh可以產生任意曲面的網格,而土木上會用到的曲面網格生成,是專門就混凝土結構的曲面幾何問題。混凝土結構的曲面幾何,必然有比較多的幾何連續性限制,不一定要使用Surface Mesh的技術,而是在幾何連續性限制的條件下,以幾何邊界投影方法在曲面上產生網格。簡單的說,土木工程需要懂的網格生成技術,就是①2D Mesh和②曲面方程式求平面座標對應的Z座標。若網格做的不漂亮,就要做Refinement,可以用Smoothing的技術,就是挑一個來用,然後試著改好一點。我的碩士論文在做插點,就是仍使用Delaunay Criteria,而不是使用Smoothing的技術,因為我以插點學習問題的癥結點。插點就是所謂的灑點方法,和Smoothing有一點關係,但不是Smoothing的基本觀念。因而,做Refinement可以直接跳去Smoothing,但做過Mesh的人幾乎都有做過插點。Boris Delaunay(Wikipedia)是一個數學家,在1934年發現了3點定圓的唯一性,也就是所謂的Delaunay Criteria,並和Voronoi Diagram有幾何互換性。怎麼做Delaunay Criteria呢?
幾何邊界當成一堆點,以迴圈的方式讓所有的點,不斷地以Delaunay Criteria計算。找3個點定一個圓,而圓內沒有其他點,這3個點就是一個三角形;找3個點定一個圓,而圓內有其他點,這3個點就不是一個三角形;找3個點定一個圓,而圓內沒有其他點,但是圓上有其他點,你要決定圓上的點算誰的。在Delaunay Criteria跑完幾何邊界後,就會變成一堆都是唯一的三角形了。但是,Delaunay Criteria有個問題,就是跑出來的一堆三角形,畫出來一定是一個凸殼(Convex Hull),就是一個凸的多邊形。然而,原來的幾何邊界不一定是凸殼,所以要用一條射線在三角形內往外射出,然後算有幾條線有交叉到,就是在算幾何的intersection,也就是幾何計算的代公式問題。射線就是用一個方程式,去描述這個有方向的線,算是沒什麼難度的問題。在確認射線有幾次intersection後,就會知道某三角形在幾何邊界裡面或外面,不是在幾何邊界裡面的三角形都要刪掉。經刪除留下來的三角形,要檢查三個角的角度了。所謂的不好的角度,就是小於30度和大於120度,這兩個數字可以算一下。
也就是三角形內角和是180度,要是知道一個角要是30度以下,就會自動對應到大於120度,所以這兩個角度不需要死背。在有限元素法裡,有一個叫Jacobian Matrix(Wikipedia)的角度轉換矩陣,會使用到sin和cos的角度計算,也就是有限元素分析精度的關鍵點。在這種偏小或偏大的角度下,會對於結構分析的精度影響偏大,所以才會以這兩個角度當標準。雖然,此一解釋算是Common Sense,搞數學式是很有學問,就是sin和cos的轉換矩陣,不過我還是提出來讓有興趣的人知道。於是,要開始把新的點給個座標,一個一個插進不好的三角形裡,就是所謂的插點或灑點方法了。若是要插點的話,要怎麼插點呢?首先,要先找出和插進去的點有關的三角形,就是這些三角形都不算了,必須都要重來變成受這個點影響,以Delaunay Criteria重新產生的新三角形。然而,在插點的過程就會訂一個檢查角度,一般都是找最小角度來檢查,也就是我剛剛提到的30度。但是,有些地方就是角度比30度小,這種有問題的角度就叫做Small Angle,必須要刻意的忽略掉這些Small Angle。
我認為,插點就是在Effective Region內,找一個幾何上最好的點插進去,其實就是Smoothing的一個類似概念。我打算做Smoothing時,那時約在2004年2月底,我的指導教授(陳俊杉教授)要我開始寫了。我當時的英文寫的沒那麼快,不像現在天天可以寫長篇大論的英文,所以寫的算是很吃力。我寫了快2個月時,又改起了插點方法,後來想說提點3D Mesh的Sliver問題好了。不過,我的指導教授似乎覺得,我要是提了3D Mesh的話,會讓人感到有種沒做完的感覺。因此,我的指導教授當時似乎不是很認同,搞到後來我打算把這個部份做個收尾,又繼續地搞起我的插點方法了。Smoothing不是在插點,而我的觀念是把Smoothing拿來插點,但我實際上並沒有這樣嘗試過。嚴格來說,Smoothing已經相當成熟,雖然可以直接使用來改善Quality,但是插點的優勢就是三角形數量很少,符合有限元素分析的網格生成原則,也就是幾何變化多就三角形稠密,而幾何變化少就三角形稀疏的特性。我不是要直接做Smoothing,而是拿Smoothing的技巧來插點。
我提了一個插點方法,還有一個叫Effective Region的概念,以上就是我的碩士論文範圍。本篇全部的說明內容,就是我十年前的碩士學位答辯。或許,在三小時的答辯過程有不少廢話,但是都有確實的講到重點。我的碩士論文,可以投稿1篇國際期刊論文,但是我打算以學位論文的模式被引用。我的碩士論文指導教授,讓我修正了我原來的研究方法,並且提高了我的學術研究層次,採取攻讀博士學位模式做學術研究,算是對於我有重要影響的人物。
2004/07/14
(18:00-21:00)
Reference
Surface Mesh可以產生任意曲面的網格,而土木上會用到的曲面網格生成,是專門就混凝土結構的曲面幾何問題。混凝土結構的曲面幾何,必然有比較多的幾何連續性限制,不一定要使用Surface Mesh的技術,而是在幾何連續性限制的條件下,以幾何邊界投影方法在曲面上產生網格。簡單的說,土木工程需要懂的網格生成技術,就是①2D Mesh和②曲面方程式求平面座標對應的Z座標。若網格做的不漂亮,就要做Refinement,可以用Smoothing的技術,就是挑一個來用,然後試著改好一點。我的碩士論文在做插點,就是仍使用Delaunay Criteria,而不是使用Smoothing的技術,因為我以插點學習問題的癥結點。插點就是所謂的灑點方法,和Smoothing有一點關係,但不是Smoothing的基本觀念。因而,做Refinement可以直接跳去Smoothing,但做過Mesh的人幾乎都有做過插點。Boris Delaunay(Wikipedia)是一個數學家,在1934年發現了3點定圓的唯一性,也就是所謂的Delaunay Criteria,並和Voronoi Diagram有幾何互換性。怎麼做Delaunay Criteria呢?
幾何邊界當成一堆點,以迴圈的方式讓所有的點,不斷地以Delaunay Criteria計算。找3個點定一個圓,而圓內沒有其他點,這3個點就是一個三角形;找3個點定一個圓,而圓內有其他點,這3個點就不是一個三角形;找3個點定一個圓,而圓內沒有其他點,但是圓上有其他點,你要決定圓上的點算誰的。在Delaunay Criteria跑完幾何邊界後,就會變成一堆都是唯一的三角形了。但是,Delaunay Criteria有個問題,就是跑出來的一堆三角形,畫出來一定是一個凸殼(Convex Hull),就是一個凸的多邊形。然而,原來的幾何邊界不一定是凸殼,所以要用一條射線在三角形內往外射出,然後算有幾條線有交叉到,就是在算幾何的intersection,也就是幾何計算的代公式問題。射線就是用一個方程式,去描述這個有方向的線,算是沒什麼難度的問題。在確認射線有幾次intersection後,就會知道某三角形在幾何邊界裡面或外面,不是在幾何邊界裡面的三角形都要刪掉。經刪除留下來的三角形,要檢查三個角的角度了。所謂的不好的角度,就是小於30度和大於120度,這兩個數字可以算一下。
也就是三角形內角和是180度,要是知道一個角要是30度以下,就會自動對應到大於120度,所以這兩個角度不需要死背。在有限元素法裡,有一個叫Jacobian Matrix(Wikipedia)的角度轉換矩陣,會使用到sin和cos的角度計算,也就是有限元素分析精度的關鍵點。在這種偏小或偏大的角度下,會對於結構分析的精度影響偏大,所以才會以這兩個角度當標準。雖然,此一解釋算是Common Sense,搞數學式是很有學問,就是sin和cos的轉換矩陣,不過我還是提出來讓有興趣的人知道。於是,要開始把新的點給個座標,一個一個插進不好的三角形裡,就是所謂的插點或灑點方法了。若是要插點的話,要怎麼插點呢?首先,要先找出和插進去的點有關的三角形,就是這些三角形都不算了,必須都要重來變成受這個點影響,以Delaunay Criteria重新產生的新三角形。然而,在插點的過程就會訂一個檢查角度,一般都是找最小角度來檢查,也就是我剛剛提到的30度。但是,有些地方就是角度比30度小,這種有問題的角度就叫做Small Angle,必須要刻意的忽略掉這些Small Angle。
我認為,插點就是在Effective Region內,找一個幾何上最好的點插進去,其實就是Smoothing的一個類似概念。我打算做Smoothing時,那時約在2004年2月底,我的指導教授(陳俊杉教授)要我開始寫了。我當時的英文寫的沒那麼快,不像現在天天可以寫長篇大論的英文,所以寫的算是很吃力。我寫了快2個月時,又改起了插點方法,後來想說提點3D Mesh的Sliver問題好了。不過,我的指導教授似乎覺得,我要是提了3D Mesh的話,會讓人感到有種沒做完的感覺。因此,我的指導教授當時似乎不是很認同,搞到後來我打算把這個部份做個收尾,又繼續地搞起我的插點方法了。Smoothing不是在插點,而我的觀念是把Smoothing拿來插點,但我實際上並沒有這樣嘗試過。嚴格來說,Smoothing已經相當成熟,雖然可以直接使用來改善Quality,但是插點的優勢就是三角形數量很少,符合有限元素分析的網格生成原則,也就是幾何變化多就三角形稠密,而幾何變化少就三角形稀疏的特性。我不是要直接做Smoothing,而是拿Smoothing的技巧來插點。
我提了一個插點方法,還有一個叫Effective Region的概念,以上就是我的碩士論文範圍。本篇全部的說明內容,就是我十年前的碩士學位答辯。或許,在三小時的答辯過程有不少廢話,但是都有確實的講到重點。我的碩士論文,可以投稿1篇國際期刊論文,但是我打算以學位論文的模式被引用。我的碩士論文指導教授,讓我修正了我原來的研究方法,並且提高了我的學術研究層次,採取攻讀博士學位模式做學術研究,算是對於我有重要影響的人物。
(18:00-21:00)
Reference
- Wikipedia, Boris Delaunay, http://en.wikipedia.org/wiki/Boris_Delaunay
- Wikipedia, Jacobian matrix and determinant, http://en.wikipedia.org/wiki/Jacobian_matrix_and_determinant