Submap

適用対象:Surfaces, Volumes

概要:4/6 を超える logical side を持つサーフェス/ボリュームに構造メッシュを生成します。

構文:

{Surface|Volume} <range> Scheme Submap

関連コマンド:

{Surface|Volume} <range> Submap Smooth <on|off>

解説:

Submapping(Whiteley, 96)は、サーフェスの mapping 機能を基礎とするメッシュ生成手法で、map 可能な subsurface に分解できるサーフェスのメッシュ生成に適しています。このアルゴリズムは分解手法を使ってサーフェスを単純な map 可能領域へ分割します。Submapping はジオメトリの logical side 数や edge 数に制限されませんが、比較的ブロック状のサーフェス/ボリューム、または内角が90度の倍数に近い形状に最も適しています。

submapping でメッシュ生成したボリュームとそのサーフェスの例を図1に示します。

図1:submapping で生成された Quadrilateral / Hexahedral メッシュ

前述の mapping scheme, submapping uses vertex types to determine where to put the corners of the mapped mesh (See Surface Vertex Types)に基づくメッシュ生成手法です。surface submapping では、サーフェス上の曲線をたどり、局所 i-j 座標系での曲線位置の分類に基づいて「logical sides」へグループ化します。

Volume submapping では、境界サーフェスの logical side と vertex type を用いて論理 i-j-k 座標系を構成し、それを使ってボリュームの logical side を構成します。surface / volume submapping では、これらの side を用いてサーフェスまたはボリュームの interval 制約を定式化します。

図2はこの logical classification の例で、前面サーフェス上の edge を i-j 座標系で分類しています。同図には、そのボリュームに対する submap メッシュも示します。

図2:Submap スキームの Logical Properties

短時間で結果を得たい特殊な場合は、submap cornerpicking を OFF にできます。この場合、サーフェス上の各頂点で測定した内角に基づいて vertex type を設定する、より高速ですが精度の低いアルゴリズムで corner picking が行われます。通常は推奨しません。

Set Submap CornerPicking {ON|off}

4辺 mapped region で4つの corner を選択する際に、妥当な候補位置が4箇所を超える特殊な場合、4つの corner 位置を決めるため submapping または mapping の corner-picking アルゴリズムを選択できます。通常は推奨しません。次のコマンドを使用できます。

Set Cornerpicking_MapAsSubmap {on|OFF}

Set Cornerpicking_SubmapAsMap {on|OFF}

List Cornerpicking_MapAsSubmap

List Cornerpicking_SubmapAsMap

submapping がサーフェスを分割し、前述の mapped meshing を適用した後、メッシュ品質を改善するため smoothing が行われます。submapping による分割はメッシュベースなので、この処理でジオメトリは作成されず、生成された内部メッシュを smoothing できます。smoothing によって品質が低下する場合もあるため、その場合は次のコマンドでメッシュ生成前の自動 smoothing を無効にできます:

{Surface|Volume} <range> Submap Smooth <on|off>

Surface submapping では円筒などの周期サーフェスもメッシュ生成できます。submapping で周期サーフェスをメッシュ生成した例を図3に示します。これらのサーフェスをメッシュ生成するには、円筒の上端と下端で interval が一致している必要があります。

図3:Submapping による周期サーフェスのメッシュ生成

周期サーフェスでは、円筒の上端と下端を接続する曲線がありません。この方向の interval は、サーフェスに periodic interval を設定して指定できます( Interval Assignment)。周期サーフェスを submap するための特別なコマンド指定は不要で、アルゴリズムが周期サーフェスであることを自動検出します。現在、内部穴を持つ周期サーフェスはサポートされていません。