(57)【特許請求の範囲】
【請求項１】
３次元点群データを構成する点群の座標値を所定の修正軸に沿って修正する３次元点群データの修正をコンピュータによって実行する３次元点群データの修正方法であって、
前記点群の中の１つの選択点に対して前記修正軸の正側へ所定間隔離れた位置に、当該負側へ凸の曲面形状の修正面を設定する修正面設定工程と、
前記点群のうち前記修正軸に沿って視て前記修正面に含まれる修正点について、当該修正点が前記修正面に接するように前記修正軸の座標値を修正する修正工程と、を含むことを特徴とする３次元点群データの修正方法。
【請求項２】
前記修正面設定工程は、
前記選択点に対して前記修正軸の正側へ所定間隔離れた位置に所定形状の球体を設定する球体設定工程と、
前記球体設定工程において設定された球体の表面のうち前記修正軸の負側の少なくとも一部の面を修正面と定義する修正面定義工程と、を含むことを特徴とする請求項１に記載の３次元点群データの修正方法。
【請求項３】
前記球体設定工程では、前記球体を、その表面が前記選択点及びその周囲の複数の点で構成される接触判定点群のうちの１つの接触点で接する位置に設定するか、又はその表面が前記接触判定点群を構成する点を繋ぐ線のうちの１つの接触点で接する位置に設定することを特徴とする請求項２に記載の３次元点群データの修正方法。
【請求項４】
前記球体設定工程では、前記球体の中心位置を前記選択点に対して前記修正軸に沿って正側から負側へ移動させたときに、前記球体の表面が前記接触点で最初に接する位置に前記球体を設定することを特徴とする請求項３に記載の３次元点群データの修正方法。
【請求項５】
前記球体設定工程は、
前記選択点を中心とした仮想平面を設定する工程と、
前記仮想平面に対して前記選択点において接する位置に前記球体を定義する工程と、
当該定義された球体を前記修正軸に沿って負側から正側へ移動させたときに、前記球体の表面が前記接触点で最後に接する位置に前記球体を設定する工程と、を含むことを特徴とする請求項３に記載の３次元点群データの修正方法。
【請求項６】
前記球体設定工程では、前記選択点と当該選択点と隣接する２つの点によって定義される平面を２つ以上抽出し、各平面に対する法線ベクトルを平均化し、当該平均化されたベクトルを法線ベクトルとした平面を前記仮想平面とすることを特徴とする請求項５に記載の３次元点群データの修正方法。
【請求項７】
前記球体設定工程では、前記接触判定点群から所定の不正点を除外することを特徴とする請求項３から６の何れかに記載の３次元点群データの修正方法。
【請求項８】
前記不正点は、前記点群を構成する複数の点の中からサグ値に基づく折れ判定によって抽出された点であることを特徴とする請求項７に記載の３次元点群データの修正方法。
【請求項９】
前記球体設定工程は、前記点群を構成する複数の点を全て選択点とし、各選択点に対して前記球体を設定する工程と、当該工程によって得られた全ての球体に対して和演算を施すことによって１つの立体を設定する工程と、を備え、
前記修正面定義工程では、前記球体設定工程によって設定された立体の表面のうち前記修正軸の負側の面を全修正面と定義し、
前記修正工程では、前記点群のうち前記全修正面に含まれる全修正点について、当該全修正点が前記全修正面に接するように前記修正軸の座標値を修正することを特徴とする請求項２から８の何れかに記載の３次元点群データの修正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元点群データの修正方法に関する。
【背景技術】
【０００２】
自動車のアウタパネルやルーフパネルなどのパネル製品は、所望の製品形状をかたどった金型で一の板材を加圧してプレス成形品を成形し、このプレス成形品から製品部分を切り取った後、縁部を曲げてフランジ部を形成したり、ボルトが挿通する孔を空けたりすることにより形成される。このようなパネル製品では、実際に製造する製造工程の前に、製造ラインの設計が行われる。
【０００３】
具体的には、製品形状のデザイン設計が行われると、このデザイン設計からプレス成形品のドローモデルを生成し、ＣＡＥ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｅｎｇｉｎｅｅｒｉｎｇ）によるモデル形状評価を行うことで、デザインされた形状が実際にプレス加工可能であるか確認することとしている。ＣＡＥによるモデル形状評価には、例えば、特許文献１に示すような所定のアルゴリズムによって生成されたポリゴンデータが用いられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１４０３７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところでポリゴンデータとは、３次元形状を微小な三角形や四角形等のポリゴンを要素として表現するものであり、具体的には各ポリゴンの頂点に相当する点の集合で構成される。所定のアルゴリズムを用いて生成されたポリゴンデータには、本来であれば平らになっているべきところが折れ形状となっている部分が存在する。このため、上記ＣＡＥによる評価を行う前に、ポリゴンデータには図１２に示すような折れ形状をなだらかにするスムーズ化処理が施される。
【０００６】
ここで、ドローモデルとして用いられるポリゴンデータに従来のスムーズ化処理を施した場合に生じる課題について説明する。
図１３は、実線で示すような断面形状を有するポリゴンデータに従来のスムーズ化処理を施した場合の結果を示す図である。図１３において、上下方向はプレス方向と等しい。
【０００７】
図１３において破線で示すように、従来のスムーズ化処理では特定の方向を特別視していないため、凹状の部分も凸状の部分も共に曲率半径が大きくなるように修正される。ところが対象とするポリゴンデータがドローモデルである場合、図１３に示すように凸状の部分まで修正されるのは好ましくない。ドロー成形は、一連のプレス工程の中の最初の工程として、鋼板を最終的に得ようとする製品形状に近い形に成形することを目的とするからである。
【０００８】
本発明は、ドローモデルに適した３次元点群データの修正方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
（１）上記目的を達成するため本発明は、３次元点群データを構成する点群の座標値を所定の修正軸に沿って修正する３次元点群データの修正方法であって、前記点群の中の１つの選択点に対して前記修正軸の正側へ所定間隔離れた位置に、当該負側へ凸の曲面形状の修正面を設定する修正面設定工程（例えば、図１０のＳ５〜Ｓ８）と、前記点群のうち前記修正軸に沿って視て前記修正面に含まれる修正点について、当該修正点が前記修正面に接するように前記修正軸の座標値を修正する修正工程（例えば、図１０のＳ９）と、を含むことを特徴とする３次元点群データの修正方法を提供する。
【００１０】
（２）この場合、前記修正面設定工程は、前記選択点に対して前記修正軸の正側へ所定間隔離れた位置に所定形状の球体を設定する球体設定工程（例えば、図１０のＳ５〜Ｓ７）と、前記球体設定工程において設定された球体の表面のうち前記修正軸の負側の少なくとも一部の面を修正面と定義する修正面定義工程（例えば、図１０のＳ８）と、を含むことが好ましい。
【００１１】
（３）この場合、前記球体設定工程では、前記球体を、その表面が前記選択点及びその周囲の複数の点で構成される接触判定点群のうちの１つの接触点で接する位置に設定するか、又はその表面が前記接触判定点群を構成する点を繋ぐ線のうちの１つの接触点で接する位置に設定することが好ましい。
【００１２】
（４）この場合、前記球体設定工程では、前記球体の中心位置を前記選択点に対して前記修正軸に沿って正側から負側へ移動させたときに、前記球体の表面が前記接触点で最初に接する位置に前記球体を設定することが好ましい。
【００１３】
（５）この場合、前記球体設定工程は、前記選択点を中心とした仮想平面を設定する工程と、前記仮想平面に対して前記選択点において接する位置に前記球体を定義する工程と、当該定義された球体を前記修正軸に沿って負側から正側へ移動させたときに、前記球体の表面が前記接触点で最後に接する位置に前記球体を設定する工程と、を含むことが好ましい。
【００１４】
（６）この場合、前記球体設定工程では、前記選択点と当該選択点と隣接する２つの点によって定義される平面を２つ以上抽出し、各平面に対する法線ベクトルを平均化し、当該平均化されたベクトルを法線ベクトルとした平面を前記仮想平面とすることが好ましい。
【００１５】
（７）この場合、前記球体設定工程では、前記接触判定点群から所定の不正点を除外することが好ましい。
【００１６】
（８）この場合、前記不正点は、前記点群を構成する複数の点の中からサグ値に基づく折れ判定によって抽出された点であることが好ましい。
【００１７】
（９）この場合、前記球体設定工程は、前記点群を構成する複数の点を全て選択点とし、各選択点に対して前記球体を設定する工程（例えば、図１０のＳ５〜Ｓ６）と、当該工程によって得られた全ての球体に対して和演算を施すことによって１つの立体を設定する工程（例えば、図１０のＳ７）と、を備え、前記修正面定義工程では、前記球体設定工程によって設定された立体の表面のうち前記修正軸の負側の面を全修正面と定義し、前記修正工程では、前記点群のうち前記全修正面に含まれる全修正点について、当該全修正点が前記全修正面に接するように前記修正軸の座標値を修正することが好ましい。
【発明の効果】
【００１８】
（１）本発明では、３次元点群データを構成する点群の１つの選択点に対し、所定の修正軸の正側へ所定間隔離れた位置に負側へ凸の曲面形状の修正面を設定する。そして、点群のうち修正面に含まれる修正点について、この修正点が修正面に接するようにその修正軸の座標値を修正軸の正側へ修正する。これにより、点群のうち凹状の部分は負側へ凸の曲面形状に応じて修正される。また、修正面を点群に対して修正軸の正側に定義することにより、凹状（負側に向かって凸）の部分のみなめらかに修正され、凸状（正側に向かって凸）の部分は修正されないので、ドローモデルに適した３次元点群データの修正が可能となる。
【００１９】
（２）上述のように修正軸の正側へ凹状の部分のみなめらかに修正するためには、修正面は球面の一部に限らず修正軸の負側へ凸の曲面形状であればよい。しかしながら、修正面を複雑な形状とすると、選択点に対して適切な位置及び向きで修正面を設定するために複雑な演算が必要となり、時間がかかる。この課題は、３次元点群データを構成する膨大な数の点に対して修正面を設定する場合、特に顕著となる。これに対し本発明では、選択点に対し修正軸の正側へ離れた位置に所定形状の球体を設定し、この球体の修正軸の負側の一部の面を修正面と定義する。これにより、簡易な演算によって選択点側へ凸の曲面形状の修正面を設定することができる。また、このように球体の一部の面を修正面とすることにより、球体の半径を変更するだけで、修正後のデータのなめらかさも調整することができる。
【００２０】
（３）本発明では、その負側の表面が修正面となる球体を、選択点及びその周囲の複数の点で構成される接触判定点群のうちの１つの接触点で接するか、又は接触判定点群を構成する点を繋ぐ線のうち１つの接触点で接する位置に設定する。これにより、接触判定点群を構成する点の座標値を、修正面でなめらかに修正できる。
【００２１】
（４）本発明では、球体の中心位置を選択点に対して修正軸に沿って正側から負側へ移動させたときに、球体の表面が上記接触点で最初に接する位置に球体を設定する。このようにして球体と選択点との相対位置を設定することにより、接触判定点群を構成する点の座標値を、修正面でなめらかに修正できる。この球体の位置設定方法は、乱れた点群の位置をなめらかに修正するのに適している。
【００２２】
（５）本発明では、選択点を中心とした仮想平面を設定し、この仮想平面に対して選択点において接する位置に球体を定義し、さらにこの球体を修正軸に沿って負側から正側へ移動させたときに球体の表面が接触点で最後に接する位置に球体を設定する。このように球体と選択点との相対位置を設定することにより、接触判定点群を構成する点の座標値を、修正面でなめらかに修正できる。この球体の位置設定方法は、様々な形状を有する点群の位置をなめらかに修正するのに適している。
【００２３】
（６）本発明では、選択点とこれと隣接する２つの点によって定義される平面を２つ以上抽出し、各平面に対する法線ベクトルを平均化して得られる平均化法線ベクトルを用いて仮想平面を定義する。これにより、容易に仮想平面に接する位置に球体を定義することができる。
【００２４】
（７）３次元点群データを構成する点群の中には、何等かのエラーによってあからさまにおかしな位置に点が存在する場合があり、このような点を不正点という。本発明では、球体の位置を設定するにあたり、点群の中から選択された選択点だけでなく、その周囲に設けられる点の位置も考慮する。そしてこのような接触判定点群を構成する点に不正点が存在すると、それにつられて球体が好ましくない位置に設定されてしまい、これによって不正点の周囲の点も好ましくない位置に修正される場合がある。本発明では、接触判定点群からこのような不正点を除外することにより、不正点の影響を受けることなくその周囲の点の座標値をなめらかに修正できる。
【００２５】
（８）本発明では、点群を構成する複数の点の中からサグ値に基づく折れ判定によって不正点を抽出する。これにより、容易に不正点を抽出することができる。
【００２６】
（９）本発明では、点群を構成する複数の点を全て選択点とし、これら選択点に対して全て球体を設定し、これによって得られた全ての球体に対して和演算を施すことによって１つの立体を設定する。そして、この立体の表面のうち修正軸の負側の面を全修正面と定義し、点群のうち全修正面に含まれる全修正点について、全修正面に接するように修正軸の座標値を正側に修正する。これにより、３次元点群データを構成する点群について、速やかに修正することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施形態に係るポリゴンデータの修正システムの機能的な構成を示すブロック図である。
【図２】修正システムによるポリゴンデータの修正方法の概念を説明するための図である。
【図３】ポリゴンデータの構成を模式的に示す図である。
【図４】不正点を模式的に示す図である。
【図５】サグ値の定義を示す図である。
【図６】Ｚ軸接球作成法の手順を説明するための図である。
【図７】図６をＺ軸に沿って視た図である。
【図８】法平面接球作成法の手順を説明するための図である。
【図９】仮想平面を設定する手順を説明するための図である。
【図１０】修正システムによるポリゴンデータの修正方法の具体的な手順を示すフローチャートである。
【図１１】和演算を経ない変形例の方法を説明するための図である。
【図１２】ポリゴンデータのスムーズ化処理の一例を示す図である。
【図１３】ポリゴンデータに従来のスムーズ化処理を施した場合の結果を示す図である。
【発明を実施するための形態】
【００２８】
図１は、本発明の一実施形態に係るポリゴンデータの修正システム１の機能的な構成を示すブロック図である。本発明の修正システム１は、演算装置、入力装置、表示装置、記憶装置等のハードウェアから成るコンピュータによって構成される。修正システム１は、記憶部２と、不正点抽出部３と、修正面作成部５と、ポリゴンデータ修正部６と、を備える。修正システム１は、これらの機能を組み合わせることによって、ポリゴンデータを構成する点群の座標値を修正する。各要素の機能について順に説明する前に、修正システム１によるポリゴンデータの修正方法の概念を説明する。
【００２９】
図２は、修正システムによるポリゴンデータの修正方法の概念を説明するための図である。図２において、各丸印はポリゴンデータを構成する点を示す。白丸は修正前の点であり、黒丸は修正後の点である。修正前と修正後が同じである場合には黒丸で示す。
【００３０】
修正システムでは、予め準備されたポリゴンデータの各点の位置に関する情報を読み込み、図２において破線で示すように所定の指定半径Ｒで特徴付けられる球体を各点に対して修正軸の正側の所定の位置に設定する。次に、点毎に設定された球体全てに対して和演算を施すことによって、図２において太実線で示すような１つの立体を生成し、この立体の修正軸の負側の面を修正面とする。そして、修正システムでは、図２に示すように、ポリゴンデータを構成する点が修正面に接するように、修正軸に沿って正側へ移動させることによって各点の修正軸の座標値を修正する。
【００３１】
図１に戻って、修正システム１を構成する各要素の機能について順に説明する。
記憶部２は、修正の対象となるポリゴンデータの他、修正面を生成するために用いられる不正点指示データや指示半径データ等を記憶する。ここで、記憶部２に予め記憶されているポリゴンデータとしては、例えば図３に示すような車両のアウタパネルのドロー成形に用いられるドローモデルに関するものが好ましい。また以下では、ポリゴンデータが定義される座標系について、図３に示すようにプレス方向とＺ軸は平行であるものとする。このようなポリゴンデータは、既知の方法によって生成されたものが用いられる。より具体的には、例えば、本願出願人による特開２００９−１０４４５６号公報や、特願２０１３−２５２２９５号等に開示された方法によって、生成されたデータが用いられる。
【００３２】
図１に戻って、不正点指示データとは、ポリゴンデータを構成する複数の点のうち、何等かのエラーによって生成された明らかにおかしな不正点を特定するために必要なデータをいう。不正点とは、より具体的には例えば図４に示すように本来であればほぼ同一の平面内に全ての点が設けられているべきところ、１点又は数点のみこの平面から大きく外れた位置に設けられた点をいう。この不正点指示データは、後述の不正点抽出部３によって生成されたものが用いられるが、本発明はこれに限らない。例えば、上記ポリゴンデータを所定のアルゴリズムに従って生成する際に、これと併せて自動で生成されたものでもよいし、あるいは一旦生成したポリゴンデータを作業者が目視によって不正点を抽出することによって生成されたものでもよい。
【００３３】
図１に戻って、指示半径データとは、図２を参照して説明したように修正面を生成するために必要となる球体の指定半径Ｒの大きさを指定するデータである。この指示半径データは、予め作業者によって定められる。
【００３４】
不正点抽出部４の機能について説明する。不正点抽出部４は、記憶部２に記憶されたポリゴンデータを読み込み、その各構成点について１つずつ折れ判定を行うことによって、対象とする点が不正点であるか否かを判定し、この判定結果に基づいて上記不正点指示データを生成するとともに記憶部２に記憶させる。不正点は、例えば、対象とする点のサグ値に基づく折れ判定によって判定することができる。
【００３５】
ここでサグ値とは、図５に示すように対象とする点Ｐ１と、この点Ｐ１に隣接する２点Ｐ２，Ｐ３とが与えられると、下記式によって算出される。不正点抽出部４は、下記式によって算出したサグ値が所定値以上である場合には点Ｐ１は不正点であると判定し、所定値より小さい場合には点Ｐ１は不正点でないと判定する。
ｈ＝ａ・ｂ・ｓｉｎθ／（ａ２＋ｂ２−２ａ・ｂ・ｃｏｓθ）１／２
【００３６】
図１に戻って、修正面作成部５の機能について説明する。修正面作成部５は、所定のアルゴリズムに従ってポリゴンデータを構成する点（不正点を除く）毎に球体を作成する接球作成部５１と、接球作成部５１によって作製された複数の球体を用いて仮想包絡面を作成する仮想包絡面作成部５２と、を備える。以下では、Ｚ軸接球と法平面接球との２種類の球体を作成するアルゴリズムを順に説明する。
【００３７】
図６は、Ｚ軸接球作成法の手順を説明するための図である。図６において白丸はポリゴンデータを構成する点を模式的に示したものである。また図６における上下方向はＺ軸と平行である。図７は、図６をＺ軸に沿って視た図である。
【００３８】
Ｚ軸接球作成法では、始めにポリゴンデータを構成する複数の点のうち１つを選択する。以下ではこの点を選択点ともいう。図６の例では、選択点はＰ６である。
次に、図６において実線で示すように、この選択点に対してＺ軸の正側に十分に離れた位置に指定半径Ｒで特徴付けられる球体を設ける。またこの際、Ｚ軸に沿って視た場合に球体の中心と選択点とが重なるように、球体の中心の座標値は、Ｚ軸の値を除いて選択点の座標値と等しくする。
【００３９】
次に、上述のような位置に設定された球体を図６において矢印で示すようにＺ軸に沿って正側から負側へ移動させながら、球体の表面とポリゴンを構成する点とが初めて接する位置を探索する。図６に示す例では、点Ｐ８が初めて球体の表面と接する点となる。またこの際、不正点指示データによって特定される不正点（図６中、Ｐ７）は除外して判定する。図７に示すように、球体をＺ軸に沿って移動させた場合、球体の表面は、選択点の他、合計１４個の点と接する可能性がある。以下では、このように球体をＺ軸に沿って移動したときに球体の表面と接する可能性がある点の集合を接触判定点群という。また以下では、図７に示すようにＺ軸に沿って視たときに、所定の点が球体の内側に存在することを、所定の点が球体に含まれる、ともいう。すなわち、接触判定点群は球体に含まれる点で構成される。
【００４０】
次に、図６において破線で示すように、接触判定点群を構成する１つの点と球体の表面とが接する位置が探索されたら、これを球体の位置として設定する。これにより、１つの選択点Ｐ６に対するＺ軸接球が設定される。なお以下では、ポリゴンデータを構成する点又は点を繋ぐ線と接するようにその位置が設定された球体を特に接球ともいう。
【００４１】
なお以上の説明では、接触判定点群を構成する複数の点のうちの何れか１つの点と接する位置にＺ軸接球を設定したが、本発明はこれに限らない。例えば、接触判定点群を構成する点を繋ぐ線のうち１つの線と接する位置にＺ軸接球を設定しても、同様の効果が得られる。
【００４２】
図８は、法平面接球作成法の手順を説明するための図である。図８において白丸はポリゴンデータを構成する点を模式的に示したものである。また図８における上下方向はＺ軸と平行である。
【００４３】
法平面接球作成法では、始めにＺ軸接球作成法と同様に１つの選択点を決定する。図８のす例では、選択点はＰ２である。
次に、選択点を中心とした仮想平面を設定する。この仮想平面は、図９に示すように選択点と、この選択点と隣接する２つの点によって定義される三角形の平面を２つ以上抽出し、抽出した各平面Ｔ１〜Ｔ６に対する法線ベクトルを平均化し、この平均化したベクトルを法線ベクトルとした平面として設定される。
【００４４】
次に、この仮想平面を用いて球体の初期位置を設定する。より具体的には、図８に示すように、選択点に対してＺ軸の正側であってかつ仮想平面に対して選択点において接する位置に球体の初期位置を設定する。図８に示すように、仮想平面の法線ベクトルは必ずしもＺ軸とは平行にはならないため、初期位置に設定された球体の中心位置は、上述のＺ軸接球作成法とは異なりＸＹ平面へずれたものとなる。また、図８に示すように、初期位置に設定された球体の内部には、上述のＺ軸接球作成法とは異なり接触判定点群を構成する点のうちの幾つかが存在する場合がある。
【００４５】
次に、初期位置に設定された球体を図８において矢印で示すようにＺ軸に沿って負側から正側へ移動させたときに、球体の表面が接触判定点群を構成する複数の点のうち最後に接する位置を探索する。図８に示す例では、点Ｐ８が最後に球体の表面と接する点となる。またこの際、Ｚ軸接球設定法と同様に不正点指示データによって特定される不正点は接触判定点群から除外する。
【００４６】
次に、図８において破線で示すように、接触判定点群を構成する１つの点と球体の表面とが接する位置が探索されたら、これを球体の最終的な位置として設定する。これにより、１つの選択点Ｐ２に対する法平面接球が設定される。なお、図８の例とは異なり、初期位置に設定された球体の内部に選択点以外の点が存在しない場合もある。この場合、選択点に接するように初期位置に設定された球体が法平面接球として設定される。
【００４７】
なお以上の説明では、接触判定点群を構成する複数の点のうち何れか１つの点と接する位置に法平面接球を設定したが、本発明はこれに限らない。例えば、Ｚ軸接球設定法と同様に、接触判定点群を構成する点を繋ぐ線のうち１つの線と接する位置に法平面接球を設定しても、ほぼ同様の効果が得られる。
【００４８】
図１に戻って、接球作成部５１は、ポリゴンデータを構成する全ての点に対して以上のようなＺ軸接球又は法平面接球を設定する。なお、Ｚ軸接球の中心位置は選択点の位置とＸＹ平面の座標値が常に同じである。このため、ポリゴンデータの乱れが大きい場合には、法平面接球よりもＺ軸接球を用いる方が好ましい結果が得られる。また、法平面接球の中心位置のＸＹ平面における座標値は選択点における仮想平面に応じて設定される。このため、ポリゴンデータによって再現される形状の種類が豊富である場合には、Ｚ軸接球よりも法平面接球を用いる方が好ましい結果が得られる。
【００４９】
なお、接球作成部５１が作成する接球は、上記Ｚ軸接球及び法平面接球の何れか１種に限る必要はない。すなわち、１つの選択点に対して、上記Ｚ軸接球及び法平面接球の両方の接球を作成してもよい。これにより、上述のようなＺ軸接球の利点と法平面接球の利点とを兼ね備えたポリゴンデータの修正が可能となる。また、接球を作成するアルゴリズムは、これらＺ軸接球作成法及び法平面接球作成方法の２種に限らず、他の作成法を用いてもよい。また以下では、接球作成部５１によって各選択点に対して作成された複数の接球を総称して接球群ともいう。
【００５０】
仮想包絡面作成部５２は、以上のようにして作成された接球群に対して和演算を施すことによって、図２を参照して説明したように１つの立体を生成する。また、このように生成された１つの立体のＺ軸の負側の面は、上述のようにポリゴンデータの修正に用いられることから修正面ともいう。なお、このように接球群に和演算を施すことによって得られた修正面は、ポリゴンデータを構成する複数の点の上で指定半径Ｒの球体を転がした時に球体の表面の軌跡として形成される包絡面に似ていることから、以下ではこの修正面を仮想包絡面ともいう。
【００５１】
ポリゴンデータ修正部６は、記憶部２に記憶されたポリゴンデータと、仮想包絡面作成部５２によって作成された仮想包絡面とを比較し、これによってポリゴンデータの各点のＺ軸の座標値を修正する。より具体的には、ポリゴンデータ修正部６は、ポリゴンデータを構成する点群のうち上述の仮想包絡面に含まれる全ての点を全修正点とし、これら全修正点が仮想包絡面に接するように各々のＺ軸の座標値のみを修正する（図２参照）。
【００５２】
図１０は、以上のような修正システムによるポリゴンデータの修正方法の具体的な手順を示すフローチャートである。
始めにＳ１では、修正面作成部５は、記憶部２に記憶されたデータのうち修正の対象とするポリゴンデータ及び指定半径Ｒを読み込む。Ｓ２では、修正面作成部５は、Ｓ１で読み込んだポリゴンデータに付随した不正点指示データが記憶部２に記憶されているか否かを判定する。Ｓ２の判定がＹＥＳである場合には、修正面作成部５は記憶部２に記憶されている不正点指示データを読み込む（Ｓ３）。Ｓ２の判定がＮＯである場合には、修正面作成部５は、上述の不正点抽出部４の機能を用いて修正の対象とするポリゴンデータから不正点指示データを生成し、この不正点指示データを読み込む（Ｓ４）。
【００５３】
次にＳ５では、接球作成部５１は、図６及び図７を参照して説明したＺ軸接球作成法に従って、上記ステップで読み込んだポリゴンデータ、指定半径Ｒ、及び不正点指示データを用いて、ポリゴンデータを構成する点（不正点指示データによって特定されている不正点を除く）毎にＺ軸接球を作成する。
【００５４】
Ｓ６では、接球作成部５１は、図８及び図９を参照して説明した法平面接球作成法に従って、上記ステップで読み込んだポリゴンデータ、指定半径Ｒ、及び不正点指示データを用いて、ポリゴンデータを構成する点（不正点指示データによって特定されている不正点を除く）毎に法平面接球を作成する。
【００５５】
Ｓ７では、仮想包絡面作成部５２は、Ｓ５で作成したＺ軸接球群とＳ６で作成した法平面接球群に対して和演算を施すことにより、接球群から１つの立体を生成する。Ｓ８では、仮想包絡面生成部５２は、接球群から生成した１つの立体のＺ軸の負側の面を仮想包絡面として設定する（図２参照）。
【００５６】
Ｓ９では、ポリゴンデータ修正部６は、修正の対象とするポリゴンデータと、Ｓ８の処理によって作成された仮想包絡面とを読み込み、ポリゴンデータを構成する点群のうちＺ軸に沿って視て仮想包絡面に含まれる全ての点が仮想包絡面に接するように各々のＺ軸の座標値を修正する。Ｓ１０では、ポリゴンデータ修正部６は、Ｓ９の処理によってＺ軸の座標値が修正されたポリゴンデータを出力し、この処理を終了する。
【００５７】
なお、本発明は上記実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良などは本発明に含まれるものである。
【００５８】
例えば、上記実施形態では、球体として指定半径Ｒのみで特徴付けられる真球を採用した場合について説明したが、本発明はこれに限らない。より具体的には、球体としては、楕円をその長軸又は短軸を中心して回転して得られる扁球を採用してもよい。真球を扁球とすることにより、計算量が多くなると考えられるものの、図２を参照して説明したように本発明のポリゴンデータの修正方法は、真球を扁球に替えることを妨げる理由はない。
【００５９】
また上記実施形態では、球体を設定し（図１０のＳ５〜Ｓ７参照）、この球体の一部の面を修正面（図１０のＳ８参照）としたが、本発明はこれに限らない。すなわち、球体の設定を経ずに、直接修正面を設定するようにしてもよい。また修正面の形状も球体の一部の面の形状（すなわち、球面）である必要はない。修正面の形状は、修正軸の負側へ向かって凸であればどのような形状でもよい。
【００６０】
また上記実施形態では、接球作成部５１で接球群を作成し、仮想包絡面作成部５２でこの接球群に対して和演算を施すことによって１つの立体を作成した上で、ポリゴンデータ修正部６で上記１つの立体を用いてポリゴンデータを修正したが、本発明はこれに限らない。すなわち、上記実施形態で説明したように、接球群に対する和演算を経ずとも同じ結果を得ることができる。
【００６１】
図１１は、和演算を経ない変形例の方法を説明するための図である。図１１には、ポリゴンデータを構成する１つの所定点について、この所定点が接触判定群として属する３つの接球Ａ，Ｂ，Ｃを、線種を変えて示した図である。
【００６２】
変形例では、修正前の所定点を各接球Ａ，Ｂ，ＣのＺ軸負側の面にＺ軸に沿って投影し、各投影点のＺ軸の座標値ＺＡ，ＺＢ，ＺＣを算出する。そして、これら投影座標値ＺＡ，ＺＢ，ＺＣの最小値を所定点のＺ軸の座標値の修正後の値とする。これにより、上記実施形態と比較して投影座標値を計算する分だけ計算量が増えるものの、同じ結果を得ることができる。
【符号の説明】
【００６３】
１…修正システム
２…記憶部
３…不正点抽出部
５…修正面作成部
６…ポリゴンデータ修正部
【図１】
0006342276.tif 000002
【図２】
0006342276.tif 000003
【図３】
0006342276.tif 000004
【図４】
0006342276.tif 000005
【図５】
0006342276.tif 000006
【図６】
0006342276.tif 000007
【図７】
0006342276.tif 000008
【図８】
0006342276.tif 000009
【図９】
0006342276.tif 000010
【図１０】
0006342276.tif 000011
【図１１】
0006342276.tif 000012
【図１２】
0006342276.tif 000013
【図１３】
0006342276.tif 000014