(57)【要約】【課題】ポリゴンデータが記述する表面形状の内でフィーチャとして定義される特定部位についてノイズを効果的に除去することで、ポリゴンデータにおけるノイズ問題を有効に解消する。【解決手段】対象物の表面形状を記述するポリゴンデータＤ１を修正して修正ポリゴンデータＤ３を得るポリゴンデータ修正装置について、対象物の表面形状に含まれる幾何学的に特徴な形状であるフィーチャをポリゴンデータから抽出するためのパラメータを指定してフィーチャ抽出パラメータＤ４を生成するフィーチャ抽出パラメータ指定手段Ｃ４、生成されたフィーチャ抽出パラメータを基に、ポリゴンデータからフィーチャを抽出するとともに、その抽出したフィーチャに所定の判定基準に基づいて含まれるとされるフィーチャ所属ポリゴンを検索してフィーチャデータＤ２を作成するフィーチャ抽出手段Ｃ３、およびフィーチャ抽出過程で抽出したフィーチャ上にポリゴンを生成するポリゴン生成手段Ｃ６を設けるものとしている。【選択図】図１
2006350756.tif 000002
【特許請求の範囲】
【請求項１】
対象物の表面形状を記述するポリゴンデータを修正して修正ポリゴンデータを得るポリゴンデータ修正方法において、
前記対象物の表面形状に含まれる幾何学的に特徴な形状であるフィーチャを前記ポリゴンデータから抽出するためのパラメータを指定してフィーチャ抽出パラメータを生成するフィーチャ抽出パラメータ指定過程、前記フィーチャ抽出パラメータ指定過程で生成されたフィーチャ抽出パラメータを基に、前記ポリゴンデータから前記フィーチャを抽出するとともに、その抽出したフィーチャに所定の判定基準に基づいて含まれるとされるフィーチャ所属ポリゴンを検索してフィーチャデータを作成するフィーチャ抽出過程、および前記フィーチャ抽出過程で抽出したフィーチャ上にポリゴンを生成するポリゴン生成過程を含んでいることを特徴とするポリゴンデータ修正方法。
【請求項２】
前記フィーチャ抽出過程で検索された前記フィーチャ所属ポリゴンに隣接するポリゴンであり、前記フィーチャ抽出過程での検索にかからずに前記フィーチャ所属ポリゴンについてのフィーチャ所属ポリゴンデータに含まれていないポリゴンを孤立ポリゴンとして検索して孤立ポリゴンデータを作成し、この孤立ポリゴンデータを前記フィーチャ所属ポリゴンデータに合併させる過程をさらに含んでいる請求項１に記載のポリゴンデータ修正方法。
【請求項３】
請求項１または請求項２に記載のポリゴンデータ修正方法を実行するための手順を記述したコンピュータプログラム。
【請求項４】
対象物の表面形状を記述するポリゴンデータを修正して修正ポリゴンデータを得るポリゴンデータ修正装置において、
前記対象物の表面形状に含まれる幾何学的に特徴な形状であるフィーチャを前記ポリゴンデータから抽出するためのパラメータを指定してフィーチャ抽出パラメータを生成するフィーチャ抽出パラメータ指定手段、前記フィーチャ抽出パラメータ指定手段で生成されたフィーチャ抽出パラメータを基に、前記ポリゴンデータから前記フィーチャを抽出するとともに、その抽出したフィーチャに所定の判定基準に基づいて含まれるとされるフィーチャ所属ポリゴンを検索してフィーチャデータを作成するフィーチャ抽出手段、および前記フィーチャ抽出過程で抽出したフィーチャ上にポリゴンを生成するポリゴン生成手段を備えていることを特徴とするポリゴンデータ修正装置。
【請求項５】
前記フィーチャ抽出手段で検索された前記フィーチャ所属ポリゴンに隣接するポリゴンであり、前記フィーチャ抽出手段による検索にかからずに前記フィーチャ所属ポリゴンについてのフィーチャ所属ポリゴンデータに含まれていないポリゴンを孤立ポリゴンとして検索して孤立ポリゴンデータを作成し、この孤立ポリゴンデータを前記フィーチャ所属ポリゴンデータに合併させるポリゴン合併手段をさらに備えている請求項４に記載のポリゴンデータ修正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表面形状モデルの作成技術に関し、特に表面形状モデルを記述するポリゴンデータの修正技術に関する。
【背景技術】
【０００２】
設計製造プロセスの効率化手段の１つとして、対象物（実際の構造物など）から作成したデジタルデータに基づいて、熱、振動、応力、流体解析などの数値解析を行い、その結果を設計製造プロセスにフィードバックするという手法がある。こうした手法をより有効に活かすには、Ｘ線ＣＴ装置、３次元レーザ計測器、ＣＣＤカメラなどの３次元計測器から得られる対象物の計測データを、対象物の表面形状へ精度良くモデル化する技術が不可欠である。
【０００３】
対象物の表面形状モデルを記述するデータ形式としては、微小な３角形面（ポリゴン）を単位として表面形状を記述するポリゴンデータが広く用いられている（例えば特許文献１）。一方、３次元計測器で得られる対象物の計測データのデータ形式としては、３次元ビットマップデータと点群データの２種類が存在する。３次元ビットマップデータからポリゴンデータを作成する技術としては、例えば特許文献２に開示の例などがあり、点群データからポリゴンデータを作成する技術としては、例えば非特許文献１に記載の例などがある。
【０００４】
【特許文献１】特開２００１−２８２８７７号公報
【特許文献２】特開昭６２−３７７８２号公報
【非特許文献１】「Modeling scattered  function  data  on  curved  surfaces」（C．Bajaj・G．Xu）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献２や非特許文献１で知られるポリゴンデータ作成技術は有用性が高い。しかしこれらの技術でポリゴンデータを作成した場合、そのポリゴンデータは、３次元計測器で得られる計測データが一般に含んでいるノイズを含む状態で対象物の表面形状を記述することになる。こうしたポリゴンデータにおけるノイズは、ポリゴンデータが記述する表面形状の内の機械加工面や部品間の接合面などの特定部位において特に悪影響をもたらす。すなわち、ポリゴンデータが記述する表面形状の内の機械加工面や部品間の接合面などの特定部位は、本来、平面や円筒面などのフィーチャと呼ばれる特徴的な形状として定義されているが、これらにノイズが含まれているポリゴンデータを用いて数値解析を行うと、次のような問題を生じる。例えば流体解析を行う場合、機械加工面上にノイズが含まれていると、そのノイズに起因する渦が発生することで解析精度が著しく低下する場合がある。また、対象物を構成する部品ごとにポリゴンデータを作成し、それらのポリゴンデータを組み合わせた状態で解析を行う場合も少なくないが、そのような解析において部品間の接合面にノイズが含まれていると、ポリゴンデータの組み合わせ操作がうまく行かず、解析に必要なメッシュを作成できない場合がある。
【０００６】
本発明は、こうしたポリゴンデータにおけるノイズ問題に着目してなされたものであり、ポリゴンデータが記述する表面形状の内でフィーチャとして定義される特定部位についてノイズを効果的に除去することで、ノイズに関する問題を有効に解消することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的のために本発明では、対象物の表面形状を記述するポリゴンデータを修正して修正ポリゴンデータを得るポリゴンデータ修正方法において、前記対象物の表面形状に含まれる幾何学的に特徴な形状であるフィーチャを前記ポリゴンデータから抽出するためのパラメータを指定してフィーチャ抽出パラメータを生成するフィーチャ抽出パラメータ指定過程、前記フィーチャ抽出パラメータ指定過程で生成されたフィーチャ抽出パラメータを基に、前記ポリゴンデータから前記フィーチャを抽出するとともに、その抽出したフィーチャに所定の判定基準に基づいて含まれるとされるフィーチャ所属ポリゴンを検索してフィーチャデータを作成するフィーチャ抽出過程、および前記フィーチャ抽出過程で抽出したフィーチャ上にポリゴンを生成するポリゴン生成過程を含んでいることを特徴としている。
【０００８】
また本発明では、上記のようなポリゴンデータ修正方法について、前記フィーチャ抽出過程で検索された前記フィーチャ所属ポリゴンに隣接するポリゴンであり、前記フィーチャ抽出過程での検索にかからずに前記フィーチャ所属ポリゴンについてのフィーチャ所属ポリゴンデータに含まれていないポリゴンを孤立ポリゴンとして検索して孤立ポリゴンデータを作成し、この孤立ポリゴンデータを前記フィーチャ所属ポリゴンデータに合併させる過程をさらに含むものとしている。
【０００９】
また本発明では、上記のようなポリゴンデータ修正方法を実行するについて、当該方法を実行するための手順が記述されているコンピュータプログラムを介在させるものとしている。
【００１０】
また本発明では上記目的のために、対象物の表面形状を記述するポリゴンデータを修正して修正ポリゴンデータを得るポリゴンデータ修正装置において、前記対象物の表面形状に含まれる幾何学的に特徴な形状であるフィーチャを前記ポリゴンデータから抽出するためのパラメータを指定してフィーチャ抽出パラメータを生成するフィーチャ抽出パラメータ指定手段、前記フィーチャ抽出パラメータ指定手段で生成されたフィーチャ抽出パラメータを基に、前記ポリゴンデータから前記フィーチャを抽出するとともに、その抽出したフィーチャに所定の判定基準に基づいて含まれるとされるフィーチャ所属ポリゴンを検索してフィーチャデータを作成するフィーチャ抽出手段、および前記フィーチャ抽出過程で抽出したフィーチャ上にポリゴンを生成するポリゴン生成手段を備えていることを特徴としている。
【００１１】
また本発明では、上記のようなポリゴンデータ修正装置について、前記フィーチャ抽出手段で検索された前記フィーチャ所属ポリゴンに隣接するポリゴンであり、前記フィーチャ抽出手段による検索にかからずに前記フィーチャ所属ポリゴンについてのフィーチャ所属ポリゴンデータに含まれていないポリゴンを孤立ポリゴンとして検索して孤立ポリゴンデータを作成し、この孤立ポリゴンデータを前記フィーチャ所属ポリゴンデータに合併させるポリゴン合併手段をさらに備えるものとしている。
【発明の効果】
【００１２】
本発明では、ポリゴンデータからフィーチャを抽出し、その抽出したフィーチャにポリゴンを生成するようにしている。このため本発明によれば、ポリゴンデータが記述する表面形状の内でフィーチャとして定義される特定部位についてノイズを効果的に除去することができ、ノイズに関する問題を有効に解消することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を実施するための形態について説明する。図１に第１の実施形態によるポリゴンデータ修正装置のシステム構成を示す。本実施形態におけるポリゴンデータ修正装置Ｃは、入力されるポリゴンデータＤ１を修正して修正ポリゴンデータＤ３として出力する。そのために、ポリゴン記憶手段Ｃ１、入力手段Ｃ２、フィーチャ抽出手段Ｃ３、フィーチャ抽出パラメータ指定手段Ｃ４、フィーチャ記憶手段Ｃ５、ポリゴン生成手段Ｃ６、修正ポリゴン記憶手段Ｃ７、および表示手段Ｃ８を備えている。
【００１４】
ポリゴン記憶手段Ｃ１は、メモリやハードディスクで構成されており、入力されたデータを記憶して、必要な時に出力する機能を持つ。ポリゴン記憶手段Ｃ１が記憶するポリゴンデータＤ１は、実際物の表面形状モデルを微小な３角形面（ポリゴン）の集合として記述するデータである。そのようなポリゴンデータＤ１は、上述の従来におけるポリゴンデータ作成技術により作成されるのが通常である。
【００１５】
入力手段Ｃ２は、キーボードやマウスなどで構成され、ポリゴンデータＤ１を修正して修正ポリゴンデータＤ３として出力するまでの処理に必要なコマンドなどを利用者が入力するのに機能する。すなわち利用者は、この入力手段Ｃ２を介して、フィーチャ抽出パラメータ指定コマンドＤ５やポリゴン生成コマンドＤ６などのコマンドなどを入力する。
【００１６】
フィーチャ抽出手段Ｃ３は、フィーチャデータＤ２を作成してフィーチャ記憶手段Ｃ５に送る機能を持つ。具体的には、ポリゴンデータＤ１とフィーチャ抽出パラメータ指定手段Ｃ４からのフィーチャ抽出パラメータＤ４を受け、ポリゴンデータＤ１からフィーチャを抽出するとともに、その抽出フィーチャに所属するポリゴンを検索することでフィーチャ所属ポリゴンデータを得てフィーチャデータＤ２を作成し、そのフィーチャデータＤ２をフィーチャ記憶手段Ｃ５に送る。ここで、「フィーチャ」とは、対象物の表面形状に含まれる幾何学的に特徴な形状のことであり、フィーチャの例としては平面、円筒面などが挙げられる。一般に、対象物の表面形状における機械加工面や部品間の接続面などは、こうしたフィーチャとして定義されている。また「フィーチャ所属ポリゴンデータ」とは、ポリゴンデータＤ１から抽出したフィーチャに所定の判定基準に基づいて含まれると判断されたポリゴンつまりフィーチャ所属ポリゴン（これはポリゴンデータＤ１のポリゴンの一部である）の集合である。フィーチャ抽出手段Ｃ３の詳細については後述する。
【００１７】
フィーチャ抽出手段Ｃ３が作成するフィーチャデータＤ２は、フィーチャ定義情報とフィーチャ所属ポリゴンリストが記述されたデータである。フィーチャ定義情報は、フィーチャ抽出手段Ｃ３で抽出されたフィーチャを定義する情報であり、平面、円筒面といったフィーチャの形態（形状）の分類を表す種別情報とフィーチャ形態を詳細に規定する特徴量から構成される。ここで、特徴量とは、平面についての法線ベクトルや基準点、円筒面についての半径や中心軸などである。一方、フィーチャ所属ポリゴンリストは、フィーチャ所属ポリゴンデータに含まれるポリゴンのリストである。
【００１８】
フィーチャ抽出パラメータ指定手段Ｃ４は、フィーチャ抽出パラメータ指定コマンドＤ５が入力されるのを受けてフィーチャ抽出パラメータＤ４を決定し、これをフィーチャ抽出手段Ｃ３に送る機能を持つ。フィーチャ抽出パラメータＤ４は、ポリゴンデータＤ１からフィーチャを抽出するために必要となるパラメータである。フィーチャ抽出パラメータＤ４には、上述のフィーチャ形態の種別情報、フィーチャ所属ポリゴンデータに最初に含まれることになるポリゴンであるシードポリゴン、およびフィーチャとポリゴンの内包関係つまりポリゴンのフィーチャ所属ポリゴンデータへの所属関係を判定するために用いる後述のようなしきい値が記述されている。すなわちフィーチャ抽出パラメータ指定手段Ｃ４は、フィーチャ抽出手段Ｃ３で抽出させるフィーチャについての種別情報、シードポリゴン、および内包関係しきい値の指定によりフィーチャ抽出パラメータＤ４を生成する。
【００１９】
フィーチャ記憶手段Ｃ５は、メモリやハードディスクで構成されており、フィーチャデータＤ２を記憶して、必要な時に出力する機能を持つ。
【００２０】
ポリゴン生成手段Ｃ６は、ポリゴン生成コマンドＤ６とフィーチャデータＤ２を受け、フィーチャデータＤ２で定義されているフィーチャ上にポリゴンを生成する。フィーチャ上へのポリゴンの生成には２つの手法が可能である。１つは、フィーチャ所属ポリゴンを全面的に利用する手法であり、フィーチャ所属ポリゴンの頂点をフィーチャ上に移動させることでフィーチャ上へのポリゴンの生成を行う手法である。この場合の頂点の移動は、頂点をフィーチャ上に正射影させることで行う。他の１つは、フィーチャの境界（輪郭）についてだけフィーチャ所属ポリゴンを利用し、その他のポリゴンについては公知の手法などで新たに作成してフィーチャ上へのポリゴンの生成を行う手法である。この新規ポリゴン作成法の場合には、新たなポリゴンの作成で不要となったフィーチャ所属ポリゴンは消去することになる。フィーチャ所属ポリゴンを全面的に利用する手法は、作業量が少なくて済むという利点がある。しかしその一方で、フィーチャ所属ポリゴンのフィーチャ上への移動量がある程度以上に大きくなると、フィーチャに対する位置関係が不確かになって、例えばフィーチャ上でポリゴンが裏返しになるといった不具合状態を生じる場合があり得る。そこで、このような場合に対処するために、フィーチャ所属ポリゴン全面利用法を主体にしつつも、これで生成させたフィーチャ上のポリゴンに上記のような不具合状態を生じた場合には新規ポリゴン法に切替えて処理を行えるようにしておくのが好ましい。ポリゴン生成手段Ｃ６での処理を経て生成された修正ポリゴンデータＤ３は修正ポリゴン記憶手段Ｃ７に送られる。
【００２１】
修正ポリゴンデータ記憶手段Ｃ７は、メモリやハードディスクで構成されており、修正ポリゴンデータＤ３を記憶して、必要な時に出力する機能を持つ。
【００２２】
表示手段Ｃ８は、ポリゴン記憶手段Ｃ１からポリゴンデータＤ１を、フィーチャ記憶手段Ｃ５からフィーチャデータＤ２を、修正ポリゴン記憶手段Ｃ７から修正ポリゴンデータＤ３を、それぞれ取り出して（入力して）、利用者に視覚的に表示する機能を持つ。
【００２３】
以上がポリゴンデータ修正装置Ｃの構成である。次に、具体例を用いて、ポリゴンデータ修正装置Ｃにおける処理の内容を詳細に説明する。ポリゴンデータ修正装置Ｃによるポリゴンデータ修正方法の処理手順を図２に示す。まず、図２のステップＰ１（フィーチャ抽出パラメータ指定過程）で、フィーチャ抽出パラメータＤ４を決定するために、利用者に入力を行うように促す。利用者は、入力手段Ｃ２を用いて、フィーチャ抽出パラメータを決定するための入力を行う。
【００２４】
フィーチャ抽出パラメータ決定方法の一例を図３に基づいて説明する。図３に示すように、利用者が選択可能な複数のフィーチャ種別情報が表示手段Ｃ８の表示画面の左上側に表示されており、利用者は選択したいフィーチャ種別情報をマウスでクリックする。図３の例では、フィーチャ種別情報として「平面」が選択されている。また、表示画面の左下側には内包関係しきい値として距離しきい値と角度しきい値それぞれの入力欄が表示されており、利用者はこれらのしきい値入力欄でしきい値を入力する。図３の例では、距離しきい値として、０．３[ｍｍ]、角度しきい値として１５[度]という値が入力されている。さらに、表示画面の右側にはポリゴンデータＤ１で記述される表面形状が表示されており、利用者は表面形状の１点をマウスでクリックすることによりシードポリゴンを選択する。図３では、白抜きの三角形で記した部分が、ユーザーが指定したシードポリゴンである。なお、この例ではシードポリゴンは１つだけ選択されているが、複数のシードポリゴンを選択するような形態とすることも可能である。以上の操作により、フィーチャ抽出パラメータＤ４に記述される種別情報、シードポリゴンおよび内包関係しきい値が決定される。
【００２５】
次に図２のステップＰ２（フィーチャ抽出過程）では、フィーチャ抽出手段Ｃ３がフィーチャ抽出処理を行う。フィーチャ抽出処理では、フィーチャ抽出パラメータＤ４を基に、ポリゴンデータＤ１からフィーチャを抽出するとともに、フィーチャ所属ポリゴンを検索してフィーチャ所属ポリゴンデータを得てフィーチャデータＤ２を作成する。
【００２６】
フィーチャ抽出処理における処理の流れを図４に示す。まず、ステップＰ５（フィーチャ所属ポリゴンデータ初期作成過程）において、フィーチャ抽出パラメータＤ４に記述されているシードポリゴンをフィーチャ所属ポリゴンとして初期状態のフィーチャ所属ポリゴンデータを作成する。
【００２７】
次のステップＰ６（代表面決定過程）では、その時点におけるフィーチャ所属ポリゴンデータを最もよく近似する面（代表面）をフィーチャ抽出パラメータＤ４に記述の種別情報に基づいて求める。代表面は最小二乗法を利用して求める。フィーチャ所属ポリゴンデータにシードポリゴンを加えた時点では、フィーチャ所属ポリゴンデータのフィーチャ所属ポリゴンはシードポリゴンだけであり、シードポリゴンが１つであれば、フィーチャ所属ポリゴンは１つである。フィーチャ所属ポリゴンが１つの場合には、そのポリゴンにおける３つの頂点から最小二乗法で代表面を求める。
【００２８】
次に、ステップＰ７（隣接ポリゴン検索過程）において、フィーチャ所属ポリゴンに隣接しているポリゴンを検索する。検索した隣接ポリゴンは、ステップＰ８（第１の所属判定過程）とステップＰ９（第２の所属判定過程）による各所属判定を経て、フィーチャ所属ポリゴンデータに含まれると判定されれば、ステップＰ１０（フィーチャ所属ポリゴンデータ拡張過程）においてフィーチャ所属ポリゴンデータに追加される。より具体的にいうと、ステップＰ８における第１の所属判定処理では、検索した隣接ポリゴンの代表面に対する距離がフィーチャ抽出パラメータＤ４に記述の距離しきい値以下か否かを判定する。一方、ステップＰ９における第２の所属判定処理では、検索した隣接ポリゴンの法線ベクトルと当該隣接ポリゴンの位置での代表面の法線ベクトルとの間の角度がフィーチャ抽出パラメータＤ４に記述の角度しきい値以下か否かを判定する。そしてステップＰ８とステップＰ９の判定が何れも肯定的であることを条件に当該隣接ポリゴンをステップＰ１０においてフィーチャ所属ポリゴンデータに追加する。
【００２９】
続くステップＰ１１では、その時点での全てのフィーチャ所属ポリゴンについての全ての隣接ポリゴンに対して所属の評価をしたか否かを判断し、その判断結果が否定的であれば、ステップＰ８に戻ってステップＰ１０までを残りの隣接ポリゴンについて繰返し、その判断結果が肯定的になればステップＰ１２（フィーチャ所属ポリゴンデータ拡張有無判定過程）に進む。
【００３０】
ステップＰ１２では、フィーチャ所属ポリゴンデータ拡張有無判定処理として、データ拡張がなされたか否か、つまりステップＰ１０でフィーチャ所属ポリゴンデータに隣接ポリゴンがフィーチャ所属ポリゴンとして追加されたか否かを判定する。データ拡張ありと判定された場合には、ステップＰ６に戻り、ポリゴンの追加によって変化する代表面を求め直し、その新たな代表面を基にステップＰ７以下の処理を行う。こうして、ステップＰ６〜Ｐ１２の各処理過程は、フィーチャ所属ポリゴンデータに新しい隣接ポリゴンが追加されなくなるまで繰り返される。最終的に、フィーチャ所属ポリゴンデータに属するポリゴンが変化しなくなった場合（フィーチャ所属ポリゴンデータに新しいポリゴンが追加されなくなった場合）、ステップ１３（フィーチャデータ作成過程）において、代表面からフィーチャの種別情報と特徴量を求め、これとフィーチャ所属ポリゴンデータとによりフィーチャデータＤ２を作成する。以上が、フィーチャ抽出過程の処理の内容である。
【００３１】
次に、図２のステップＰ３（ポリゴン生成過程）では、フィーチャデータＤ２で定義されているフィーチャ上にポリゴン生成手段Ｃ６によりポリゴンを生成させる。ポリゴン生成手段Ｃ６によるポリゴンの生成については、上述のように、フィーチャ所属ポリゴンの頂点移動による手法とポリゴンの新規作成による手法が可能である。処理対象のポリゴンデータＤ１がノイズの比較的少ないものである場合には、頂点移動法だけでも足り、本実施形態では頂点移動法だけでポリゴンの生成を行うようにしている。
【００３２】
ステップＰ３に続くステップＰ４（全フィーチャ処理済判定過程）では、対象物の表面に対して定義されている全てのフィーチャ（あるいは、ユーザーが指定したフィーチャの全て）についてポリゴンデータＤ１からそれらを抽出する処理、およびその抽出した全てのフィーチャへのポリゴン生成処理の両処理を終えたか否かを判定する。その判定が否定的な場合にはステップＰ２とステップＰ３の処理を繰り返す。一方、ステップＰ４で判定が肯定的になったら処理を終了する。
【００３３】
以上が、ポリゴンデータ修正装置Ｃによるポリゴンデータ修正方法である。図５には、ノイズを含むポリゴンデータに対して、本実施形態による処理で修正した結果が示されている。図５（ａ）は、上述の従来技術で作成されたノイズを含むポリゴンデータであり、図５（ｂ）は図５（ａ）の一部を拡大したポリゴンデータである。このようなポリゴンデータに対して、本実施形態による修正方法を適用した。具体的には図５（ａ）中の黒線で囲まれる領域について平面のフィーチャを抽出し、これにポリゴンデータを生成させている。図５（ｃ）がその結果であり、図５（ｄ）は図５（ｃ）の一部を拡大したポリゴンデータである。これらに見られるように、本発明を適用することにより、平面フィーチャが定義されている部位に対して、ノイズを有効に除去することができる。
【００３４】
以上のように、本実施形態によれば、ポリゴンデータが記述する表面形状の内でフィーチャとして定義される特定部位についてノイズを効果的に除去することができ、ノイズに関する問題を有効に解消することができる。
【００３５】
次に、第２の実施形態について説明する。図６に第２の実施形態によるポリゴンデータ修正装置の構成を示す。本実施形態のポリゴンデータ修正装置Ｃａは、ポリゴン記憶手段Ｃ１、入力手段Ｃ２、フィーチャ抽出手段Ｃ３、フィーチャ抽出パラメータ指定手段Ｃ４、フィーチャ記憶手段Ｃ５、ポリゴン生成手段Ｃ６、修正ポリゴン記憶手段Ｃ７、表示手段Ｃ８、およびポリゴン合併手段Ｃ９を備えている。これらの機能手段の内のＣ１〜Ｃ８までの各機能手段は、第１の実施形態によるポリゴンデータ修正装置Ｃにおけるそれらと同一である。すなわち本実施形態のポリゴンデータ修正装置Ｃａは、第１の実施形態によるポリゴンデータ修正装置Ｃにポリゴン合併手段Ｃ９を付加した構成となっている。
【００３６】
第１の実施形態によるポリゴンデータ修正装置Ｃでは、ポリゴンデータＤ１に含まれるノイズの幅が大きい場合、フィーチャ所属ポリゴンデータによって記述される表面形状つまりフィーチャの内部に、フィーチャ所属ポリゴンデータに加えられなかったポリゴンが残存するということが起こり得る。図７にその例を示す。図７において、黒線で囲った形状がフィーチャ所属ポリゴンデータによって記述される表面形状であり、ハッチンッグを付けた３角形で示してあるのがフィーチャ所属ポリゴンデータに加えられなかったポリゴンつまり孤立ポリゴンである。こうした孤立ポリゴンは、本来はフィーチャ所属ポリゴンとされるべきものであるが、この部位でノイズ幅が特に大きいために、上記のような所属判定処理ではフィーチャ所属ポリゴンと判定されずに残されたポリゴンである。このような孤立ポリゴンは、ポリゴンの移動によるフィーチャ上へのポリゴンの生成で取り残され、その存在部位でノイズが残ってしまうことになる。また孤立ポリゴンは、ポリゴンの新規作成によるフィーチャ上へのポリゴンの生成の場合でも、新たなポリゴンの作成で不要となったフィーチャ所属ポリゴンを消去する際にその消去から取り残され、同様にノイズとして残ってしまうことになる。
【００３７】
こうしたことから、ノイズ幅の大きなポリゴンデータについても十分な精度のノイズ除去修正を行えるようにするには孤立ポリゴンを無くすようにする必要がある。このことを可能とするのが本実施形態におけるポリゴン合併手段Ｃ９である。すなわちポリゴン合併手段Ｃ９は、孤立ポリゴンを検索してフィーチャ所属ポリゴンデータに合併する機能を負っており、第１の実施形態について説明したステップＰ５〜ステップＰ１３の処理をフィーチャ抽出手段Ｃ３が行った後にポリゴン合併コマンドＤ７とフィーチャデータＤ２を受けてポリゴン合併処理を行う。その処理では、孤立ポリゴンを検索してフィーチャ所属ポリゴンデータに合併することでフィーチャ抽出手段Ｃ３からのフィーチャデータＤ２を更新してフィーチャデータＤ２ｒを生成させ、この孤立ポリゴン合併後フィーチャデータＤ２ｒをフィーチャ記憶手段Ｃ５に送る。
【００３８】
図８に、ポリゴン合併手段Ｃ９でなされるポリゴン合併処理の流れを示す。まず、ステップＰ１４（第１次隣接ポリゴン検索過程）で第１次の隣接ポリゴン検索処理を行う。第１次の隣接ポリゴン検索処理では、フィーチャデータＤ２に記述のフィーチャ所属ポリゴンリストに含まれているポリゴンつまりフィーチャ抽出手段Ｃ３によるフィーチャ抽出過程で検索されたフィーチャ所属ポリゴンに隣接するポリゴン（これは、フィーチャ所属ポリゴンデータに含まれていないポリゴンつまりフィーチャ抽出手段Ｃ３によるフィーチャ抽出過程では検索にかからなかったポリゴンである）を孤立ポリゴンとして検索し、検索された孤立ポリゴンを基に孤立ポリゴンデータを作成する。ここで、孤立ポリゴンデータは孤立ポリゴンの集合である。こうした孤立ポリゴンデータは、１つだけでなく複数作成される場合もある。このように第１次隣接ポリゴン検索過程は、そこにおいて孤立ポリゴンデータの初期作成も行うことから、孤立ポリゴンデータ初期作成過程でもある。
【００３９】
続くステップＰ１５（第２次隣接ポリゴン検索過程）では、第１次隣接ポリゴン検索で得られた孤立ポリゴンデータに含まれる孤立ポリゴンに隣接するポリゴンを検索する。ステップＰ１５で検索された隣接ポリゴンは、フィーチャ所属ポリゴンデータに含まれているか否か、つまりフィーチャ所属ポリゴンデータへの包含の有無をステップＰ１６（包含判定過程）において判定され、この判定でどのフィーチャ所属ポリゴンデータにも含まれていないとされれば、その隣接ポリゴンをステップＰ１７（孤立ポリゴンデータ拡張過程）で孤立ポリゴンとして孤立ポリゴンデータに追加する。
【００４０】
続くステップＰ１８では、ステップＰ１５で検索された隣接ポリゴンの全てについて包含判定をしたか否かを判断し、その判断結果が否定的であれば、ステップＰ１６とＰ１７を残りの隣接ポリゴンについて繰返し、その判断結果が肯定的になればステップＰ１９（孤立ポリゴンデータ拡張有無判定過程）に進む。
【００４１】
ステップＰ１９では、孤立ポリゴンデータ拡張有無判定処理として、ステップＰ１７で隣接ポリゴンが孤立ポリゴンとして孤立ポリゴンデータに追加されてデータ拡張がなされたか否かを判定する。データ拡張ありと判定された場合には、ステップＰ１５に戻り、データ拡張後の孤立ポリゴンデータを基にステップＰ１５以下の処理を行う。こうして、ステップＰ１５〜Ｐ１９の各処理過程を、孤立ポリゴンデータに新しい隣接ポリゴンが追加されなくなるまで繰り返した後、ステップＰ２０（孤立ポリゴンデータ合併可否判定過程）に進む。
【００４２】
ステップＰ２０では、ステップＰ１９を経た孤立ポリゴンデータをフィーチャデータＤ２に定義のフィーチャ所属ポリゴンデータに合併させることの可否を判定する。これは、孤立ポリゴンデータがフィーチャで定義される形状領域に対して独立している形状領域（例えば図５（ａ）におけるフィーチャ定義形状領域Ｆ１に対する形状領域Ｆ２）に関するものである場合に、これをフィーチャ所属ポリゴンデータへの合併から外すために必要な処理である。合併可否判定は、孤立ポリゴンデータが含んでいるポリゴンの数で行う。ポリゴン数の判定は、所定のしきい値に基づいて行う。しきい値としては例えば２０といった値を用い、ポリゴン数がこのしきい値以下であることを条件として孤立ポリゴンデータをフィーチャ所属ポリゴンデータに合併させる。
【００４３】
ステップＰ２０でポリゴン数がしきい値以下とされて合併可とされた孤立ポリゴンデータは、ステップＰ２１（ポリゴンデータ合併過程）において、フィーチャデータＤ２に定義のフィーチャ所属ポリゴンデータに合併される。
【００４４】
続くステップＰ２２（全孤立ポリゴン処理済判定過程）では、ステップＰ１４の条件を満たすポリゴンの全てについて評価したか否かを判定する。この判定が否定的であった場合には、ステップ１４に戻ってステップ１４〜ステップＰ２２までの処理を繰り返し、ステップＰ２２のこの判定が肯定的になったら処理を終了する。以上が、ポリゴン合併手段Ｃ９の処理の内容である。
【００４５】
本実施形態によれば、ポリゴンデータに含まれるノイズ幅が大きい場合でも、ポリゴンデータが記述する表面形状の内でフィーチャとして定義される特定部位についてノイズを効果的に除去することができ、ノイズに関する問題をさらに有効に解消することができる。
【産業上の利用可能性】
【００４６】
本発明は、ノイズを含むポリゴンデータについて、そのノイズに伴う問題を有効に解消する修正を行えるようにするものであり、表面形状モデル作成分野や表面形状モデルを利用しての解析分野において有用なものとして広く利用することができる。
【図面の簡単な説明】
【００４７】
【図１】第１の実施形態によるポリゴンデータ修正装置の構成を示す図である。
【図２】図１のポリゴンデータ修正装置における処理の流れを示す図である。
【図３】フィーチャ抽出パラメータ指定手段が表示する画面の例を示す図である。
【図４】フィーチャ抽出処理における流れを示す図である。
【図５】第１の実施形態によるポリゴンデータ修正の効果を示す図である。
【図６】第２の実施形態によるポリゴンデータ修正装置の構成を示す図である。
【図７】孤立ポリゴンについて説明する図である。
【図８】ポリゴン合併処理の流れを示す図である。
【符号の説明】
【００４８】
Ｃ、Ｃａ    ポリゴンデータ修正装置
Ｃ３    フィーチャ抽出手段
Ｃ４    フィーチャ抽出パラメータ指定手段
Ｃ６    ポリゴン生成手段
Ｃ９    ポリゴン合併手段
Ｄ１    ポリゴンデータ
Ｄ２    フィーチャデータ
Ｄ３    修正ポリゴンデータ
Ｄ４    フィーチャ抽出パラメータ
Ｐ１    フィーチャ抽出パラメータ指定過程
Ｐ２    フィーチャ抽出過程
Ｐ３    ポリゴン生成過程
Ｐ２１    ポリゴンデータ合併過程
【図１】
2006350756.tif 000003
【図２】
2006350756.tif 000004
【図３】
2006350756.tif 000005
【図４】
2006350756.tif 000006
【図５】
2006350756.tif 000007
【図６】
2006350756.tif 000008
【図７】
2006350756.tif 000009
【図８】
2006350756.tif 000010