網頁

2011年9月21日 星期三

Civil 3D 關於TIN地面物件生成原理概說

本文對於甫接觸 Civil 3D 軟體的朋友而言屬進階的內容,建議別好奇而跌入其中閱讀,應儘速離開為妥。對於已有相當使用經驗的朋友,本文則為銜接進階地面編修的基本知識,或可稍補充一般土木工程領域人員對於電腦圖學方面的一些瞭解。

建立不規則三角網(TIN)地面物件是使用Civil 3D軟體的基本功,無論是自測量資料的點檔案資料繪製TIN地面物件,或是由具高程定義的聚合線以加入等高線的方式加入地面物件定義內容,想必是使用 Civil 3D 這類軟體的朋友再熟悉不過的程序。不過到訪的朋友是否曾有一個疑問:為何用同樣的點檔案資料所建立的TIN原始地面均會相同,該結果不會因Civil 3D 版本環境不同而異?縱使是使用具高程定義的聚合線以加入等高線的方式加入地面物件定義,只要在相同的刪點及補點四個相關參數情形之下,所建立的 TIN 地面物件亦不會因Civil 3D 版本環境不同而異?

這個問題最無厘頭的回答是"若會不同那可就麻煩大了,豈不是每次的結果都無法預測了嗎?"

其實這其中是有一個邏輯程序的。基本的問題是:對於平面或空間中離散分佈的點位,如何使其所構成的三角網(TIN)最佳化?其解答則要歸功於前蘇聯數學家 Boris Delaunay於1934年所提出的三角化法則,也就是目前3D軟體模型建構的最重要及最基本的 Delaunay Triangulation (或許可譯稱為"德洛湼三角化法則")

Delaunay Triangulation 在Wiki網頁內容已將基本內容說的很完整,朋友可自行連結前往閱讀。以平面上四個非共線或非共圓的離散點作簡易說明,先任選所構成四邊形其中三頂點並繪製通過該三點的圓,若所餘的第四個點落於該圓之外,則所選三點所構成的三角網即為最佳化的結果。反之,若所餘的第四個點落於該圓之內,則三角網最佳化的結果為置換四邊形對角線後的切割結果。

而在 Civil 3D 的環境之下,是以2D 的 Delaunay Triangulation 所建構而成,亦即僅以(E, N)的座標點位作三角化的最佳化構築。有興趣的朋友可仿照筆者所示附圖動手測試。先任選相鄰的兩個三角網,以其所構成的四邊形的四個頂點為標的,任選其中三個頂點繪製所通過該三個頂點的圓,觀察一下是否符合2D Delaunay Triangulation 的原則。附圖中,筆者以慣用的Sample Data Set 點檔案資料所建立的TIN 地面物件為例,標示其中三個目標三角網(藍色、綠色、灰色),並繪製通過不同三個頂點的圓以供觀察。

因此,除非所據以加入地面定義的點位資料有發生四點共圓的情形,所建立的 TIN 地面均具有唯一性,亦不會因軟體版本而異。

以 2D Delaunay Triangulation 作為軟體運作的數學基礎雖然在無視高程的情形之下得到一個名義上的最佳化的 TIN 地面,但實際在考量地面高程變化及地勢特性等因素後其結果實非符合實體世界的最佳化結果。因此,吾等需進一步利用 Civil 3D 的地面編修相關工具,諸如以加入趨近式特徴線使三角網適當的置換邊緣,或加入地勢線或3D聚合線等並從中取得取樣點位高程資料,甚或需於適當位置作地面平滑化以補充點位資料,方能達到實務上最佳化的需要。

至於地面平滑化編輯中的NNI(自然鄰點法),其原理則是基於 Voronoi diagram (Voronoi tessellation)的鄰近點及鄰近區域權重判定計算公式,亦與 Delaunay Triangulation 相關。這其中的概要說明,再另覓機會與朋友分享了。

***
其它 Delaunay Triangulation 連結
http://w3.jouy.inra.fr/unites/miaj/public/vigneron/cs4235/l10cs4235.pdf
Delaunay Triangulation

沒有留言: