Tetrahedralizeノードは、3Dポイントのセットや多面体メッシュを指定することで、四面体メッシュを生成します。 また、既存の四面体メッシュを洗練させて、四面体化の妨げになる交差ポリゴンを検出することもできます。
四面体メッシュは四面体プリミティブで構成されています。四面体は4つの面で構成された形状であり各面が三角形です。Tetrahedron(四面体)の複数形はTetrahedraまたはTetrahedronsで、"tet"と略します。
このオペレータは、自己交差のない閉じた入力から四面体を作成するローレベルのツールです。Solid ConformやSolid Embedは、これを内部に使用することで、サーフェスメッシュからソリッド表現を作成しています。
四面体メッシュは、例えばソフトボディダイナミクスのFinite Element Solverのような色々なダイナミクスソルバに必要です。生成された四面体メッシュは、リアルな破壊を生成するのにも使われます。
Tetrahedralize SOPは、入力ポリゴンメッシュに対して拘束されたドロネー四面体(つまり、Conform to Surface Mode)を作成することができます。 これにより、入力サーフェスメッシュの内側が、既存ポリゴンの形状に正確にフィットした理想的な形の四面体で埋め尽くされ、ポリゴンを横切りません。
さらに、このノードは、空間内の近接ポイントを接続したグラフを構築したり、Convex(凸)ハルを構築するのにも役に立ちます。
Tip
サーフェスメッシュから閉じた四面体を作成するなら、このノードではなく、Solid Conformを使用します。このノードはローレベルなので、入力サーフェス内の穴と自己交差を制御することができません。 しかし、ポイントから四面体を作成するのには十分です。
Note
Conform to Surface Mode(つまり、入力内のポリゴンを使用)では、その入力サーフェスが閉じていて、自己交差していないことを確認してください。不完全な形のサーフェスは四面体化されない事があります。
Tip
生成される四面体の数を制御するための直接のオプションはありませんが、そのサイズを制御することは可能です。Sizingオプションを使用することで、それぞれの四面体のサイズを制御することができます。 当然ながら、サイズパラメータを小さくするほど、四面体が多く生成されます。
2番目の入力では、その結果の四面体メッシュに対して内部ポイント拘束を追加することができます。
パラメータ
Group
四面体化するポイントグループ。指定したポイントグループ内のポイントのプリミティブのみが、品質改良のための拘束や四面体として使われます。
Batch
個々に扱う入力の破片を決めます。これにより、Tetrahedralizeは別々に破片を処理することができるので、破壊の時に役に立ちます。
Entire
入力全体を四面体化します。
Connected Components
入力の破片を自動的に決め、個々に各破片を四面体化します。
Attribute
Piece Attributeを使用して、同じアトリビュート値を持つポリゴングループを1つの破片として四面体化します。
Piece Attribute
(BatchをAttributeに設定した場合)ジオメトリの個々の破片の決定に使用するアトリビュート、または(BatchをConnected Componentsに設定した場合)自動で決められた破片を出力するのに使用するアトリビュートの名前。
Remove Unused Points
重複ポイントと四面体化で使われていないポイントを削除します。ソースグループ内のポイントのみが考慮されます。
Mode
四面体の処理方法を選択します。
Conform to Surface
自己交差のない閉じた多面体メッシュから四面体メッシュを生成します。これが、このノードの標準です。
Refine Tets
入力に四面体メッシュを指定すると、このオプションはその既存メッシュを洗練化します。Qualityコントロールと併用することで、その既存メッシュの品質を改良することができます。
Convex Hull(廃止)
これは、オブジェクトからConvex(凸)ハルを形成し、すべてのポイントを含んだ最小の凸形状になります。このモードでは、入力ポイントだけが考慮され、入力内のポリゴンは無視されます。
Tip
この方法でConvex(凸)ハルを生成すると、専用Convex(凸)ハルアルゴリズムと同様にまったくスケールできません。 そのため、250,000以上もの膨大なポイントがあると、遅くなり始めます。 代わりにShrinkwrap SOPを使用してください。
また、有効な四面体になるポイントセットのConvex(凸)ハルだけを返すことができます。そのため、例えば2D平面上のポイントに対しては何もプリミティブが返されません。 その場合は、Triangulate2Dの後にDivideを追加して、Remove Shared Edgesをオンにすれば、同じことができます。
Detect Intersections
このモードは、四面体化をスキップし、単に入力ジオメトリ内の交差の検出を試みるだけです。交差があれば、四面体化した時に問題を起こします。
Intersection Color
他のポリゴンと交差したポリゴンに設定するカラー。このオプションは、Detect Intersections Modeでのみ利用可能です。
Intersection Group
交差ポリゴンすべてを含んだグループを出力に作成します。このオプションは、Detect Intersections Modeでのみ利用可能です。
Output
Connected Polylines
各ポイントをドロネー四面体で隣接ポイントと繋げます。このポイント接続性グラフは、ポイントの隣接関係を調べるのに非常に役に立ちます。ポイントは、他のポイントよりも近い3つのポイントと繋げられます。
Tetrahedra
個々の四面体で構成されたメッシュを構築します。
Polygons
四面体フェースでサーフェス上に三角形を構築します。
Polygons and Tetrahedra
上記の2つの出力で三角形と四面体を一緒に出力します。
Keep Primitives
元のプリミティブを保持するかどうか。
Avoid Boundary Modifications
入力サーフェスの変形を回避します。新しい内部ポイント(シュタイナーポイント)のみを許可します。
Attribute Transfer Control
One Surface Face per Tetrahedron
2つのサーフェス三角形が同じ四面体に属さないようにします。
Propagate Primitive Attributes Away from Normals
サーフェスポリゴンのアトリビュート値をそのポリゴン法線の反対側の四面体にコピーします。 これは、Propagate Primitive Attributes to Internal Tetrahedraトグルと併用して、入力ポリゴン上にアトリビュートを配置することによって、出力される四面体上の特定の閉じた領域内にアトリビュートを取得することができます。
Propagate Primitive Attributes to Internal Tetrahedra
サーフェスポリゴンからアトリビュート値を補間して、メッシュ内側に四面体を出力します(四面体をサーフェス化するのではありません。サーフェス化は、このトグルに関係なく起きます)
Tet Quality
Enable
このセクションのコントロールをオンにすると、生成される四面体メッシュの品質を制御することができます。
Max Radius-Edge Ratio
このオプションには、生成される各四面体に対する拘束を指定します。特に、各四面体に外接した球の半径を、同じ四面体の最短エッジの長さで割った値が、このパラメータで指定した値よりも小さくなります。 この値は、できるだけ等辺になるように四面体を生成するための経験的法則です。
Min Dihedral Angle
このパラメータには、出力メッシュの各四面体の各2つのフェース間で許容される最小角度の拘束を指定します。Max Radius-Edge Ratioと併用することで、高品質な四面体メッシュが生成されます。
Size
Target Size Attribute
入力ジオメトリのポイントに設定するPointアトリビュートの名前。このアトリビュートで出力メッシュのエッジ長を指定します。出力メッシュの各エッジは、一番近い入力ポイントに設定されているこのサイズアトリビュートに一致するように試みます。
Max Size
均一な最大サイズ拘束。この拘束は、出力される四面体すべての最大体積をV = a*a*a/(6*sqrt(2))
で拘束します。V
は体積、a
は指定したサイズです。
Max Size Attribute
出力される各四面体のサイズの拘束に使用するPrimitiveアトリビュート。これは、出力される各四面体の最大体積をV = a*a*a/(6*sqrt(2))
で拘束します。V
は体積、a
は指定したサイズです。
Stopping Conditions
これらのオプションは、長い四面体を回避するのに役立ちます。これらのオプションを使用することで、品質の制約が非常に厳しい時に、早期にメッシュの改良を止めます。
Max Repair Iterations
ドロネー四面体アルゴリズムで内部的に使われる最大反復回数。この値を越えると、たとえ生成されるメッシュが指定した品質条件を完全に満たさなくても、強制的に四面体化を終了します。
Max Added Points
生成される四面体メッシュに挿入可能な内部ポイントの最大数。これは、生成されるメッシュが指定した品質条件すべてを満たさなくなる場合があります。
Post-Optimization
メッシュの最適化は、メッシュを生成した後に、さらにメッシュ品質を改良します。
Post-Optimization Iterations
メッシュの品質を改良するためのアルゴリズムの反復回数。この回数が多いほど、四面体化の処理が重くなります。
Edge/Face Flips
隣接する四面体間でエッジとフェースの反転を許可します。
Vertex Smoothing
頂点の平滑化を許可します。
Vertex Insertion/Deletion
メッシュを生成した後に、頂点を挿入/削除して品質を改良することができます。
Troubleshooting
Handle Failure
このコントロールには、色々なワークフローオプションがあり、破片やコンポーネント(Batchオプションで決まります)の四面体化に失敗した時のこのノードの挙動を変更することができます。
Remove Failed Components
四面体化に失敗した破片を無視します。何か問題があり、他に失敗の原因がない場合には警告がでます。
Keep Failed Components
デバッグ用に失敗したコンポーネントを保持します。例えば、ユーザーがそれらにカラーを設定したり、グループへ追加することができます。
Fail on Error
1つの破片が四面体化に失敗するとすぐに、ノードが \"error out\" を出します。これが最も寛容的なオプションです。
Random Seed
内部乱数ジェネレータは、このシードを使用して乱数を生成します。この値を変更すると、複雑な四面体化で若干結果が異なることがあります。
Precision Tolerance
2つの隣接する三角形が同一平面上にあるかどうか判断するために使用する内部許容値。 入力が微小要素を厳しく制限している場合には、この許容値を変更すると役に立ちます。
Dihedral Angle Tolerance
入力メッシュでこの許容値よりも小さい二面角があった時、四面体化が失敗します。 この値を上げることで、不完全な形の入力がシミュレーションで悪さする四面体を生成しないようにすることができます。この値を下げるほど、このノードはより寛大になります。
Maximum Attempts
場合によっては、四面体化アルゴリズムは修復不可能な問題に遭遇します。このパラメータは、入力ポイントを乱したり、Random Seedを調整することで、このノードが四面体化を再試行するその回数を制御します。 このノードは、最初の試みで四面体化に失敗した時に警告を出します。
Invalid Prim Color
四面体化できなかったコンポーネントに設定するカラー。
Invalid Prim Group
四面体化できなかったコンポーネントのプリミティブすべてを含んだグループを出力に作成します。
See also |