TetGenTetrahedralize[expr,settings]
settings を使ってTetGen式を四面体分割し,新しいTetGen式に結果を返す.
TetGenTetrahedralize
TetGenTetrahedralize[expr,settings]
settings を使ってTetGen式を四面体分割し,新しいTetGen式に結果を返す.
詳細とオプション
- TetGenTetrahedralizeを使うためには,まずNeeds["TetGenLink`"]を使ってそれをロードしなければならない.
- TetGenTetrahedralizeに与えられる設定は,異なるコマンドの文字列である.
-
"p" PLC(picecwise linear complex)を四面体分割する "q" 高精度メッシュの生成.半径と辺の最小比(デフォルトは2 .0)が指定できる "a" 四面体の最大容積制限を適用する "A" 任意領域の四面体を見付けるための属性を割り当てる "r" 以前に生成されたメッシュを再構築または微調整する "Y" 境界ファセットまたは境界セグメントの分割を抑制する "YY" 外部および内部の境界ファセットまたは境界セグメントの分割を抑制する "i" 追加点のリストをメッシュに挿入する "M" 同一平面上のファセットをマージしない "T" 同一平面テストの許容誤差(デフォルトは
)を設定する"d" PLCファセットの交差点を検出する "o2" 二次のサブパラメトリック要素を生成する "C" 最終メッシュの一貫性をチェックする "Q" Quiet:エラー以外のターミナル出力を出さない - TetGenTetrahedralizeに与えられた空の文字列" "はドロネー三角形分割を生成する.
- TetGenTetrahedralizeには以下のオプションがある.
-
"TetrahedronRefinement" None 四面体を改良する関数
例題
すべて開く すべて閉じる例 (1)
Needs["TetGenLink`"]inst = TetGenCreate[]pts = {{0., 0., 0.}, {2., 0., 0.}, {2., 0., 2.}, {0., 0., 2.}, {0., 12., 0.}, {2., 12., 0.}, {2., 12., 2.}, {0., 12., 2.}};
facets = {{{1, 2, 3, 4}}, {{5, 6, 7, 8}}, {{1, 5, 6, 2}}, {{2, 6, 7, 3}}, {{3, 7, 8, 4}}, {{4, 8, 5, 1}}};TetGenSetPoints[inst, pts];
TetGenSetFacets[inst, facets];inst1 = TetGenTetrahedralize[ inst, "pq1.414a0.1"]elemPts = TetGenGetPoints[inst1];
elemFaces = TetGenGetFaces[inst1];Graphics3D[GraphicsComplex[elemPts, Polygon[elemFaces]]]既存のTetGenインスタンスを微調整するために"p"の代りに"r"文字列を設定する:
inst2 = TetGenTetrahedralize[ inst1, "rq1.414a0.01"]elemPts = TetGenGetPoints[inst2];
elemFaces = TetGenGetFaces[inst2];Graphics3D[GraphicsComplex[elemPts, Polygon[elemFaces]]]オプション (1)
"TetrahedronRefinement" (1)
Needs["TetGenLink`"]inst = TetGenCreate[]pts = {{0., 0., 0.}, {2., 0., 0.}, {2., 0., 2.}, {0., 0., 2.}, {0., 12., 0.}, {2., 12., 0.}, {2., 12., 2.}, {0., 12., 2.}};
facets = {{{1, 2, 3, 4}}, {{5, 6, 7, 8}}, {{1, 5, 6, 2}}, {{2, 6, 7, 3}}, {{3, 7, 8, 4}}, {{4, 8, 5, 1}}};TetGenSetPoints[inst, pts];
TetGenSetFacets[inst, facets];以下は四面体分割を実行し,新しいTetGenインスタンスを返す:
inst1 = TetGenTetrahedralize[ inst, "pq1.414"]elemPts = TetGenGetPoints[inst1];
elemFaces = TetGenGetFaces[inst1];Graphics3D[GraphicsComplex[elemPts, Polygon[elemFaces]]]四面体が改良されるべきならばTrueを,そうでなければFalseを返す,コンパイルされた関数を設定する:
cf = Compile[{{coordinates, _Real, 2}, {volume, _Real, 0}},
If[volume > 0.1, True, False]
];改良関数を使って四面体分割を実行し,新しいTetGenインスタンスを返す:
inst2 = TetGenTetrahedralize[inst, "pq1.414", "TetrahedronRefinement" -> cf]elemPts = TetGenGetPoints[inst2];
elemFaces = TetGenGetFaces[inst2];Graphics3D[GraphicsComplex[elemPts, Polygon[elemFaces]]]すでに四面体分割されたTetGenインスタンスを微調整する:
inst2 = TetGenTetrahedralize[inst1, "rq1.414", "TetrahedronRefinement" -> cf]この場合,すでに四面体分割されたTetGenインスタンスに微調整が施されるので,"r"文字列が使われる:
elemPts = TetGenGetPoints[inst2];
elemFaces = TetGenGetFaces[inst2];Graphics3D[GraphicsComplex[elemPts, Polygon[elemFaces]]]考えられる問題 (1)
すでに四面体分割されたTetGenインスタンスの微調整は"r"文字列で行わなければならない.
Needs["TetGenLink`"]coordinates = {{0., 0., 0.}, {2., 0., 0.}, {2., 0., 2.}, {0., 0., 2.}, {0., 12., 0.}, {2., 12., 0.}, {2., 12., 2.}, {0., 12., 2.}};
facets = {{{1, 2, 3, 4}}, {{5, 6, 7, 8}}, {{1, 5, 6, 2}}, {{2, 6, 7, 3}}, {{3, 7, 8, 4}}, {{4, 8, 5, 1}}};geometry = TetGenCreate[];
TetGenSetPoints[geometry, coordinates];
TetGenSetFacets[geometry, facets];
discretization = TetGenTetrahedralize[geometry, "pq"];TetGenGetElements[discretization]//Lengthすでに四面体分割されたTetGenインスタンスを区分的な線形複合体(PLC)として四面体分割することはできない.新しい要素は生成されない:
refinement = TetGenTetrahedralize[discretization, "pqa.01"];
TetGenGetElements[refinement]//Lengthすでに四面体分割されたTetGenインスタンスの微調整は"r"文字列で行わなければならない:
discretization = TetGenTetrahedralize[geometry, "pq"];
refinement = TetGenTetrahedralize[discretization, "rqa.01"];TetGenGetElements[refinement]//Lengthテクニカルノート
関連するガイド
テキスト
Wolfram Research (2010), TetGenTetrahedralize, Wolfram言語関数, https://reference.wolfram.com/language/TetGenLink/ref/TetGenTetrahedralize.html (2014年に更新).
CMS
Wolfram Language. 2010. "TetGenTetrahedralize." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/TetGenLink/ref/TetGenTetrahedralize.html.
APA
Wolfram Language. (2010). TetGenTetrahedralize. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/TetGenLink/ref/TetGenTetrahedralize.html
BibTeX
@misc{reference.wolfram_2026_tetgentetrahedralize, author="Wolfram Research", title="{TetGenTetrahedralize}", year="2014", howpublished="\url{https://reference.wolfram.com/language/TetGenLink/ref/TetGenTetrahedralize.html}", note=[Accessed: 03-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_tetgentetrahedralize, organization={Wolfram Research}, title={TetGenTetrahedralize}, year={2014}, url={https://reference.wolfram.com/language/TetGenLink/ref/TetGenTetrahedralize.html}, note=[Accessed: 03-November-2026]}