(57)【特許請求の範囲】
【請求項１】
入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるメッシュデータ受付手段と、
前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出手段と、
前記シャープ頂点ではない頂点の主曲率をもとに、ある１つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成手段と、
前記シード領域生成手段が生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティング手段と、
前記シード領域生成手段が生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティング手段がフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出手段と、
前記解析曲面領域抽出手段が抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識手段と、
前記解析曲面領域抽出手段の抽出した解析曲面と前記解析曲面領域認識手段が認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力手段とを備え、
前記メッシュ主曲率算出手段は、曲率評価範囲を決定するパラメータの第１の値を各頂点に接続する稜線の平均長さの２倍に設定して各頂点の主曲率を算出し、前記各頂点のうちその最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの第２の値を各頂点に接続する稜線の平均長さの５倍に設定し、主曲率を算出する２パス演算を実行し、
前記シード領域生成手段は、前記メッシュ主曲率算出手段が算出したシャープ頂点を除いた各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当て、割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出することを特徴とする解析曲面セグメンテーション装置。
【請求項２】
前記シード領域生成手段は、前記その他の面に属するラベルが割り当て頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てることを特徴とする請求項１に記載の解析曲面セグメンテーション装置。
【請求項３】
前記解析曲面フィッティング手段は、
円筒・円錐面については、まず、シード領域内の頂点の法線とガウス球との交点群に平面をフィッティングし、この平面の法線を軸方向として算出し、
円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その円弧の中心と軸上の任意点を求め、
円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小２乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めることを特徴とする請求項１又は２に記載の解析曲面セグメンテーション装置。
【請求項４】
入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、
前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、
前記シャープ頂点ではない頂点の主曲率をもとに、ある１つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、
前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、
前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、
前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、
前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとを有し、
前記メッシュ主曲率算出ステップにおいては、曲率評価範囲を決定するパラメータの第１の値を各頂点に接続する稜線の平均長さの２倍に設定して各頂点の主曲率を算出し、前記各頂点のうちその最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの第２の値を各頂点に接続する稜線の平均長さの５倍に設定して主曲率を算出し、
前記シード領域生成ステップにおいては、前記メッシュ主曲率算出ステップで算出したシャープ頂点を除いた各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当て、割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出することを特徴とする解析曲面セグメンテーション方法。
【請求項５】
前記シード領域生成ステップでは、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てることを特徴とする請求項４に記載の解析曲面セグメンテーション方法。
【請求項６】
前記解析曲面フィッティングステップでは、
円筒・円錐面については、まず、シード領域内の頂点の法線とガウス球との交点群に平面をフィッティングし、この平面の法線を軸方向として算出し、
円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、
円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小２乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めることを特徴とする請求項４又は５に記載の解析曲面セグメンテーション方法。
【請求項７】
入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、
前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、
前記シャープ頂点ではない頂点の主曲率をもとに、ある１つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、
前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、
前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、
前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、
前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとをコンピュータに実行させる解析曲面セグメンテーションプログラムであって、
前記メッシュ主曲率算出ステップでは、曲率評価範囲を決定するパラメータの第１の値を各頂点に接続する稜線の平均長さの２倍に設定して各頂点の主曲率を算出し、前記各頂点のうちその最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの第２の値を各頂点に接続する稜線の平均長さの５倍に設定して主曲率を算出し、
前記シード領域生成ステップでは、前記メッシュ主曲率算出ステップで算出したシャープ頂点を除いた各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当て、割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出することを特徴とする解析曲面セグメンテーションプログラム。
【請求項８】
前記シード領域生成ステップでは、前記コンピュータに、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てさせることを特徴とする請求項７に記載の解析曲面セグメンテーションプログラム。
【請求項９】
前記解析曲面フィッティングステップでは、前記コンピュータに、
円筒・円錐面については、まず、シード領域内の頂点の法線とガウス球との交点群に平面をフィッティングし、この平面の法線を軸方向として算出し、
円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、
円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小２乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めさせることを特徴とする請求項７又は８に記載の解析曲面セグメンテーションプログラム。
【請求項１０】
入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、
前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、
前記シャープ頂点ではない頂点の主曲率をもとに、ある１つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、
前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、
前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、
前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、
前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとを有し、
前記メッシュ主曲率算出ステップでは、曲率評価範囲を決定するパラメータの第１の値を各頂点に接続する稜線の平均長さの２倍に設定して各頂点の主曲率を算出し、前記各頂点のうちその最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの第２の値を各頂点に接続する稜線の平均長さの５倍に設定して主曲率を算出し、
前記シード領域生成ステップでは、前記メッシュ主曲率算出ステップで算出したシャープ頂点を除いた各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当て、割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出する解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項１１】
前記シード領域生成ステップでは、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てることを特徴とする請求項１０に記載の解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項１２】
前記解析曲面フィッティングステップでは、
円筒・円錐面については、まず、シード領域内の頂点の法線とガウス球との交点群に平面をフィッティングし、この平面の法線を軸方向として算出し、
円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、
円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小２乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めることを特徴とする請求項１０又は１１に記載の解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メッシュモデルデータから解析曲面フィッティングに基づき解析曲面のセグメンテーションを行う解析曲面セグメンテーション装置、方法、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
近年、工業用高エネルギーＸ線ＣＴスキャナにより機械部品をスキャンすることでその機械部品の３次元（３Ｄ）のメッシュモデルを自動的に取得できるようになってきており、工業製品開発に多く用いられるようになってきている。この高エネルギーＸ線ＣＴスキャナは、複雑な形状の工業製品の内部構造の３次元画像データを迅速に、非破壊で取得するのに利用される。
【０００３】
今日、得られた３次元スキャン画像データは容易に３次元メッシュモデルデータに変換可能である。例えば、非特許文献１に記載されたマーチングキューブ法がよく知られている。３次元スキャンメッシュモデルが工業製品の修理、レプリカ作成、解析あるいは検査に利用されるとき、その用途に応じてメッシュモデルを望ましい領域群に効果的に分割することが必要である。
【０００４】
工業製品の表面は主に解析曲面、例えば、平面、円筒面、球面、円錐面そしてトーラスの組み合わせによって構成されている。したがって、メッシュモデルから引き出される単純な解析曲面によって近似できる領域群を抽出することが必要である。この領域分割はメッシュモデルに対する特徴認識を可能にし、パラメータによるメッシュ変形、メッシュスムージング、ＦＥＭメッシュ生成、立体モデル作成の前処理に重要な役割をする。
【０００５】
シャープエッジによって分けられる領域を抽出する方法について、多数の方法が提案されている。しかしながら、メッシュモデルから解析曲面によって近似できる領域を抽出する方法はほとんど提案されていない。また、提案された方法にあっては、ノイズの多いメッシュモデルからの領域抽出の正確さ、また抽出された解析曲面の応用範囲は実用性の面で不十分である。
【０００６】
関連する公知技術は以下のようなものである。メッシュ分割、メッシュ特徴抽出と再メッシュ分割のようなメッシュ応用技術で利用される基本技術の１つにメッシュ曲率推定法がある。この方法のアプローチには、非特許文献５，６，７がある。
【０００７】
非特許文献５では、メッシュ曲率推定法は２つのグループに分けられている。１つは、離散的表現における微分幾何演算のために閉鎖形状を形成することで曲率を推定するものである。他の１つは、メッシュ頂点ごとの周りに比較的高度の曲面を局所的にフィットし、この曲面を解析することで曲率を推定するものである。過去の非特許文献３，４，５では、後者の推定方法はノイズの多いメッシュモデルに対してより良い結果をもたらすとされている。
【０００８】
メッシュ分割は、メッシュモデルを用途に応じて望ましい領域に分割するという技術である。メッシュ分割には多数の取り組みが提案されているが、大きく分けて３つのグループに分けることができる。
【０００９】
第１のグループは、メッシュモデル上のシャープエッジによって分けられる領域を抽出するものである。このグループでは、ウォータシェッド法（Watershed method）をベースとする取り組みが良く研究されている。非特許文献８，９，１０である。このウェータシェッド法のアルゴリズムは、最初は２次元画像の分割のために提案されたものであり、マンガンその他（Mangan et al.）による非特許文献８ではそれをメッシュ分割に拡張した。このウォータシェッド法のアルゴリズムは、各頂点に対するメッシュ曲率のような特徴量を割り当て、局所的な極小値を発見する。続いて、各局所的な極小値の周りに隣接する頂点群を最急峻降下アルゴリズムを用いてクラスタ分けすれば、シャープエッジは隣接するクラスタ間の境界に現われる。サンその他（Sun et al.）による非特許文献９では、ノイズの多いスキャンメッシュデータに対するローバストな頂点特徴量計算法を用いるアルゴリズムを改善している。ラズダンその他（Razdan et al.）の非特許文献１０では、ソリッドモデルから切り出されるメッシュモデルに対するアルゴリズムを改善している。これらの方法は、メッシュモデルをシャープエッジによって分離される領域に分割することができる。しかしながら、スムーズエッジにより分離される領域群（円筒面にスムーズに接続される平面）を抽出することはできない。また、それゆえに、分割された領域ごとの幾何学面を正しく同定することもできない。
【００１０】
第２のグループは、単純な自由形状面により近似される領域群を抽出するものである。このグループでは、非特許文献３，１１，１２で領域拡大法（Region growing method）による取り組みが研究されている。最初、ベスルその他（Besl et al.）による非特許文献１１において、高さ領域データに対する領域拡大法が提案された。近年、ビエラその他（Vieira et all.）による非特許文献３で、この方法がレーザスキャナによるノイズの多い３次元メッシュモデルに対して拡張されている。このアルゴリズムでは、最初にメッシュ曲率を推定し、メッシュ曲率の符号を用いて領域候補群を作り出す。そして、自由形状曲面に繰り返しフィットし、隣接する頂点群を追加することで最終的な領域群を抽出する。この方法によれば、ノイズの多いメッシュモデルから自由形状曲面領域を抽出し、多種の曲面を分離抽出することができる。しかしながら、この方法は、解析曲面とその幾何変数によって近似される領域群を抽出することは目的としていない。
【００１１】
最後のグループは、単純な解析曲面にて近似される領域群を抽出するものである。ゲルファンドその他（Gelfand et al.）による非特許文献１３は、メッシュ頂点とその法線ベクトルを固有値解析に基づく方法を提案している。しかしながら、この方法は、平面、円筒面そして球面による近似できる領域群のみを抽出する。
【００１２】
ウーその他（Wu et al.）の非特許文献１４は、ロイドのクラスタリングアルゴリズム（Lloyd’s clustering algorithm）に基づく方法を提案している。それによると、上の３曲面に加えて自由形状曲線上を転がる転動球により近似されるフィレット領域群が抽出される。しかしながら、この方法は、ノイズの多いメッシュモデルではどの程度有効なものか不明であり、また分割領域の内部領域を如何に同定するかも不明である。加えて、曲面フィッティングとクラスタリングを繰り返すために処理時間が比較的遅い。
【００１３】
メッシュモデルデータからソリッドモデルを生成することを目的としたメッシュモデルのセグメンテーション法として、ベンコーその他（Benko et al.）による非特許文献４では、工業部品のリバースエンジニアリングのための直接セグメンテーション法が提案されている。その方法では、最初に局所的に平面をフィッティングすることによってシャープエッジの近傍における三角形群を除去してから、入力されたメッシュを領域群に分割する。次に、法線ベクトルや主曲率のような指標に基づき各領域ごとに三角形群と曲面群との幾何的適合性をテストする。こうして、分割領域群を、単純な解析曲面（平面、円筒面、球面、円錐面、トーラス面）、線形押し出し面、回転面により近似される。しかしながら、この方法では、ソリッドモデル生成に適した解析曲面領域、線形押し出し面領域、回転面領域を抽出できるが、領域抽出の精度が低く、簡単な形状にしか適用できないといった問題点があった。
【００１４】
このように、メッシュモデルを設計・製造に有効に利用するために、メッシュモデルからソリッドモデルを自動で生成する手法の開発が望まれている。しかし現状では、この初期段階である測定メッシュモデルから適切に領域抽出するセグメンテーション手法が不十分であり、複雑形状に適用できるものはなく、ユーザによる多くのマニュアル操作を必要としていた。加えて、機械部品は解析曲面で構成される部分が多く、形状変更などの容易性を考えた場合、その形状が解析曲面でパラメトリックに表現されることが望ましいが、それに答える技術はない。
【００１５】
0004568843.tif 000002
0004568843.tif 000003
0004568843.tif 000004
0004568843.tif 000005
0004568843.tif 000006
0004568843.tif 000007
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明は、このような従来の技術的課題に鑑みてなされたものであり、機械部品などの測定メッシュモデルからソリッドモデル上の解析曲面（平面、円筒面、円錐面、球面、トーラス面）に相当する領域とそれらの境界線を抽出し、さらにフィレット面領域、線形押し出し面領域、回転面領域を自動認識する解析曲面セグメンテーション装置、方法、プログラム及び記録媒体を提供することを目的とする。
【００１７】
より具体的には、上記のBenkoその他の方法を拡張し、高精度な曲率算出と曲面フィッティングに基づき高精度に解析曲面領域とその境界線とを抽出する技術を提供することを目的とする。また、抽出した解析曲面領域の隣接関係やそれらの組み合わせから、既存の技術と比べてより幅広いタイプの領域である、フィレット面領域、線形押し出し面領域、回転面領域を認識する解析曲面セグメンテーション装置、方法、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の第１の特徴は、入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるメッシュデータ受付手段と、前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出手段と、前記シャープ頂点ではない頂点の主曲率をもとに、ある１つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成手段と、前記シード領域生成手段が生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティング手段と、前記シード領域生成手段が生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティング手段がフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出手段と、前記解析曲面領域抽出手段が抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識手段と、前記解析曲面領域抽出手段の抽出した解析曲面と前記解析曲面領域認識手段が認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力手段とを備え、前記メッシュ主曲率算出手段は、曲率評価範囲を決定するパラメータの値を所定の第１の値に設定して各頂点の主曲率を算出し、前記各頂点のうちその最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を前記第１の値よりも大きな第２の値に設定し、主曲率を算出する２パス演算を実行し、前記シード領域生成手段は、前記メッシュ主曲率算出手段が算出したシャープ頂点を除いた各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当て、割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出する解析曲面セグメンテーション装置である。
【００１９】
上記解析曲面セグメンテーション装置において、前記メッシュ主曲率算出手段は、曲率評価範囲を決定するパラメータの前記第１の値を各頂点に接続する稜線の平均長さの２倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの前記第２の値を各頂点に接続する稜線の平均長さの５倍に設定し、主曲率を算出するものとすることができる。
【００２１】
また、上記解析曲面セグメンテーション装置において、前記シード領域生成手段は、前記その他の面に属するラベルが割り当て頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てるものとすることができる。
【００２２】
また、上記解析曲面セグメンテーション装置において、前記解析曲面フィッティング手段は、円筒・円錐面については、まず、シード領域内の頂点の法線とガウス球との交点群に平面をフィッティングし、この平面の法線を軸方向として算出し、円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小２乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めるものとすることができる。
【００２３】
さらに、上記解析曲面セグメンテーション装置において、前記解析曲面フィッティング手段は、トーラス面については、まず、コスその他の手法を用いて軸方向ベクトルｄと軸上の任意点の位置ベクトルｐを求め、次に、これらをもとにシード領域内のすべての頂点について、算出された軸の周りに回転させることで算出された軸を含む平面上に投影し、続いて、１つの円を最小２乗法により平面上の点群にフィットし、その円の半径をトーラス面の小半径ｒとして求め、トーラス面の中心点から前記円の中心点に向かうベクトルがトーラス面の軸に直交するという条件によってトーラス面の中心点ｃを計算し、トーラス面の中心点ｃと円の中心点ｃ’との距離をトーラス面の大半径Ｒであるとして計算するものとすることができる。
【００２４】
本発明の別の特徴は、入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、前記シャープ頂点ではない頂点の主曲率をもとに、ある１つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとを有し、前記メッシュ主曲率算出ステップにおいては、曲率評価範囲を決定するパラメータの値を所定の第１の値に設定して各頂点の主曲率を算出し、前記各頂点のうちその最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を前記第１の値よりも大きな第２の値に設定して主曲率を算出し、前記シード領域生成ステップにおいては、前記メッシュ主曲率算出ステップで算出したシャープ頂点を除いた各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当て、割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出する解析曲面セグメンテーション方法である。
【００２５】
上記解析曲面セグメンテーション方法において、前記メッシュ主曲率算出ステップでは、曲率評価範囲を決定するパラメータの前記第１の値を各頂点に接続する稜線の平均長さの２倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの前記第２の値を各頂点に接続する稜線の平均長さの５倍に設定し、主曲率を算出するものとすることができる。
【００２７】
また、上記解析曲面セグメンテーション方法において、前記シード領域生成ステップでは、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てるものとすることができる。
【００２８】
また、上記解析曲面セグメンテーション方法において、前記解析曲面フィッティングステップでは、円筒・円錐面については、まず、シード領域内の頂点の法線とガウス球との交点群に平面をフィッティングし、この平面の法線を軸方向として算出し、円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小２乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めるものとすることができる。
【００２９】
さらに、上記解析曲面セグメンテーション方法において、前記解析曲面フィッティングステップでは、トーラス面については、まず、コスその他の手法を用いて軸方向ベクトルｄと軸上の任意点の位置ベクトルｐを求め、次に、これらをもとにシード領域内のすべての頂点について、算出された軸の周りに回転させることで算出された軸を含む平面上に投影し、続いて、１つの円を最小２乗法により平面上の点群にフィットし、その円の半径をトーラス面の小半径ｒとして求め、トーラス面の中心点から前記円の中心点に向かうベクトルがトーラス面の軸に直交するという条件によってトーラス面の中心点ｃを計算し、トーラス面の中心点ｃと円の中心点ｃ’との距離をトーラス面の大半径Ｒであるとして計算するものとすることができる。
【００３０】
本発明のさらに別の特徴は、入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、前記シャープ頂点ではない頂点の主曲率をもとに、ある１つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとをコンピュータに実行させる解析曲面セグメンテーションプログラムであって、前記メッシュ主曲率算出ステップでは、曲率評価範囲を決定するパラメータの値を所定の第１の値に設定して各頂点の主曲率を算出し、前記各頂点のうちその最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を前記第１の値よりも大きな第２の値に設定して主曲率を算出し、前記シード領域生成ステップでは、前記メッシュ主曲率算出ステップで算出したシャープ頂点を除いた各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当て、割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出する解析曲面セグメンテーションプログラムである。
【００３１】
上記解析曲面セグメンテーションプログラムにおいて、前記メッシュ主曲率算出ステップでは、前記コンピュータに、曲率評価範囲を決定するパラメータの前記第１の値を各頂点に接続する稜線の平均長さの２倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの前記第２の値を各頂点に接続する稜線の平均長さの５倍に設定し、主曲率を算出させるものとすることができる。
【００３３】
また、上記解析曲面セグメンテーションプログラムにおいて、前記シード領域生成ステップでは、前記コンピュータに、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てさせるものとすることができる。
【００３４】
また、上記解析曲面セグメンテーションプログラムにおいて、前記解析曲面フィッティングステップでは、前記コンピュータに、円筒・円錐面については、まず、シード領域内の頂点の法とガウス球との交点群に平面をフィッティングし、この平面の法線を軸方向として算出し、円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小２乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めさせるものとすることができる。
【００３５】
さらに、上記解析曲面セグメンテーションプログラムにおいて、前記解析曲面フィッティングステップでは、前記コンピュータに、トーラス面については、まず、コスその他の手法を用いて軸方向ベクトルｄと軸上の任意点の位置ベクトルｐを求め、次に、これらをもとにシード領域内のすべての頂点について、算出された軸の周りに回転させることで算出された軸を含む平面上に投影し、続いて、１つの円を最小２乗法により平面上の点群にフィットし、その円の半径をトーラス面の小半径ｒとして求め、トーラス面の中心点から前記円の中心点に向かうベクトルがトーラス面の軸に直交するという条件によってトーラス面の中心点ｃを計算し、トーラス面の中心点ｃと円の中心点ｃ’との距離をトーラス面の大半径Ｒであるとして計算させるものとすることができる。
【００３６】
本発明のさらに別の特徴は、入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、前記シャープ頂点ではない頂点の主曲率をもとに、ある１つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとを有し、前記メッシュ主曲率算出ステップでは、曲率評価範囲を決定するパラメータの値を所定の第１の値に設定して各頂点の主曲率を算出し、前記各頂点のうちその最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を前記第１の値よりも大きな第２の値に設定して主曲率を算出し、前記シード領域生成ステップでは、前記メッシュ主曲率算出ステップで算出したシャープ頂点を除いた各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当て、割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出する解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体である。
【００３７】
上記記録媒体に記録された解析曲面セグメンテーションプログラムおいて、前記メッシュ主曲率算出ステップでは、曲率評価範囲を決定するパラメータの第１の値を各頂点に接続する稜線の平均長さの２倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの第２の値を各頂点に接続する稜線の平均長さの５倍に設定し、主曲率を算出するものとすることができる。
【００３９】
また、上記記録媒体に記録された解析曲面セグメンテーションプログラムおいて、前記シード領域生成ステップでは、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てるものとすることができる。
【００４０】
また、上記記録媒体に記録された解析曲面セグメンテーションプログラムおいて、前記解析曲面フィッティングステップでは、円筒・円錐面については、まず、シード領域内の頂点の法線とガウス球との交点群に平面をフィッティングし、この平面の法線を軸方向として算出し、円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小２乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めるものとすることができる。
【００４１】
さらに、上記記録媒体に記録された解析曲面セグメンテーションプログラムおいて、前記解析曲面フィッティングステップでは、トーラス面については、まず、コスその他の手法を用いて軸方向ベクトルｄと軸上の任意点の位置ベクトルｐを求め、次に、これらをもとにシード領域内のすべての頂点について、算出された軸の周りに回転させることで算出された軸を含む平面上に投影し、続いて、１つの円を最小２乗法により平面上の点群にフィットし、その円の半径をトーラス面の小半径ｒとして求め、トーラス面の中心点から前記円の中心点に向かうベクトルがトーラス面の軸に直交するという条件によってトーラス面の中心点ｃを計算し、トーラス面の中心点ｃと円の中心点ｃ’との距離をトーラス面の大半径Ｒであるとして計算するものとすることができる。
【発明の効果】
【００４２】
本発明の解析曲面セグメンテーション装置、方法、プログラム及び記録媒体では、メッシュモデルデータを入力し、入力したメッシュモデルデータからメッシュモデルの各頂点の主曲率、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外し、当該シャープ頂点でない頂点に対して、主曲率を算出し、算出した主曲率をもとに、ある１つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成し、生成したシード領域内の頂点に、各解析曲面を定義する幾何パラメータを決定する解析曲面フィッティングを行い、また生成したシード領域に隣接する頂点のうち、解析曲面フィッティングしたフィッティング曲面との位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加し、シード領域を拡大することで解析曲面領域を抽出し、こうして抽出した複数の曲面領域の境界線を抽出し、また抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する。これにより、本発明によれば、機械部品などの測定メッシュモデルデータを入力し、このメッシュモデルからソリッドモデル上の解析曲面（平面、円筒面、円錐面、球面、トーラス面）に相当する領域とそれらの境界線を抽出し、さらにフィレット面領域、線形押し出し面領域、回転面領域を自動認識して出力することができる。
【発明を実施するための最良の形態】
【００４３】
以下、本発明の実施の形態を図に基づいて詳説する。
【００４４】
図１は、本発明の１つの実施の形態の解析曲面セグメンテーション装置１００の機能構成を示している。本実施の形態の解析曲面セグメンテーション装置１００は、各処理部をハードウェアとして備えたものとして、あるいはコンピュータシステムにメッシュモデル・ソリッドモデル変換プログラムを組み込み、実行させることによってコンピュータシステムとして構成することもできる。本実施の形態では、後者のものとして説明する。
【００４５】
本実施の形態の解析曲面セグメンテーション装置１００は、例えばネットワークを通じてのデータ信号の入力／出力、キーボード２１、マウス２２からの信号の入力、ディスプレイ２３に対するビデオ信号の出力、プリンタ等の周辺機器に対するデータ信号の入力／出力等、データ及び信号の入力／出力を制御する入出力制御部１、入出力制御部１を通じて入力されたメッシュモデルデータ、また当該メッシュモデルデータから変換したソリッドモデルデータ、プログラムデータ、その他、諸々のデータを記憶するデータ記憶部２を備えている。このデータ記憶部２は、例えばハードディスク、ＤＶＤ、ＣＤ−ＲＯＭディスク等、外部大容量記憶装置あるいは内蔵の大容量記憶装置、フラッシュメモリ、システムメモリ等のデータを恒久的に保存する手段、一時的に保存する手段の両方を総称している。
【００４６】
また、解析曲面セグメンテーション装置１００は、メッシュモデルからシャープ頂点を考慮したメッシュ主曲率を算出するメッシュ主曲率算出部３、このメッシュ主曲率算出部３にて算出した主曲率をもとに、シード領域を生成するシード領域生成部４、このシード領域生成部４にて生成したシード領域内の頂点に解析曲面をフィッティングし、さらにシード領域に隣接する頂点のうち、フィッティングされた解析曲面と等質の頂点を当該シード領域に追加し、領域を拡大する領域拡大法（Region growing法）により解析曲面領域を抽出する解析曲面領域抽出部５、この解析曲面領域抽出部５にて抽出した領域間の隣接関係を構築するために、各領域間の境界線を特徴稜線として抽出する特徴稜線抽出部６を備えている。
【００４７】
さらに、解析曲面セグメンテーション装置１００は、解析曲面領域抽出部５にて抽出した複数の連結した解析曲面領域の隣接関係やそれらの組み合わせから、フィレット面領域、線形押し出し面領域、回転面領域を認識する曲面領域種別認識部７、そして、上記各処理部の動作を制御する制御演算処理部９を備えている。
【００４８】
次に、上記構成の解析曲面セグメンテーション装置１００により実行される、例えば、３次元Ｘ線ＣＴスキャナにより取得した三角形メッシュモデルデータで構成される測定メッシュモデルからソリッドモデル上で１つの解析曲面（平面、円筒面、円錐面、球面、トーラス面）に相当する領域とそれらの境界線を特徴稜線として抽出し、さらにフィレット面領域、線形押し出し面領域、回転面領域を自動認識するメッシュモデル・ソリッドモデル変換方法について説明する。
【００４９】
このメッシュモデル・ソリッドモデル変換方法は、図２に示す３つのステップから成る。すなわち、メッシュ主曲率算出ステップＳＴＥＰ１、解析曲面領域抽出ステップＳＴＥＰ２、そしてフィレット面・線形押し出し面・回転面の抽出ステップＳＴＥＰ３から成る。
【００５０】
メッシュ主曲率算出ステップＳＴＥＰ１では、メッシュ主曲率算出部３において、シード領域三角メッシュモデルデータを入力し、非特許文献５のラズダンの手法をベースにしたシャープエッジを考慮した手法を用いてメッシュ主曲率を算出する。アルゴリズムは２パスの曲率算出を持つ。第１パスでは、曲率に基づいてメッシュ上のシャープエッジを見つけ出し、第２パスでは、シャープエッジを含まない領域のために再計算してメッシュ曲率を算出する。この手法により、メッシュに含まれる測定ノイズの影響を受けにくく、また、本来算出精度が低くなりやすいシャープエッジ付近の頂点のメッシュ主曲率をも高精度に算出できる。後のＡ節においてさらに詳説する。
【００５１】
曲面領域抽出ステップＳＴＥＰ２では、シード領域生成部４と解析曲面領域抽出部５において、ＳＴＥＰ１で算出した主曲率をもとに、ビエイラその他の非特許文献３による領域拡大アルゴリズムを拡張したアルゴリズムを用いて、解析曲面でフィッティング可能な領域を抽出する。最初に、ＳＴＥＰ１で得たメッシュ主曲率を用いて解析曲面抽出のための大きなシード領域群を作り出す。続いて、各シード領域に解析曲面をフィッティングし、幾何的に類似した性質のシード領域に位相的に接続されている頂点群をリード領域に加える。このフィッティングと追加の処理においては、フィッティング曲面の再計算は必要とされない。結果として、解析曲面によって近似された領域が抽出される。この拡張された領域拡大法は、曲面境界を高精度に抽出できる。後のＢ節、Ｃ節においてさらに詳説する。
【００５２】
フィレット面・線形押し出し面・回転面の抽出ステップＳＴＥＰ３では、曲面領域種別認識部７において、ＳＴＥＰ２で抽出した解析曲面領域の隣接関係やそれらの組み合わせから、非特許文献４，１３，１４に記載されている既存の手法と比べより幅広いクラスの曲面であるフィレット面、線形押し出し面、回転面を抽出する。後のＤ節においてさらに詳説する。
【００５３】
ここでは、説明の単純化のため図４Ａに示すように８００００個の三角形のメッシュモデルを例にして、平面群、円筒面群、球面群、円錐面群、トーラス面群から成る三角形メッシュモデルを取り扱う。このモデルは、ソリッドモデルのＦＥＭメッシュ切りによって生成されている。シャープエッジ群と頂点群はソリッドモデル上に小半径のフィレット面を生成することで丸くできる。そこで、このモデル上に人工的なノイズをガウス分布する乱数値を用いて、頂点位置を法線方向に移動させて乗せる。このモデルは４つの平面、５つの円筒面、１つの球面、１つの円錐面、１つのトーラス面、２つのフィレット面、１つの線形押し出し面、そして１つの回転面を持っている。
【００５４】
Ａ：シャープエッジを考慮したメッシュ主曲率算出処理。
【００５５】
ラズダンの方法を拡張した方法に基づきメッシュ上のシャープエッジ群を認識する主曲率算出方法と、曲率の正確さを保証する２パス算出法を採用する。
【００５６】
Ａ１）非特許文献５によるラズダンのメッシュ曲率算出。
【００５７】
ノイズの多いメッシュモデル上のメッシュ曲率を算出するために、ラズダンは最初に、(u,v)のメッシュ頂点とその２リング内に存在する頂点群に対して（１）式で表わされる双２次ベジェ曲面をフィッティングし、フィッティングされた曲面から頂点におけるメッシュ曲率を算出する。
【数１】
0004568843.tif 000008
【００５８】
ここで、bijは双２次ベジェ曲面の制御点、x(u,v)はその曲面上の点、Bi2(u)，Bj2(v)は２次バーンスタイン関数である。
【００５９】
データ中のスキャニングノイズに起因するフィットされた曲面の望ましくない歪みを避けるために、平滑化のための制約（smoothing constraint）がかけられる。これは、９個の制御点によって規定される４つの四辺形それぞれが可能な限り平行四辺形に近くなるようにするものである。ラズダンの方法では、この制約を最小２乗フィッティング問題に追加し、平滑化変数αを０〜１の間で特定することで平滑化効果を調整していた。
【００６０】
Ａ２）提案されているメッシュ曲率算出と頂点法線ベクトルの計算方法。
【００６１】
上で述べたラズダンの方法は改良された。その改良された方法では、各頂点と（２）式を満たす隣接頂点群の組に対して双２次ベジェ曲面フィッティングを行い、フィッティングされた曲面からvjに対して主曲率ki,max，ki,minを算出する。
【数２】
0004568843.tif 000009
【００６２】
ここで、li,avgは頂点viを含む平均エッジ長さであり、Wは曲面フィットのサイズを特定する変数である。
【００６３】
非特許文献５では、平滑化パラメータαはα＝０．７にするとノイズの多いメッシュモデルに対して良い結果が得られるとしている。しかし、実験結果としては、α＝０．９とした方が特にシャープエッジの周りでより良い結果が得られる。これは、ベジェ曲面にフィッティングするための提案された方法による方が、ラズダンの方法によるよりもたくさんの数の近傍頂点群が使用されるので、ベジェ曲面自体の局所最小２乗フィッティングの方がより平滑化効果を示す。それ故、本実施の形態では、α＝０．９をすべてのメッシュモデルに対して用いている。
【００６４】
viの頂点法線ベクトルは、次の（３）式にて計算される。
【数３】
0004568843.tif 000010
【００６５】
ここで、F*(i)は頂点viに含まれている三角形の組、afは１つの三角形ｆの面積である。この法線ベクトルは、後述するＣ２節で述べる領域拡大ステップでも用いられる。
【００６６】
ノイズの多いスキャンメッシュ上で主曲率を算出するために、パラメータWは大きい方がよい。しかしながら、これを大きくすると、シャープエッジ付近での曲率算出がお粗末になる。この問題を解決するために、２パス曲率算出法が好ましい。第１パスでは、メッシュの表面上で比較的大きな曲面をフィッティングすることで主曲率を算定する。そのために、パラメータW＝２とする。頂点viの最大曲率ki,maxが（４）式を満たすなら、その頂点はシャープ頂点であると分類する。
【数４】
0004568843.tif 000011
【００６７】
ビエラその他の非特許文献３で述べられているように、thse＝１０．０に設定すると、測定メッシュモデルに対して良い結果が得られる。
【００６８】
第２パスでは、非シャープ頂点群に対してパラメータW＝５にして主曲率群を再計算する。このステップでは、図３に示すようにベジェ曲面フィッティングにはシャープ頂点群は含まれていない。この結果、図４Ａ〜図４Ｄに示すように、シャープエッジの近くに存在する頂点の主曲率について精度が良くなる。
【００６９】
本実施の形態の方法では、後のＣ１節の解析曲面フィッティングで利用するためにフィッティングしたベジェ曲面からメッシュの各頂点viの法線ベクトルni’も算出する。この法線ベクトルは、（３）式にて隣接三角形を利用して求めた法線ベクトルniよりも近似精度が高い。
【００７０】
Ａ３）メッシュ主曲率算出法の比較。
【００７１】
本実施の形態のメッシュ主曲率算出法とラズダンその他による算出法とによるメッシュ主曲率算出結果を比較した。比較には以下の３つの方法を用いた。実験結果は図５に示してある。
【００７２】
i）ラズダンその他による方法（α＝０．７）
ii）本実施の形態の方法（シャープ頂点の認識なし：W＝５，α＝０．９）
iii）本実施の形態の方法（シャープ頂点の認識あり：W＝２，α＝０．９；W＝５，α＝０．９）
比較には、図５のモデルに、平均メッシュ稜線長に５％の標準偏差のガウス乱数を用いて人為的にノイズを加えたモデルを用いた。図５（Ａ）では、理論的には一定であるべき円筒面上でも曲率が変化している。これは、（i）の方法では、ノイズの多いメッシュモデルに対して精度の高い主曲率を算出することができないことを示している。図５（Ｂ）では、円筒面上で主曲率がほとんど一定であるように見える。しかし、円筒面と平面とが交わるシャープエッジの近くでは大きく変化している。このことは、（ii）の方法はシャープエッジの近くで算出される主曲率が誤算されることを示している。図５（Ｃ）では、円筒面上で、さらにはシャープエッジの近くでも主曲率がほとんど一定である。このことは、シャープエッジを含むノイズの多いメッシュモデルに対しても主曲率を精度良く計算できることを示している。
【００７３】
Ａ４）主曲率のフィルタリング。
【００７４】
本実施の形態のメッシュ曲率算出法では、既存の算出法に比べて測定ノイズを多く含むメッシュモデルから高精度に主曲率を算出することができるが、測定誤差に起因する主曲率の算出誤差を避けられない。そこで、このような主曲率算出誤差を緩和するために、非特許文献３でビエラその他が提案しているフィルタリング法にて算出された主曲率を平滑化する。
【００７５】
まず、（５）式に示す中央値フィルタリングを非シャープ頂点に適用して、非正規主曲率と同様に非正規の主曲率に対する頂点のために非シャープ頂点を算出する。下記のようなシャープ頂点を含まないある頂点viの１リング近接領域N*(i)に対して適用する。
【数５】
0004568843.tif 000012
【００７６】
次に、（６）式で平均フィルタリングを、主曲率を平滑化するための非シャープの頂点に対して３回適用される。これはシャープ頂点を含まない、１リング近接領域のN*(i)に対して適用する。
【数６】
0004568843.tif 000013
【００７７】
Ｂ：シード領域生成。
【００７８】
次に、算出された主曲率群を分類することでメッシュの表面上にシード領域を生成する。ここでは、シード領域とは、ある解析曲面上に存在すると見なせる位相接続された頂点群の組を意味する。
【００７９】
Ｂ１）頂点群に対する初期ラベル割り当て。
【００８０】
図６に示すように、このシード領域生成はステップＳＴＡ１〜ＳＴＡ４から成る。
【００８１】
［ＳＴＡ１：平面、円筒・円錐面、球面のラベルの割り当て処理］
算出した各頂点の主曲率を比較し、その頂点viがトーラスを除く解析曲面のうちのどれに属するかを推定するラベルを割り当てる。本実施の形態では、平面：ラベル１、円筒・円錐面：ラベル２、球面：ラベル３、その他の面：ラベル０を割り当てる。ここでは、（７）式に示すように、３つのパラメータを用いる。これらは、ε1＝ε2＝ε3＝０．０１に設定するとほとんどのメッシュモデルで良い結果が得られるが、複雑な形状のモデルに対しては、その形状やメッシュの解像度に応じて適切に設定する。
【数７】
0004568843.tif 000014
【００８２】
［ＳＴＡ２：円筒面と円錐面との分類及び滑らかに接続する円筒面の分類処理］
上のステップＳＴＡ１の処理だけでは、円筒面と円錐面上の頂点には同じラベル２が割り当てられる。また複数の円筒面が滑らかに接続している場合、本来それぞれの円筒面に対して１つずつシード領域を生成したいはずが、曲面境界付近の頂点も同じラベル２を持ち、それらの複数の円筒面に対して１つのシード領域が生成されてしまう。
【００８３】
そこで、（８）式で表わされる各頂点viとｎ個の２近傍頂点N**(i)との最大主曲率kmaxの類似度f(vi)を算出する。
【数８】
0004568843.tif 000015
【００８４】
このf(vi)値が閾値thcyl_coneより大きな頂点には円錐ラベル４、小さな頂点には円筒ラベル２を割り当てる。この閾値thcyl_coneは０．０５−０．３に設定すると良い結果が得られることが実験により分かっている。このf(vi)は円筒や円錐の大きさに依存せず、０．０−１．０の値を持つので、より直感的なパラメータ設定が可能である。この処理により、円筒面と円錐面をそれぞれに分類することができ、また滑らかに接続する複数の円筒面に対して１つずつシード領域を生成することができる。尚、この処理の際に円筒面の境界付近の頂点では不適切に円錐ラベル４を持つ頂点が生成されやすいが、これらの頂点からできるシード領域は、後の解析曲面領域抽出の際に隣接するいずれかの領域に統合され、結果として円錐領域は抽出されない。
【００８５】
［ＳＴＡ３：トーラス面のラベルの割り当て処理］
これまでのステップＳＴＡ１，２でトーラス面を除く４種類の曲面に対しては頂点ラベルを割り当てた。形状を構成する曲面がすべて解析曲面で構成されていると仮定すると、残りの大部分はトーラス面であると考えられる。そこで、ラベル０を持つ頂点最大・最小主曲率を比較して、トーラス面上にあると推定される頂点群を分類する。
【００８６】
トーラス面は、ある半径を持つ球を、ある軸周りに回転させた軌跡となる曲面である。そのため１つの主曲率が、球の半径に対応する一定の主曲率を持つ。この性質を利用して、図７に示す、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある一定範囲の主曲率値を持つ頂点数が閾値thtorusより大きければ、それらの頂点群にトーラスラベル５を割り当てる。ここでは、横軸の間隔は０．０１に設定し、閾値thtorusはメッシュの頂点数の０．１−０．５％に設定すると良い結果が得られる。
【００８７】
［ＳＴＡ４：シード領域の生成］
最後に、ステップＳＴＡ１〜ＳＴＡ３の処理で割り当てた各頂点のラベルを参照し、同じラベルを持つある閾値以上の頂点数から成る連結頂点集合をシード領域として抽出する。
【表１】
0004568843.tif 000016
【００８８】
この閾値thseedは、表１に示すように、次に述べる最小２乗法を用いた解析曲面フィッティングを行うために、シード領域の曲面種類に応じて必要最小限の値に設定する。このシード領域生成結果を図８に示してある。図８において、Ｒｐｌは平面のシード、Ｒｃｙｌは円筒面のシード、Ｒｃｒｎは円錐面のシード、Ｒｓｐｈは球面のシード、Ｒｔｒｓはトーラス面を示している。
【００８９】
Ｃ：解析曲面領域抽出処理。
【００９０】
次に、解析曲面領域の抽出処理について説明する。この解析曲面領域の抽出処理は、図９のフローチャートに示すように、シード領域への解析曲面フィッティングのステップＳＴＢ１と、シード領域への領域拡大法による近傍頂点追加処理のステップＳＴＢ２と、領域の境界線抽出のステップの３ステップで成る。
【００９１】
［ＳＴＢ１：シード領域への解析曲面フィッティング］
生成したシード領域内の頂点に解析曲面をフィッティングする。ここでいう曲面フィッティングとは、図１０〜図１４に示す各曲面を定義する幾何パラメータを決定することである。
【００９２】
物理モデルの測定データへの解析曲面フィッティングに関する技術は、リバースエンジニアリングの分野で非特許文献１６〜１８のように盛んに行われている。マーシャルその他(Marshall et al.)による非特許文献１８は、より高精度にフィッティングするために、球面、円筒面、円錐面、トーラス面に対して非線形最小２乗法を用いた方法を提案している。この方法では、高精度なフィッティングが可能であるが、非線形最小２乗法を解くための反復時間がかかる問題点がある。
【００９３】
本実施の形態の方法では、これらの曲面に対してメッシュから近似した頂点の法線ベクトルn’iを利用し、簡単な線形最小２乗法を解くことで曲面フィッティングを行う。本実施の形態の方法によれば、マーシャルその他の方法よりも精度では劣るものの高速処理が可能であり、解析曲面領域抽出には十分な結果が得られる。
【００９４】
［平面のフィッティング］
図１０に示すように、平面Ｒｐｌは、その単位法線ベクトルn＝(nx,ny,nz)と原点からの距離dで定義される。本実施の形態の方法では、シード領域内のｎ個の頂点viの法線ベクトルn’iの平均値を算出し、これを正規化したものを単位法線ベクトルnとして算出する。原点oからの距離dは（９）式を用いて算出する。
【数９】
0004568843.tif 000017
【００９５】
［円筒面のフィッティング］
図１１に示すように、円筒面Ｒｃｙｌは、単位軸方向ベクトルd＝(dx,dy,dz)、半径r、軸上の任意点p＝(px,py,pz)で定義される。円筒フィッティングは、４つのステップから成る。
【００９６】
図１５に示すように、まず、シード領域内の頂点の法線ベクトルn’iを、原点を中心に持ち、半径１のガウス球にマッピングする。次に、法線ベクトルn’iとガウス球との交点に、（１０）式で表わされる平面を最小２乗法を用いてフィッティングし、この平面の法線ベクトルnを円筒面の軸方向ベクトルdとして算出する。
【数１０】
0004568843.tif 000018
【００９７】
そして図１６に示すように、シード領域内の頂点を軸方向ベクトルdを法線ベクトルに持ち原点を通る平面に投影し、投影面上での各頂点のパラメータ(si,ti)を求める。最後に図１７に示すように、各頂点のパラメータ(si,ti)に対して、投影面上で（１１）式で表わされる円弧を最小２乗法を用いてフィッティングし、半径rと円弧の中心点のパラメータ(sc,tc)を求める。また、パラメータ(sc,tc)から３次元での軸上の任意点pを求める。
【数１１】
0004568843.tif 000019
【００９８】
［球面のフィッティング］
図１２に示すように、球面Ｒｓｐｈは、中心点c＝(cx,cy,cz)と半径ｒで定義される。そこで、（１２）式を最小２乗法を用いて解き、係数(A,B,C,D)から中心点cと半径rを算出する。
【数１２】
0004568843.tif 000020
【００９９】
［円錐面のフィッティング］
図１３に示すように、円錐面Ｒｃｒｎについては、単位軸方向ベクトルd＝(dx,dy,dz)、頂点a＝(ax,ay,az)、頂角θで定義される。この円錐面のフィッティングは３つのステップから成る。最初には、軸方向ベクトルdを円筒と同様の、頂点法線のガウス球マッピングに基づいた方法で求める。次に、円錐の頂点aとメッシュの各頂点viとを結ぶベクトルがメッシュの各頂点の法線n’iと直交するという条件から、頂点aを（１３）式を最小２乗法を用いて解くことで算出する。
【数１３】
0004568843.tif 000021
【０１００】
ただし、(xi,yi,zi)はｎ個のシード頂点viの座標値である。
【０１０１】
次に、単位軸方向ベクトルdとメッシュ頂点の法線n’iのなす角度の平均値から（１４）式を用いて頂角θを求める。
【数１４】
0004568843.tif 000022
【０１０２】
［トーラス面のフィッティング］
図１４に示すように、トーラス面Ｒｔｒｓについては、半径rの球をある軸周りに回転させた軌跡となる曲面である。このトーラス面は、単位軸方向ベクトルd＝(dx,dy,dz)、中心点c＝(cx,cy,cz)、小半径r、大半径Rで定義される。
【０１０３】
このトーラス面のフィッティングは、次の２つのステップから成る。まず非特許文献１６に記載されているコスその他（Kos et al.）の手法と同じ方法を用いてこれらのパラメータを求める。コスその他の方法によれば、最初に、固有値解析により軸方向と軸上の任意の点を求め、次に、それらを出発値として繰返し計算によって正確な解を得る。トーラス面のフィッティングのために、コスその他の方法により、最初に軸方向ベクトルdと軸上の任意の点pを計算する。続いて、c，r，Rをこれらの軸方向ベクトルdと軸上の任意の点pを用いて計算する。
【０１０４】
１）軸方向ベクトルと軸上の任意点算出。
【０１０５】
まず、単位ベクトルdと位置ベクトルpに直交するベクトルをp0＝d x pと定義する（ｘは外積）。次に、dと各頂点の法線ベクトルn’iとのなす角度をφi、頂点viを通り、法線ベクトルn’iの方向を持つ直線vi＋tn’iと単位軸ベクトルdのなす距離をδiとする。
【０１０６】
コスその他の方法では、dとpを計算するために、本来であればΣδi2を最小にするベクトルd，pを求めればよい。ところが、これを解くのは難しいので、
【０１０７】
を最小にすることに置き換える。ただし、（１５）式
【０１０８】
は、p0とdの線形関数である。
【数１７】
0004568843.tif 000023
【０１０９】
は、|d|＝１、p0 ・ d＝０（・は内積）の制約のもとで、p0とdに関して簡単な二次関数の形式に書ける。ここで、p0 ・ d＝０（つまり、p0とdの内積が０）の制約を加えないようにすることで、この評価関数の最小化問題を固有値問題に変え、pとdがその結果として得られる。
【０１１０】
２）平面投影を用いた中心点c、大半径R、小半径rの算出。
【０１１１】
次に、シード領域内のすべての頂点について、算出された軸の周りに回転させることで算出された軸を含む平面上に投影し、続いて、１つの円を最小２乗法により平面上の点群にフィットする。半径rはその円の半径として計算される。中心点cは、トーラスの中心cから円の中心に向かうベクトルがトーラス面の軸に直交するという条件によって計算する。大半径Rについては、トーラス面の中心と円の中心との距離であるとして計算する。
【０１１２】
［ＳＴＢ２：シード領域への近傍頂点追加による解析曲面領域の抽出］
以上で、各シード領域に対してその曲面種類の解析曲面をフィッティングし、それら決定する幾何パラメータを算出した。ここでは、これらを利用して解析曲面領域を抽出する。
【０１１３】
シード領域を適切に近似する曲面は、シード領域の近傍の頂点も含めた領域を適切に近似するはずである。そこで、シード領域に隣接する頂点のうち、（１６）式を満たすフィッティングした解析曲面との位置の誤差ei,pos、法線方向の誤差ei,normが（１７）式を満たす頂点viを領域に追加し領域拡大する。
【数１８】
0004568843.tif 000024
【０１１４】
ここで、lavgはメッシュの全稜線の平均長である。閾値は、thpos＝０．５、thnorm＝８．０のように設定することで良い結果が得られる。
【０１１５】
このシード領域への近傍頂点の追加は、シード領域内の頂点数が大きな領域から順に行う。これは、頂点数の大きい方が曲面のフィッティング精度も高いため、領域の抽出精度も高く、より大きな領域が抽出されやすいからである。シード領域に追加された近傍頂点には、シード領域の頂点と同じ領域ラベルを割り当てる。この頂点追加は、領域に隣接するすべての頂点の誤差が閾値より大きくなれば終了する。領域は特定の解析曲面によって近似される位相的に連続した頂点群の組として抽出される。
【０１１６】
図１８Ａ〜図１８Ｄは領域拡大の過程を示している。図１８Ａは初期シード領域を示し、図１８Ｂはシード領域１が拡大し、２つの円錐面のシード頂点が平面領域に追加され、２つのシード頂点が残された状態を示している。図１８Ｃは、閾値よりも小さい数の頂点数の円錐面のシード領域が削除された状態を示し、図１８Ｄは、２つの解析曲面が抽出された状態を示している。
【０１１７】
これら図１８Ａ〜図１８Ｄに示したように、１つのシード領域からスタートした領域拡大は、当初は他のシード領域に属していた頂点を取り込む。この場合、隣接する頂点は当初のシード領域から削除される。この場合、追加されずに残ったシード領域内の頂点数が閾値thseedよりも大きければシード領域として保存し、小さければ除去する。図１９には、以上の解析曲面領域の抽出の結果が示してある。
【０１１８】
［ＳＴＢ３：領域の境界線抽出］
抽出した領域間の隣接関係を構築するため、各領域間の境界線を抽出する。これまでの処理では、特にシャープエッジ付近において、いずれの領域にも属していない頂点が存在しやすい。そこで、これらの頂点をいずれかの領域に統合するため、まず、先のステップで設定した頂点追加の閾値（thpos ，thnorm）を、（１．０，１６．０）、（１．５，２４．０）、（２．０，３２．０）、…のように段階的に大きくし、段階毎に領域拡大を行い、すべての頂点をいずれかの領域に統合する。
【０１１９】
領域の境界線を抽出するには、頂点単位ではなく、三角形単位での領域分けが必要なる。そのため、まず、３つの頂点領域ラベルが一致する三角形にはその頂点領域ラベルを割り当てる。３つのラベルが一致しない三角形は、その各頂点が属する領域と三角形の法線方向の誤差を比較し、その誤差が最も小さい領域の頂点領域ラベルを割り当てる。最後に、各稜線に隣接する２つの三角形が異なる領域ラベルを持てば、その稜線を領域境界線として抽出する。領域境界線を抽出した結果を図２０Ａ、図２０Ｂに示す。図２０Ａは解析曲面領域を抽出した状態、図２０Ｂはそれから領域境界線を抽出した状態を示している。
【０１２０】
Ｄ：フィレット面、線形押し出し面領域、回転面領域の認識。
【０１２１】
ソリッドモデル生成へのより効率的な利用のため、機械部品に多く含まれているフィレット面、線形押し出し面、回転面に相当する領域を抽出する。本実施の形態の方法では、上で述べた平面、円筒面、円錐面、トーラス面の抽出手法と同様に、抽出した複数の連結した解析曲面領域の隣接関係やそれらの組み合わせから、フィレット面領域、線形押し出し面領域、回転面領域を認識する。
【０１２２】
Ｄ１）フィレット面領域の認識。
【０１２３】
フィレット面とは、製品製造の際に製品の局所部分に過度な荷重が加わるのを避けるため、シャープエッジやコーナーを丸めて生成される曲面である。フィレット面は、他の曲面とは性質の異なる従属面であるため、ソリッドモデル生成のためには、メッシュ上で認識しておくことが望ましい。
【０１２４】
形状を構成する曲面がすべて解析曲面で構成されると仮定すると、フィレット面もまた解析曲面となり、それらはメンクその他（Menq et al.）の非特許文献１６による３種類―円筒面、球面、そしてトーラス面―に分類される。これらのフィレット面は、隣接する曲面とそれらの曲面の幾何パラメータから図２１、そして図２２〜図２５に示すように定義する。
【０１２５】
抽出されたトーラス面領域、球面領域、円筒面領域の内、隣接する曲面との間の領域で幾何条件により、２曲面間にある図２２に示すトーラス型フィレット面領域ＦＬＴ１、２曲面間にある図２３に示すトーラス型フィレット面領域ＦＬＴ２、２曲面間にある図２４に示す円筒型フィレット面領域ＦＬＴ３、そして３曲面間にある図２５に示す球・トーラス型フィレット面領域ＦＬＴ４，ＦＬＴ４‘が認識される。
【０１２６】
図２２のトーラス型タイプＩのフィレット面ＦＬＴ１は、隣接条件として球面と平面とが隣接すること、幾何条件として（１）平面の法線ベクトルnpとトーラスの軸ベクトルdtとが平行であり、かつ、（２）球の中心psがトーラスの軸上に存在することである。
【０１２７】
また図２３のトーラス型タイプIIのフィレット面ＦＬＴ２は、隣接条件として円筒面と平面とが隣接すること、幾何条件として平面の法線ベクトルnp、トーラスの軸ベクトルdt、円筒面の軸ベクトルdcが平行であることである。すなわち、
【数１９】
0004568843.tif 000025
【０１２８】
である。
【０１２９】
また、図２４の２曲面間にある円筒型フィレット面ＦＬＴ３は、隣接条件として２つの平面が隣接すること、幾何条件として（１）円筒面の軸ベクトルdcと平面の法線ベクトルnp1，np2が互いに直交し、かつ、（２）円筒面の開き角θが０°＜θ＜１８０°を満たすことである。
【０１３０】
すなわち、
【数２０】
0004568843.tif 000026
【０１３１】
である。
【０１３２】
さらに、図２５の３曲面間にある円筒型フィレット面ＦＬＴ４（凸型）、ＦＬＴ４’（凹型）は、隣接条件として３つの円筒型フィレット面が隣接すること、幾何条件として（１）球型の場合にはすべての円筒面がすべて凸面若しくは凹面であり、かつ、（２）トーラス型の場合には凹面と凸面が混在することである。
【０１３３】
上記定義以外にも多種の組み合わせがあるが、本実施の形態の方法ではこれら３タイプしか認識しない。これらのフィレット面は製品部品にしばしば見られるものであるためである。他の形状のフィレット面についても容易に定義することはできる。図２６Ａ、図２６Ｂ、また図２７Ａ〜図２７Ｃは本実施の形態によるフィレット面の認識例を示している。尚、図２７Ａはメッシュモデルを示し、図２７Ｂは解析曲面の認識結果を示し、
図２７Ｃは解析曲面間のフィレット面の認識結果を示している。
【０１３４】
Ｄ２）線形押し出し面領域の認識。
【０１３５】
線形押し出し面領域は、図２８に示すように、平面上で定義される２次元曲線Ｃ１をその法線n方向に押し出すことによって生成される曲面Ａ１であり、複数の平面領域と円筒面領域の組み合わせで構成される。これらの領域が満たすべき条件は、１）平面の法線と円筒の軸とが垂直であり、２）３つ以上の平面の法線が同一平面上にあり、３）２つ以上の円筒の軸方向が一致していることである。
【０１３６】
これらの条件を満たす組み合わせを、線形押し出し面領域として抽出する。図３０には線形押し出し面領域の認識結果Ａ１が後述する回転面領域の認識結果Ａ２と共に示してある。
【０１３７】
Ｄ３）回転面領域の認識。
【０１３８】
回転面領域は、図２９に示すように、平面上で定義される２次元閉曲線Ｃ２をある軸周りに回転させた軌跡となる曲面Ａ２である。回転面は、複数の平面、円筒面、球面、円錐面、トーラス面の組み合わせで構成される。これらが満たすべき条件は、１）それぞれの法線や軸方向が一致しており、２）球とトーラスの中心点、円錐の頂点がある直線上に分布していることである。これらの条件を満たす組み合わせを、回転面領域として抽出する。図３０には回転面領域の認識結果Ａ２も示してある。
【実施例】
【０１３９】
図３１（ａ）、（ｂ）は、これまで本発明で採用するアルゴリズムの説明に用いたメッシュモデルとそれに対する領域抽出結果を対比して示してある。図３１（ａ）の入力メッシュモデルと図３１（ｂ）の領域抽出結果とを比較すれば、ノイズの多いメッシュモデルに対して本発明の方法は十分に良く作用し、適切な領域群の抽出ができるが確認できる。このモデルには４つの平面、４つの円筒面、１つの球面、１つの円錐面、１つのトーラス面が含まれるが、本発明の方法を適用することで、これらのすべての曲面が抽出できている。これらの各シード領域に対してフィッティングした解析曲面の幾何パラメータを、ソリッド上で定義したパラメータと比較した結果を表２に示してある。メッシュモデルの平均エッジ長は１．８ｍｍであった。この実施例により、比較的大きなシード領域に対しては高精度に曲面フィッティングできていることが分かり、領域抽出が適切に行われていることが保証できる。
【表２】
0004568843.tif 000027
【０１４０】
図３２Ａ〜図３２Ｆにはメッシュモデルに本発明の方法を適用した実験結果を示している。この実施例では、図３２Ａに示した３Ｄ−ＣＡＤで作ったメッシュモデルをＦＥＭメッシャにてメッシュ分割した図３２Ｂに示す三角形数約３０，０００のメッシュモデルを用いた。このメッシュモデルには、メッシュの平均稜線長さの３％の値を標準偏差に持つガウス乱数を用いて人為的にノイズを加えている。このモデルには、５１個の平面と４０個の円筒面が含まれている。これに対して本発明の方法を適用することで、４９個の平面と２３個の円筒面が適切に抽出できた。つまり、本発明の方法によれば、比較的に大きな領域は抽出できたが、２つの薄い平面と１２の小径の穴形円筒面が抽出できなかった。円筒面のほとんどは、微小フィレットや径の小さな穴に相当する曲面であった。抽出できた平面や円筒面の内、そのシード領域内の頂点数が１００個以上の曲面では、その法線ベクトルや軸方向ベクトルの算出誤差はいずれも１［ｄｅｇ］未満であった。最大フィッティング誤差は、２７頂点を持つ平面シード領域の法線方向に対して８．８［ｄｅｇ］であり、８５頂点を持つ円筒面シード領域の軸方向に対して３．０［ｄｅｇ］であった。１００個以下の曲面では、平面では最大で６．５［ｄｅｇ］、円筒面では最大で１１．５［ｄｅｇ］の誤差が見られた。演算時間は、ＣＰＵ：Ｘｅｏｎ（正面名）２．４ＧＨｚ、メモリ：２ＧＢの性能のコンピュータにて実施したところ、２パス曲率算出に９２秒、解析曲面抽出に１５秒かかった。
【０１４１】
図３３Ａ、図３３Ｂは、自動車エンジン部品のＸ線ＣＴスキャニングにより生成したメッシュモデルとそれに対する解析曲面領域抽出結果を示している。この実験結果から、本発明の方法は比較的大きな面積の平面や円筒面について効果的に抽出できることが確認できた。特に、機能的に重要な円筒面領域（軸受にフィッティングされている）をすべて抽出できた。このメッシュモデルは、約１，０００，０００の三角メッシュを持つものであるが、上記性能のコンピュータにより７分かからずに領域抽出処理が完了した。
【０１４２】
以上により、本発明の領域セグメンテーション法はメッシュモデルから解析曲面領域を自動的に抽出できる。本発明の方法は、シャープエッジ認識による精確な曲率算出と、平面、円筒面、球面、円錐面、トーラス面により近似可能な領域を抽出する領域拡大法に基づいている。このセグメンテーション法はまた、近傍関係を分類すること、あるいは、抽出された解析曲面を組み合わせることによって、より高レベルな曲面、フィレット面、線形押し出し面、回転面の抽出が可能である。
【０１４３】
上記の実施例、また種々のメッシュモデルに対する実験から、本発明の方法によれば、メッシュモデルから解析曲面、フィレット面、線形押し出し面、回転面精確で実用的な幾何モデルを生成できることが確認できた。
【０１４４】
本発明は、メッシュ生成、ＣＡＥの前処理におけるＦＥＭメッシュに対するメッシュ変形、また、リバースエンジニアリングのためのソリッドモデル自動生成に適用できるものである。
【図面の簡単な説明】
【０１４５】
【図１】本発明の１つの実施の形態の解析曲面セグメンテーション装置の機能的構成を示すブロック図。
【図２】上記実施の形態の解析曲面セグメンテーション装置によるメッシュモデル・ソリッドモデル変換処理のフローチャート。
【図３】上記実施の形態によるシャープエッジ認識と主曲率算出結果を示す説明図。
【図４Ａ】上記実施の形態による主曲率演算を適用する対象としての入力メッシュモデルの説明図。
【図４Ｂ】上記実施の形態による図４Ａのメッシュモデルに対して抽出したシャープ頂点群の説明図。
【図４Ｃ】上記実施の形態による図４Ａのメッシュモデルに対する最大主曲率算出結果の説明図。
【図４Ｄ】上記実施の形態による図４Ａのメッシュモデルに対する最小主曲率算出結果の説明図。
【図５】上記実施の形態による３種類の主曲率算出法による演算結果を比較した説明図。
【図６】上記実施の形態によるシード領域の生成処理のフローチャート。
【図７】上記実施の形態によるトーラス面に対する主曲率のヒストグラム。
【図８】上記実施の形態によるシード領域生成結果の説明図。
【図９】上記実施の形態による領域拡大法によるシード領域拡大処理のフローチャート。
【図１０】上記実施の形態による解析曲面領域のうちの平面領域を抽出するためのパラメータの説明図。
【図１１】上記実施の形態による解析曲面領域のうちの円筒面領域を抽出するためのパラメータの説明図。
【図１２】上記実施の形態による解析曲面領域のうちの球面領域を抽出するためのパラメータの説明図。
【図１３】上記実施の形態による解析曲面領域のうちの円錐面領域を抽出するためのパラメータの説明図。
【図１４】上記実施の形態による解析曲面領域のうちのトーラス面領域を抽出するためのパラメータの説明図。
【図１５】上記実施の形態による解析曲面領域のうちの円筒面領域の抽出処理の説明図。
【図１６】上記実施の形態による解析曲面領域のうちの円筒面領域を抽出するためのパラメータを求める処理の説明図その１。
【図１７】上記実施の形態による解析曲面領域のうちの円筒面領域を抽出するためのパラメータを求める処理の説明図その２。
【図１８Ａ】上記実施の形態による領域拡大処理における初期のシード領域を示す説明図。
【図１８Ｂ】上記実施の形態による領域拡大処理において、平面のシード領域に対してそれに隣接する円錐面のシード領域から２頂点を取り込む領域拡大を行った結果を示す説明図。
【図１８Ｃ】上記実施の形態による領域拡大処理において、平面のシード領域に隣接する円錐面のシード領域から２頂点を削除した状態を示す説明図。
【図１８Ｄ】上記実施の形態による領域拡大処理において、平面のシード領域とそれに隣接する円筒面のシード領域とを抽出した状態を示す説明図。
【図１９】上記実施の形態において、領域拡大処理にて抽出した解析曲面群を示す説明図。
【図２０Ａ】上記実施の形態による領域境界線抽出処理の対象モデルを示す説明図。
【図２０Ｂ】上記実施の形態による領域境界線の抽出結果を示す説明図。
【図２１】上記実施の形態によるフィレット面の定義を示す図表。
【図２２】上記実施の形態による平面と球面との間のトーラス型フィレット面ＦＬＴ１を示す説明図。
【図２３】上記実施の形態による平面と円筒面との間のトーラス型フィレット面ＦＬＴ２を示す説明図。
【図２４】上記実施の形態による２曲面間にある円筒型フィレット面ＦＬＴ３を示す説明図。
【図２５】上記実施の形態による３曲面間にある球型、トーラス型フィレット面ＦＬＴ４，ＦＬＴ４’を示す説明図。
【図２６Ａ】上記実施の形態によるフィレット面の認識結果を示す説明図（１）。
【図２６Ｂ】上記実施の形態によるフィレット面の認識結果を示す説明図（２）。
【図２７Ａ】上記実施の形態によるフィレット面の認識の対象とした入力メッシュモデルの説明図。
【図２７Ｂ】図２７Ａのメッシュモデルに対する解析曲面群の認識結果を示す説明図。
【図２７Ｃ】図２７Ａのメッシュモデルに対するフィレット面の認識結果を示す説明図。
【図２８】上記実施の形態による線形押し出し面領域の抽出処理の説明図。
【図２９】上記実施の形態による回転面領域の抽出処理の説明図。
【図３０】上記実施の形態により抽出された線形押し出し面領域と回転面領域を示す説明図。
【図３１】本発明の１つの実施例による入力メッシュモデルと最終セグメンテーション結果を示す説明図。
【図３２Ａ】本発明の別の実施例による認識対象とするソリッドモデルの説明図。
【図３２Ｂ】上記別の実施例による認識対象とするメッシュモデルの説明図。
【図３２Ｃ】上記別の実施例によるシード領域の抽出結果の説明図。
【図３２Ｄ】上記別の実施例による解析領域の抽出結果の説明図。
【図３２Ｅ】上記別の実施例による境界線の抽出結果の説明図。
【図３２Ｆ】上記別の実施例による線形押し出し面領域の抽出結果の説明図。
【図３３Ａ】本発明のさらに別の実施例による認識対象とするメッシュモデルの説明図。
【図３３Ｂ】上記さらに別の実施例による解析曲面の抽出結果の説明図。
【符号の説明】
【０１４６】
１  入出力制御部
２  データ記憶部
３  メッシュ主曲率算出部
４  シード領域生成部
５  解析曲面領域抽出部
６  境界線抽出部
７  領域種別認識部
８  ソリッドモデルデータ生成部
９  制御演算処理部
２１  キーボード
２２  マウス
２３  ディスプレイ
１００  解析曲面セグメンテーション装置
【図１】
0004568843.tif 000028
【図２】
0004568843.tif 000029
【図３】
0004568843.tif 000030
【図４Ａ】
0004568843.tif 000031
【図４Ｂ】
0004568843.tif 000032
【図４Ｃ】
0004568843.tif 000033
【図４Ｄ】
0004568843.tif 000034
【図５】
0004568843.tif 000035
【図６】
0004568843.tif 000036
【図７】
0004568843.tif 000037
【図８】
0004568843.tif 000038
【図９】
0004568843.tif 000039
【図１０】
0004568843.tif 000040
【図１１】
0004568843.tif 000041
【図１２】
0004568843.tif 000042
【図１３】
0004568843.tif 000043
【図１４】
0004568843.tif 000044
【図１５】
0004568843.tif 000045
【図１６】
0004568843.tif 000046
【図１７】
0004568843.tif 000047
【図１８Ａ】
0004568843.tif 000048
【図１８Ｂ】
0004568843.tif 000049
【図１８Ｃ】
0004568843.tif 000050
【図１８Ｄ】
0004568843.tif 000051
【図１９】
0004568843.tif 000052
【図２０Ａ】
0004568843.tif 000053
【図２０Ｂ】
0004568843.tif 000054
【図２１】
0004568843.tif 000055
【図２２】
0004568843.tif 000056
【図２３】
0004568843.tif 000057
【図２４】
0004568843.tif 000058
【図２５】
0004568843.tif 000059
【図２６Ａ】
0004568843.tif 000060
【図２６Ｂ】
0004568843.tif 000061
【図２７Ａ】
0004568843.tif 000062
【図２７Ｂ】
0004568843.tif 000063
【図２７Ｃ】
0004568843.tif 000064
【図２８】
0004568843.tif 000065
【図２９】
0004568843.tif 000066
【図３０】
0004568843.tif 000067
【図３１】
0004568843.tif 000068
【図３２Ａ】
0004568843.tif 000069
【図３２Ｂ】
0004568843.tif 000070
【図３２Ｃ】
0004568843.tif 000071
【図３２Ｄ】
0004568843.tif 000072
【図３２Ｅ】
0004568843.tif 000073
【図３２Ｆ】
0004568843.tif 000074
【図３３Ａ】
0004568843.tif 000075
【図３３Ｂ】
0004568843.tif 000076