TRL
TOP PAGE東京基礎研究所採用情報研究分野プロジェクト関連情報IBM基礎研究所
English page is here.


ワイヤーフレーム−曲面変換



概要

 空間中の曲線群によって定義されたワイヤーフレームモデルを、 全体として一つの立体の表面(または一枚の大きな曲面)を表す曲面モデルに 自動的に変換する技術を研究しています.

 ワイヤーフレームモデルは、 面分(小さな曲面領域)の境界線の集まりと見ることができますが
  • 実際にどの一連の曲線を、閉じたループ(面分の輪郭)とするか
  • 各ループ(面分)にどのような曲面を張るか
という,曲面モデルには不可欠の2つの情報が欠落しています. このため, 曲面モデルや立体モデルに比べ手軽に入力・操作できる利点がありながら, 応用範囲が限定されてしまう問題がありました.

 そこで我々の研究している技術では,ワイヤーフレームを合理的に解釈し, 考えられる中でもっとも単純な形状を表わす曲面モデルに変換します. この技術には以下のような応用分野があります.
  • 3次元形状の簡易な入力方法 (機械系CAD,Web用コンテンツ作成,ゲーム・アニメーション作成など)
  • 既にあるワイヤーフレームモデルの資産の有効利用
  • 計算機による物体認識におけるマッチング



なぜワイヤーフレームか Wireframe model of a cat's head

 ワイヤーフレームモデルというのは3次元空間中の曲線の集まりです. つまり針金細工のような構造ですが, 多くの場合,曲面や立体を表すために使われます. 曲面モデルや立体モデルに比べて情報量が小さく, 入力や形状操作が簡単という利点があるためです.

 しかし,曲面や立体を表すと言っても, ワイヤーフレームモデルは「面」の情報を持っていません. 従って,計算機を使ったさまざまな応用(コンピュータグラフィクス,強度解析, 衝突チェック,加工工程設計etc.)を考えると, 曲面(または立体)モデルに変換する必要があります.




ワイヤーフレームの位相的解釈

 ワイヤーフレームを,全体として閉じた曲面のように解釈するには, 適当なループの集合を見つけることが必要です. 閉じた曲面なら立体モデルに変換できますし, 一部の面分を取り外せば境界のある曲面形状とみなすこともできます.

 このとき「閉じた曲面になるような適当なループの集合」の条件は すべての辺(曲線)が逆向きに2回ずつたどられていること です.
Wireframe of a cube Loops trace every edge two times.
例えば上図左のような立方体状のワイヤーフレームを考えたとき, 上の条件を満たすような解釈は右側の1通りしかありません (これを「グラフの球面への埋め込みが1通りである」と言います). ここで興味深いのは, この1通りの解を決めるのに曲線の幾何情報は一切必要なく, 頂点とその接続関係だけあればよいことです.

 同じように, 右上方の図のような複雑なワイヤーフレーム(猫の頭)についても, 球面への埋め込みが一つだけ存在します. こうして適当なループの集合が一つに決まれば,問題は解けたも同然です. それぞれのループに曲面を張ってやればよいのです.

 では,ループの集合はいつも一通りだけなのでしょうか?  残念ながら答は No です. 例えば下図のワイヤーフレームを見てください. 立体(=閉じた曲面)としての解釈は何通りあるでしょうか?  (答はこちら
Wireframe having multiple interpretations


すべての位相的解釈をつくる

 我々がとったアプローチは 球面への埋め込みをすべて生成する ことでした. まず入力されたワイヤーフレームをグラフとみなし, グラフ理論の 3連結要素分解(triconnected component decomposition) という手法を適用します. 例えば下のグラフは,そこを切ると全体が分離されるような頂点のペアのところで, 繰り返し分割されます.
Process of triconnected components decomposition

  分解してできる各部分グラフの球面への埋め込みは, 簡単に数え上げることができます. 全体の埋め込みを得るには, 分離したときに生成した仮想辺(virtual edge)をたよりに すべての球面を貼り合わせ,一つの球面にします. 但し球面を貼り合わせる際,球面の同じ側を貼るか裏返して貼るかによって, 組合せ的にすべての埋め込みが生成されるのです(下図参照).

Merging spheres to make a whole embedding



曲面の生成と解の絞り込み

 ここまでの段階で, ワイヤーフレームモデルのすべての可能な解釈を 位相情報だけを使って生成しました. ここではワイヤーの幾何情報を利用して, それらに曲面を張り(曲面幾何の生成), 立体として不合理なものを排除します(解の絞り込み).

 ワイヤーのループによって定義された面分に実際の曲面を張る際には, できるだけ単純な解釈を優先する方針をとります. すなわち,まず平面や基本2次曲面(円柱面,円錐面,球面)が張れるか試み, だめな場合だけ自由曲面で張ります. 自由曲面生成は,ループ曲線とその上で適当に仮定した法線情報をもとに, 下図のようにして行なわれます (物理モデルにもとづく曲面生成の技術を利用しています).

Face loop with normal vectors Generated mesh for the face Smoothed surface for the face

 すべての解が曲面モデルになったら, その中から,幾何的な基準により不合理なものを排除し単純な解釈を選び出します. 例えば,以下のような基準が考えられます.
  • 面分と面分が辺以外で交わる解は不合理
  • 辺をまたいで2つの面の法線が180度に近いものは工業的に実現困難
  • 単純な曲面(平面,基本2次曲面)を多く含むほど全体として単純
  • 全体の面積が小さいほど形状は単純


例題

 2つの例題についての処理結果を下に示します. 上は開いた曲面(薄板)の場合で,下は立体の境界面の場合です.

入力ワイヤーフレーム 解と面分の数 曲面モデル(第1候補)
Wireframe Sample 1
候補解の総数8
解の中の面分の数28
確実な面分の数23
不確実な面分の数12
Surface model for
Sample 1
Wireframe Sample 2
候補解の総数3456
合理的な解の数128
解の中の面分の数61
確実な面分の数49
不確実な面分の数61
Surface model for Sample 2



まとめ

 本手法の特徴は以下のとおりです.
  • 位相情報と幾何情報の利用を分離していること

     面分のほとんどが自由曲面の場合にも適用できるうえ, わずかな幾何的誤差に最終解が大きく影響されることもありません.

  • 解の候補が複数ある場合も扱え,理論的にすべての解を考慮していること

     たまたま最初に見つかった解を返すというのではありません.

  • 解に含まれる面分が, 確信度100%のものとそれ以外に明確に区別できること

     これによって,解の候補が複数ある場合でも絞り込みが容易にできます.

 今後は, 現在の入力ワイヤーフレームの制限(2連結な平面グラフ)を緩め, より広範なモデルを対象とすることを課題と考えています.


IBM Research
IBM Home Page日本IBM検索お問い合わせプライバシー著作権商標
Last modified 28 Feb 2001