提要
記得大三那一年有一門課叫做高等有限元,最後的作業就是網格剖分演算法的實現,我和同學一起花了些時間做了一個Qt程式,他寫演算法,我寫介面,最後成績竟然出奇的拿了90多...
今天要介紹的這款軟體TetGen就是一款網格剖分的軟體,算是力學計算中的前處理,他能夠將輸入的三維模型剖分成一個個的單元,如下圖:
最左邊的是原三維模型,中間圖為Delaunay演算法生成的四面體網格,最右邊的圖為在tetview中檢視剖分的結果。
官網的手冊裡還有一些關於剖分演算法的說明,有興趣的可以去看看。
環境: ubuntu 12.04 32bit
編譯
下載原始碼之後cd進目錄,然後執行
make
編譯完成之後,目錄下就會生成一個名為 tetgen 的可執行檔案。
執行tetview
這個是用於檢視網格模型的工具。 因為這個東西比較老,所以首先要安裝一些比較老的庫。
g77
下載好之後解壓,cd進目錄執行:
sudo ./install.sh
stdc++5
sudo apt-get install libstdc++5
將下載好linux版本的tetivew解壓,再將example解壓到相同的目錄,終端cd進目錄,執行:
./tetview pmdc.1
一切配置正確的話,tetview就執行了。很簡單的一個操作介面,按F1沿著plane剖分,效果就像這樣:
網格剖分實戰
首先開啟blender,Add->Mesh->Torus,新增一個圓環,然後File->Export->Stanford(.ply),匯出ply檔案,待會用於剖分。
將匯出的ply模型放到tetgen的目錄,終端執行:
./tetgen -p torus.ply
再將生成的檔案拷貝到tetiew的目錄下,執行
./tetview torus.1.ele
相關下載