昨日から,引き続いて,アミアミ模様のデータ作成をやってみる.
世間では,メッシュ生成と呼ぶらしい.
---------------------------
昨日まで,TetGen で作成したデータを VTK 変換するプログラムを作ってた.
こんな具合に,変な結果に.
色々,思い返して,VTK のフォーマットをよく理解してないのでは...
と復習する.
(゜o゜; ...... 各四面体要素 の節点を記述する際に
ゼロ番から記述する(C言語的な感じ)ことを忘れてた.
思い返して,プログラムに "-1" の数式を書きこんで修正.
なんとか変換成功.
中に描いてあるのは,任意断面で切った様子.
なんか,分割粗いなぁ.
おそらく TetGen 側に,アレコレ,オプションパラメータがあるのだろう.
---------------------------
tetgen パラメータを調べる.
tetgen --help
以下,出力抜粋.
tetgen [-prq_a_AiMYS_T_dzo_fenvgGOJBNEFICQVh] input_file
-p Tetrahedralizes a piecewise linear complex (PLC).
-r Reconstructs a previously generated mesh.
-q Refines mesh (to improve mesh quality).
-a Applies a maximum tetrahedron volume constraint.
-A Assigns attributes to tetrahedra in different regions.
-i Inserts a list of additional points into mesh.
-M No merge of coplanar facets.
-Y No splitting of input boundaries (facets and segments).
-S Specifies maximum number of added points.
-T Sets a tolerance for coplanar test (default 1e-8).
-d Detects self-intersections of facets of the PLC.
-z Numbers all output items starting from zero.
-o2 Generates second-order subparametric elements.
-f Outputs all faces to .face file.
-e Outputs all edges to .edge file.
-n Outputs tetrahedra neighbors to .neigh file.
-v Outputs Voronoi diagram to files.
-g Outputs mesh to .mesh file for viewing by Medit.
-G Outputs mesh to .msh file for viewing by Gid.
-O Outputs mesh to .off file for viewing by Geomview.
-K Outputs mesh to .vtk file for viewing by Paraview.
-J No jettison of unused vertices from output .node file.
-B Suppresses output of boundary information.
-N Suppresses output of .node file.
-E Suppresses output of .ele file.
-F Suppresses output of .face file.
-I Suppresses mesh iteration numbers.
-C Checks the consistency of the final mesh.
-Q Quiet: No terminal output except errors.
-V Verbose: Detailed information, more terminal output.
-h Help: A brief instruction for using TetGen.
-p Tetrahedralizes a piecewise linear complex (PLC).
-r Reconstructs a previously generated mesh.
-q Refines mesh (to improve mesh quality).
-a Applies a maximum tetrahedron volume constraint.
-A Assigns attributes to tetrahedra in different regions.
-i Inserts a list of additional points into mesh.
-M No merge of coplanar facets.
-Y No splitting of input boundaries (facets and segments).
-S Specifies maximum number of added points.
-T Sets a tolerance for coplanar test (default 1e-8).
-d Detects self-intersections of facets of the PLC.
-z Numbers all output items starting from zero.
-o2 Generates second-order subparametric elements.
-f Outputs all faces to .face file.
-e Outputs all edges to .edge file.
-n Outputs tetrahedra neighbors to .neigh file.
-v Outputs Voronoi diagram to files.
-g Outputs mesh to .mesh file for viewing by Medit.
-G Outputs mesh to .msh file for viewing by Gid.
-O Outputs mesh to .off file for viewing by Geomview.
-K Outputs mesh to .vtk file for viewing by Paraview.
-J No jettison of unused vertices from output .node file.
-B Suppresses output of boundary information.
-N Suppresses output of .node file.
-E Suppresses output of .ele file.
-F Suppresses output of .face file.
-I Suppresses mesh iteration numbers.
-C Checks the consistency of the final mesh.
-Q Quiet: No terminal output except errors.
-V Verbose: Detailed information, more terminal output.
-h Help: A brief instruction for using TetGen.
-K オプションをみつけて,唖然......
まぁ,プログラム作成の勉強になったということで.
---------------------------
上記でみつけた
-O Outputs mesh to .off file for viewing by Geomview.
-g Outputs mesh to .mesh file for viewing by Medit.
-G Outputs mesh to .msh file for viewing by Gid.
が気になる.
なので,
《Geomview》--------------
sudo yum -y install geomview
本家は ここ.あまり使いやすくないなぁ...
《Medit》--------------
ここで,手に入るらしい.
yum -y install mercurial
cd ~hoge/tmp
hg clone https://medit@bitbucket.org/medit/medit
cd medit
./autogen.sh./configure --enable-dev-mode
make
make install
うまくいかないので,tar ball にでもしよう
(というか,そこまで,して使いたいのか?).
tar ball でもやっても,
autogen.sh の処理でライブラリエラー.
めんどくさいのでやめる.
《Gid》--------------
ここが本家?.イマイチ,有償なのかどうかハテナ.
gid11.0.1-linux-x32.tar.gz を拾ってきて,
tar xjvf gid11.0.1-linux-x32.tar.gz
解凍したらそこにモジュールが展開される.
なので,予め,ディレクトリ用意をおすすめ.
なかなか,機能豊富な印象....
入出力ファイル形式も多し.
---------------------------
寄り道をしたが,tetGen のデータ処理にもどってみる.
手書きで,以下のデータを用意
# Part 1 - node list
12 3 0 0
1 0.0 0.0 0.0
2 1.0 0.0 0.0
3 1.0 1.0 0.0
4 0.0 1.0 0.0
5 0.0 0.0 2.0
6 1.0 0.0 2.1
7 1.0 1.0 1.5
8 0.0 1.0 1.8
9 0.0 0.0 3.0
10 1.0 0.0 3.1
11 1.0 1.0 3.5
12 0.0 1.0 3.8
# Part 2 - facet list
10 1
1 0 1
4 1 4 8 5
1 0 1
4 2 3 7 6
1 0 1
4 1 2 6 5
1 0 1
4 4 3 7 8
1 0 1
4 1 2 3 4
1 0 1
4 5 8 12 9
1 0 1
4 6 7 11 10
1 0 1
4 5 6 10 9
1 0 1
4 8 7 11 12
1 0 1
4 9 10 11 12
# Part 3 - hole list
0
# Part 4 - region list
0
tetgen -pK ./data/simple_cube02.poly
全体は透過表示.中の面は包丁で切った切り口.
もっときれいなテトラにでけへんかなぁ.
パラメータを調査せなアカン.
---------------------------
矩形立方体領域に tetgen をかけるように,シェルスクリプトを作り始める.
その過程で awk コマンドにシェル変数を渡す必要が生じる.
うまくいかないなぁ.
あー.こういうことだった.そういや,むかしやったなぁ.
---------------------------
急に別作業を思い立ったので,このくらいで,今日は中断.
---------------------------
0 件のコメント:
コメントを投稿