(57)【特許請求の範囲】
【請求項１】
３次元形状データである形状モデルの欠落部分に対して穴埋めを行う装置であって、
形状モデルを入力する入力手段と、
入力された形状モデルに対して処理を行うＣＰＵと、
前記ＣＰＵが処理を実行するために必要なデータの格納領域および作業領域を提供するメモリと、を有し、
前記ＣＰＵは、
前記形状モデルの欠落部分に、当該欠落部分に沿ったｘｙ平面を想定しｘｙ平面と直交するｚ方向を貼り付けの方向として当該欠落部分よりも大きい格子状の平面を貼り付ける第１のステップと、
貼り付けた前記格子状の平面を変形することによって、前記形状モデルの欠落部分に対応した輪郭をもち、かつ１つの入力項目に対応したパラメータで全体の湾曲の度合いが規定される曲面モデルを生成する第２のステップと、
前記形状モデルと前記曲面モデルとを位置合わせした状態を示す画像を表示する第３のステップと、
パラメータ値の指定変更操作に呼応して、前記曲面モデルの形状を変形させる第４のステップと、
了承操作により前記形状モデルの欠落部分に対する穴埋めを完了させる第５のステップと、を実行するものであり、
前記第２のステップにおいて、前記欠落部分の周辺の前記形状モデルのデータ位置を境界条件とし、曲面が滑らかでない度合いを表すエネルギー関数を設定し当該エネルギー関数が最小になるように、前記ｘｙ平面内であって前記欠落部分の内部となる格子点をｚ方向に移動させて曲面を生成する、
ことを特徴とする形状モデルの欠落部分の穴埋め装置。
【発明の詳細な説明】
【０００１】
本発明は、３次元形状データである形状モデルの欠落部分の穴埋め装置に関する。
【０００２】
【従来の技術】
３次元計測装置を利用したモデリングが行われている。例えば光切断法を用いる３次元計測装置は、スリット光を投射し且つ偏向することによって対象物を光学的にスキャンし、三角測量の原理を適用して演算により３次元形状データを求める。対象物の全周を計測し、得られた３次元形状データを繋ぎ合わせることにより、対象物の全体についての形状モデルが得られる。
【０００３】
対象物の形状、向き、または照明の状態などの計測条件によっては、部分的に３次元形状データが得られず、データの欠落が生じることがある。このような場合に、３次元形状データの修正が行われる。
【０００４】
従来において、データが欠落した部分に対して穴埋めを行う方法として、プリミティブの格子を変形するなどして新たに曲面を生成し、生成した曲面とデータ欠落部の輪郭部分とを繋ぐ方法がある。特開平１１−１５９９４号公報には、穴埋めが不自然とならないように、オペレータが結果を確認しながら試行錯誤で曲面の微調整を行うことの可能なコンピュータシステムが開示されている。このシステムでは、曲面内の１個以上の点とその移動先の位置とを指定すれば、移動先の位置を含む滑らかな面へと元の曲面が自動的に変形され、形状の変化を示す数値データが表示される。オペレータは数値データによって変形を評価し、結果に不満であれば改めて曲面内の点およびその移動先を指定する。
【０００５】
【発明が解決しようとする課題】
従来では、形状モデルに追加する曲面を調整するときに、オペレータが入力しなければならない指定値が多く、形状モデルのデータ修正作業が面倒であるという問題があった。特に、起伏の複雑な曲面の場合には、多数の点について指定しなければならず、作業負担が大きかった。
【０００６】
本発明は、簡単な入力操作で形状モデルの欠落部分に所望の曲面を追加して穴埋めできるようにすることを目的としている。
【０００７】
本発明に係る装置は、３次元形状データである形状モデルの欠落部分に対して穴埋めを行う装置であって、形状モデルを入力する入力手段と、入力された形状モデルに対して処理を行うＣＰＵと、前記ＣＰＵが処理を実行するために必要なデータの格納領域および作業領域を提供するメモリと、を有し、前記ＣＰＵは、前記形状モデルの欠落部分に、当該欠落部分に沿ったｘｙ平面を想定しｘｙ平面と直交するｚ方向を貼り付けの方向として当該欠落部分よりも大きい格子状の平面を貼り付ける第１のステップと、貼り付けた前記格子状の平面を変形することによって、前記形状モデルの欠落部分に対応した輪郭をもち、かつ１つの入力項目に対応したパラメータで全体の湾曲の度合いが規定される曲面モデルを生成する第２のステップと、前記形状モデルと前記曲面モデルとを位置合わせした状態を示す画像を表示する第３のステップと、パラメータ値の指定変更操作に呼応して、前記曲面モデルの形状を変形させる第４のステップと、了承操作により前記形状モデルの欠落部分に対する穴埋めを完了させる第５のステップと、を実行するものであり、前記第２のステップにおいて、前記欠落部分の周辺の前記形状モデルのデータ位置を境界条件とし、曲面が滑らかでない度合いを表すエネルギー関数を設定し当該エネルギー関数が最小になるように、前記ｘｙ平面内であって前記欠落部分の内部となる格子点をｚ方向に移動させて曲面を生成する。
【００１０】
【発明の実施の形態】
図１は本発明に係る３次元処理装置の構成を示すブロック図である。
３次元処理装置１は、バス１０、ＣＰＵ（中央処理装置）１１、メモリ１２、補助記憶装置１３、入出力インタフェース１４、キーボード１５、マウス１６、および表示装置１７を備えたコンピュータシステムである。
【００１１】
ＣＰＵ１１は、本発明を適用したデータ修正を含む種々の処理を実行する。メモリ１２は、ＣＰＵ１１が実行する手順を記述した制御プログラムを格納するＲＯＭ１２ａと、ＣＰＵ１１が各種処理を実行するために必要なデータの格納領域および作業領域を提供するＲＡＭ１２ｂとを有する。補助記憶装置１３は、３次元データ（形状データ）、２次元カラー画像データなどの処理対象となるデータを格納するために用いられる。入出力インタフェース１４は、処理対象のデータを装置の外部から入力し、または生成したデータを装置の外部へ出力するために用いられる。
【００１２】
キーボード１５およびマウス１６は、各種の指示または設定の入力に用いられる。表示装置１７は、３次元データおよび生成した面の画像を表示するとともに、処理状況や処理結果、および処理過程の表示にも用いられる。表示装置１７はマルチウインドウシステムによって複数のウィンドウを表示することが可能である。
【００１３】
３次元処理装置１を用いることにより、図示しない３次元計測装置から入力されたり、モデリング処理で作成されたりした３次元データに対して、所望の曲面データを追加することができる。この機能は、形状モデルの欠落部分（穴）に対する穴埋めに好適である。
【００１４】
図２は穴埋めの概念図である。
例示における修正対象の３次元データは、マスコット人形の形状モデルＭである。形状モデルＭには欠落部分９０が存在する。すなわち、マスコット人形の上面部分が欠落している。穴埋めは、欠落部分９０に対して格子状の平面ｍを貼り付け、その平面ｍを形状モデルＭに応じた適切な曲面に変形させ、曲面と欠落部分の輸郭とを繋ぐデータ処理である。３次元処理装置１においては、オペレータ（ユーザー）は簡単な操作で所望の湾曲状態の穴埋めを行うことができる。
〔第１の操作形態〕
図３は操作の第１例の説明図である。図３（ａ）はダイアログの構成を示し、図３（ｂ）はモニタ表示の切り換わりの例を示している。
【００１５】
第１例における操作の手順は次のとおりである。
（１）形状モデルＭの修正が可能なモデリングモードにおいて、オペレータは欠落部分９０を含む領域を指定して穴埋めの実行を指示する。これを受けて、３次元処理装置１は、欠落部分９０の輪郭を検出して処理対象を特定するとともに、表示装置１７の画面内にパラメータ値（後述の係数γ）を問い合わせるダイアログ７１を表示する。
（２）オペレータは、ダイアログ７１におけるスライダのノブ７１４をドラッグすることにより、パラメータ値を０〜１の間で設定する。そして、オペレータが表示（Ａｐｐｌｙ）ボタン７１１をクリックする。３次元処理装置１は、穴埋めの演算を行い、画面内のモニタ領域７５に穴埋めの結果を示す画像Ｇ４を表示する。この演算過程が本発明の第１のステップに相当し、結果の表示が第２のステップに相当する。画像Ｇ４は、形状モデルＭに曲面ｍ４を位置合わせした状態を示す。曲面ｍ４の湾曲状態はパラメータ値によって規定されている。
（３）満足のいく結果が得られなかった場合には、オペレータは適当なパラメータ値に設定し直し、再び表示ボタン７１１をクリックする。満足できる形状になるまでこれを繰り返す。パラメータ値の設定変更に呼応して、３次元処理装置１は演算をやり直して結果を表示する。この過程が本発明の第３のステップに相当する。図３（ｂ）の例では、画像Ｇ４が表示された後、計２回のパラメータ変更が行われ、変更毎に画像Ｇ４から画像Ｇ２へ、さらに画像Ｇ２から画像Ｇ３へと表示が切り換わっている。曲面ｍ４よりパラメータ値を大きくすれば、曲面ｍ４よりも湾曲が緩やかな曲面ｍ２で穴埋めされ、曲面ｍ４と曲面ｍ２の中間のパラメータ値を設定すれば、曲面ｍ４よりも緩やかで曲面ｍ２よりも急峻な曲面ｍ３で穴埋めされる。
【００１６】
なお、画像Ｇ２，Ｇ３，Ｇ４は、仮想空間内に配置した形状モデルを画面に投影した像である。オペレータは、シェーディングを施したサーフェスモデル、ワイヤーフレームモデルなどの表示形態の選択が可能である。
（４）満足のいく結果が得られら了承（ＯＫ）ボタン７１２をクリックする。これにより穴埋めが完了する。穴埋めをした状態の形状モデルが修正後の３次元データとして補助記憶装置１３に保存される。
〔第２の操作形態〕
図４は操作の第２例の説明図である。図４（ａ）はダイアログの構成を示し、図４（ｂ）はモニタ表示の切り換わりの例を示している。
【００１７】
第２例における操作の手順は次のとおりである。
（１）モデリングモードにおいて、オペレータは欠落部分９０を含む領域を指定して穴埋めの実行を指示する。これを受けて、３次元処理装置１は、欠落部分９０の輪郭を検出して処理対象を特定し、パラメータのデフォルト値（例えば０．５）を適用して穴埋めの演算を行う。そして、３次元処理装置１は、演算の結果を示す画像Ｇ３をモニタ領域７５に表示するとともに、パラメータ値の良否を問い合わせるダイアログ７２を表示する。
（２）オペレータは、ダイアログ７２におけるスライダのノブ７２４をドラッグすることにより、パラメータ値を０〜１の間で設定することができる。ドラッグと連動して、ドラッグ位置のパラメータ値を適用して穴埋めの演算が行われ、その結果を示す画像Ｇ１〜Ｇ５がリアルタイムで表示される。つまり、スライダの操作を行うだけで、穴埋め部分を平面化したり尖らせたりと自由に変形させることができる。
（３）満足のいく結果が得られたならば、了承（ＯＫ）ボタン７２２をクリックする。これにより穴埋めが完了する。
【００１８】
このような第２の形態によれば、穴埋めの作業を第１の形態よりも迅速に進めることができる。ただし、ＣＰＵ１１を含むデバイスの処理能力が十分に高いことが要求される。
【００１９】
以下、穴埋めの演算について説明する。
図５は穴埋めのためのデータ処理の内容を説明するための図である。
図５（ａ）のように、欠落部分（以下、穴という）９０に沿ったｘｙ平面を想定し、ｘｙ平面と直交するｚ方向を貼り付けの方向として、欠落部分９０にそれより大きい平面（格子）ｍを対応づける。そして、穴９０の内部の格子点をｚ方向に移動させて曲面を生成する。平面ｍの各格子点の配置に際しては、形状モデルＭにおける穴の周辺のデータの位置（傾き）の影響を考慮する。すなわち、穴周辺のデータ位置を境界条件として、各補間点間の二階微分までの総和が最小になるように格子点位置を計算する。このときの一階微分と二階微分の項の係数を変化させることによって、生成する曲面の形状を変化させることができ、上述のようにユーザの希望どうりの穴埋めを実現することができる。
【００２０】
図５において太い枠線で示すように、穴９０に対してバウンディングボックス（Ｂｏｕｎｄｉｎｇ  ｂｏｘ）ＢＢを生成する。バウンディングボックスＢＢ内に格子を作り、バウンディングボックスＢＢの外にも１ライン分の環状の格子を作る。この格子点数は、穴９０の周辺の三次元データから自動的に求める。オペレータが指定することもできる。
【００２１】
格子点のうち、穴９０の内部に存在する点（図５の白丸○）を未知データとし、これらのｚ方向の位置を求めることが曲面の生成である。バウンディングボックスＢＢの内側に存在し、穴９０の外に存在する点（図５の黒丸●）は既知データで、形状モデルＭと曲面とを滑らかに繋ぐための境界値として用いる。バウンディングボックスＢＢ上および外の点（図５の黒四角■）は境界値である。ここで、境界値は、格子点を形状モデルＭのポリゴンに射影することによって求めることができる。
【００２２】
これらの境界値、既知データ、および未知データを、ｕy,x 、ｙ＝０，…Ｎｙ＋３、ｘ＝０，…Ｎｘ＋３（ここで、Ｎｘ、ＮｙはそれぞれバウンディングボックスＢＢ内のｘ方向、ｙ方向における格子点の個数である。）のように２次の配列とする。境界値、既知データは、すでに求められているとする。また、格子の間隔をｘ方向及びｙ方向のそれぞれついてＨｘ、Ｈｙとおく。
【００２３】
未知データを求めるために、エネルギー関数を設定し、そのエネルギー関数が最小になるように未知データの値を定める。
Ｅ（ｕ）＝Ｓ（ｕ）＋Ｐ（ｕ）
ここでＳ（ｕ）は滑らかでない度合いを表し、Ｐ（ｕ）は制約条件からのずれを表す。
【００２４】
Ｓ（ｕ）は一階微分と二階微分の総和で表現し、Ｐ（ｕ）については考慮しないものとする。すなわち、
【００２５】
【数２】
0004214645.tif 000002
【００２６】
Ｓ（ｕ）において、一階微分の項の係数γが１に近ければ、一階微分の項の影響が強くなるので、生成される曲面の曲り具合が小さくなり平らな状態になる。これに対して、係数γが０に近ければ、二階微分の項の影響が強くなるので、曲り具合が大きくなる。
【００２７】
このエネルギー関数Ｅ（ｕ）が最小になるようなｕ0 を求める。ｕ＝ｕ0 のときに最小になるとすれば、
∇Ｅ（ｕ0 ）＝∇Ｓ（ｕ0 ）＝０
が成り立つ。
∇Ｓ（ｕ0 ）＝０を展開すると連立一次方程式となる。その連立一次方程式を解いて未知データを求める。求めた未知データから曲面を生成することができる。この際に、γの値を変更することによって、ユーザの希望どおりの穴埋めを行うことができる。未知データのみを使って曲面を生成し、その生成した曲面と穴９０の輪郭部分とを繋げれば、穴埋めが完了する。
【００２８】
以上の実施形態において、１つの入力項目に対応した湾曲を規定するパラメータが複数（例えばｘ軸方向とｙ軸方向とで独立したパラメータ）であってもよい。パラメータ変更操作に係わる表示部材はスライダに限らず、ダイヤル状のものでもよい。
【００２９】
本発明によれば、簡単な入力操作で形状モデルの欠落部分に所望の曲面を追加して穴埋めすることができる。
【図面の簡単な説明】
【図１】本発明に係る３次元処理装置の構成を示すブロック図である。
【図２】穴埋めの概念図である。
【図３】操作の第１例の説明図である。
【図４】操作の第２例の説明図である。
【図５】穴埋めのためのデータ処理の内容を説明するための図である。
【符号の説明】
Ｍ  形状モデル
ｍ１〜ｍ５  曲面（曲面モデル）
９０  欠落部分（修正対象部分）
Ｇ１〜Ｇ５  画像
７２ダイアログ  （部材）
【図１】
0004214645.tif 000003
【図２】
0004214645.tif 000004
【図３】
0004214645.tif 000005
【図４】
0004214645.tif 000006
【図５】
0004214645.tif 000007