デュアルコンテュアリング:符号付き距離場からメッシュを生成

2026年02月03日 公開 | スペイン語から翻訳
Diagrama o render que muestra una malla poligonal con bordes afilados generada a partir de un campo de distancia, comparando visualmente el resultado con métodos como Marching Cubes.

Dual contouring: 符号付き距離フィールドからメッシュを生成

コンピュータグラフィックス分野では、符号付き距離フィールド (SDF) からメッシュを抽出することが基本的なタスクです。Dual Contouring アルゴリズムは、古典的な Marching Cubes の直接的な進化形として登場し、最終ジオメトリの頂点を配置する方法で際立っています。グリッドのエッジ上に配置するのではなく、各立方体セル内で最適な点を計算することで、CAD モデルの典型的な角張った特徴をより忠実に表現できます。🧊

各立方体セルごとに戦略的な頂点

アルゴリズムの核心は、暗黙表面を含む voxel grid の各セルをどのように処理するかです。各セルに対して、SDF で定義された表面がそのエッジを横切る点を特定します。次に、それらの交差点点で 距離フィールドの法線 を評価します。目的は補間ではなく、二次誤差を最小化する方程式系を解くことで、推定されたすべての接平面に最適に適合する位置にセル内に単一の頂点を配置することです。最後に、隣接するセルのこれらの頂点が接続されて出力メッシュのポリゴンを形成します。

アルゴリズムのワークフロー:
  • セルを評価: グリッドの各セルを分析し、表面がエッジと交差する点を検出します。
  • 法線を処理: 各交差点で SDF の法線を取得し、ローカル接平面を定義します。
  • 最適頂点を計算: それらの平面に適合するセル内の頂点を配置するための最小化問題を解きます。
  • トポロジーを接続: 隣接セルの頂点を結合して四辺形または三角形を作成し、連続したメッシュを形成します。
確かに、時にはキューブはキューブらしく見えるべきで、恥ずかしがり屋のアルゴリズムで滑らかにされたジャガイモのようになるべきではありません。

定義されたエッジを持つジオメトリを捉えるのに理想的

この方法論は、暗黙表面に 硬い特徴 がある場合に輝きます:平坦な領域、直線的なエッジ、または明確にマークされたコーナーです。Marching Cubes がこれらの詳細を滑らかにする傾向があるのに対し、Dual Contouring はそれらを保持するように設計されています。そのため、ジオメトリの精度が重要な文脈で頻繁に使用されます。

主要な応用領域:
  • リバースエンジニアリング: スキャンされたボリュメトリックデータから精密なメッシュを抽出。
  • プロシージャルモデリング: 角張った構造を持つアルゴリズム生成の形状を視覚化。
  • 科学的可視化: 明確に定義された境界を持つ複雑なデータを表現。

計算コストと品質のトレードオフ

計算コスト はより単純な方法に比べて高いものの、メッシュの品質向上は特定のアプリケーションでその使用を正当化します。結果は距離フィールドの元のジオメトリ意図を尊重し、エッジをシャープにし、コーナーを強調した表現となり、技術的または産業由来の表面を扱うのに不可欠です。🛠️