(57)【要約】【課題】３次元形状モデルの差分に印をつけて、表示領域を判別しやすくする３次元形状処理装置を提供する。【解決手段】３次元形状モデルの処理と表示を行う３次元形状処理方法において、同一の３次元座標空間に置かれた複数の３次元形状モデル間の差分を算出し、算出された差分の表示範囲を包み込む境界箱を算出し、算出した境界箱に基づいて、最適な印の大きさと位置を算出し、前記差分の表示範囲に対して、算出した位置に印を表示する。【選択図】図２
2006260119.tif 000002
【特許請求の範囲】
【請求項１】
３次元形状モデルの処理と表示を行う３次元形状処理装置において、同一の３次元座標空間に置かれた複数の３次元形状モデル間の差分を算出する差分算出部と、前記差分算出部で算出された差分の表示範囲を包み込む境界箱を算出する境界箱算出部と、前記境界箱算出部で算出した境界箱に基づいて、最適な印の大きさと位置を算出する印位置算出部と、前記差分の表示範囲に対して、前記印位置算出部で算出した位置に印を表示する表示部と、を備えることを特徴とする３次元形状処理装置。
【請求項２】
請求項１に記載の３次元形状処理装置において、前記境界箱算出部は、前記差分が連続する場合には、これらの連続する差分を統合することを特徴とする３次元形状処理装置。
【請求項３】
請求項１または２に記載の３次元形状処理装置において、前記表示部は、前記差分をシェーディングで表示することを特徴とする３次元形状処理装置。
【請求項４】
請求項１、２または３に記載の３次元形状処理装置において、前記表示部は、前記印の大きさに下限を設定することを特徴とする３次元形状処理装置。
【請求項５】
請求項１乃至４のいずれかに記載の３次元形状処理装置において、前記表示部は、前記印の大きさに上限を設定することを特徴とする３次元形状処理装置。
【請求項６】
請求項１乃至５のいずれかに記載の３次元形状処理装置において、前記境界箱算出部は、第１の差分より視点側に置かれている第２の差分が、第１の差分の表示範囲を全て含む場合、第１の差分に対する境界箱を印の算出処理の対象から外すようにしたことを特徴とする３次元形状処理装置。
【請求項７】
３次元形状モデルの処理と表示を行う３次元形状処理方法において、同一の３次元座標空間に置かれた複数の３次元形状モデル間の差分を算出し、算出された差分の表示範囲を包み込む境界箱を算出し、算出した境界箱に基づいて、最適な印の大きさと位置を算出し、前記差分の表示範囲に対して、算出した位置に印を表示することを特徴とする３次元形状処理方法。
【請求項８】
コンピュータに、請求項１乃至６のいずれかに記載の３次元形状処理装置の機能を実現させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元形状処理装置、３次元形状処理方法、プログラムおよび記録媒体に関し、形状の差分を強調して表示する３次元形状処理・表示技術に関し、３次元ＣＡＤ／ＣＡＭ／ＣＡＥ／ＣＧシステムなどにおける３次元形状処理・表示技術に適用して好適である。
【背景技術】
【０００２】
近年、３次元ＣＡＤ／ＣＡＭ／ＣＧシステムなどの普及により３次元形状データの利用者層が拡大するとともに、アセンブリモデル、サブアセンブリや部品など部分モデルの干渉（重なり、ぶつかり）を検出するシミュレーションや組み立て性の検証など様々な局面で３次元形状データを有効活用する機会が増えている。
【０００３】
このことについて、特許文献１の技術では、集合演算後の立体モデルから取り除くべき細かなバリがモデルのテーブル上のデータに基づいて判定され、その部分が修正すべき微小な図形とみなされて表示画面上に強調表示する。強調表示は、他の修正対象でない部分に対して、色替え、点滅、明度を変えるなどの明確な区別が施される。この結果、オペレータは取り除く必要のある稜線、距離の近い頂点などを容易に把握することができ、バリのない完全なモデルデータを構築することができる。
【０００４】
また、特許文献２では、モデルＡ、Ｂの各面上の各ピクセルのＺ値を計算・記憶し（Ｓ１）、続いてモデルＢのＺ値中の最小値を取り出し（Ｓ２）、モデルＡのＺ値中でＳ２で取り出したＺ値より小さいＺ値のピクセルがあれば（Ｓ３でＹｅｓ）モデルＡ内のそれらのピクセルの位置にドットを描画し（Ｓ４）、次にモデルＢの残りのＺ値中の最小値を取り出し（Ｓ５）、モデルＡのＺ値中でＳ５で取り出したＺ値より小さいＺ値のピクセルがあれば（Ｓ６でＹｅｓ）モデルＡ内のそのピクセルの位置にドットを描画する（Ｓ７）。
モデルＢの残りのＺ値がある限り（Ｓ８でＹｅｓ）、Ｓ５〜Ｓ７の処理を繰り返し、モデルＢの残りのＺ値がなくなると（Ｓ８でＮｏ）、最後に取り出したモデルＢのＺ値より大きいＺ値がモデルＡにあれば（Ｓ９でＹｅｓ）モデルＡ内のそれらのピクセルの位置にドットを描画する（Ｓ１０）。
これにより、２つの３次元形状モデルの差分を簡単な方法で求め、その部分を視覚的に容易に判別できるように表示できる３次元形状処理方法を提供している。
【特許文献１】特開平０２−１５６３８５号公報
【特許文献２】特開２００４−１８５１９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記のような従来技術では、３次元形状モデルの差分が非常に小さい場合に、判別することが困難な場合があった。
【０００６】
本発明は、上記の問題点を解決するために、３次元形状モデルの差分に印をつけて、表示領域を判別しやすくする３次元形状処理装置、３次元形状処理方法、３次元形状処理装置の機能をコンピュータで実現するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、請求項１に記載の３次元形状処理装置の発明は、３次元形状モデルの処理と表示を行う３次元形状処理装置において、同一の３次元座標空間に置かれた複数の３次元形状モデル間の差分を算出する差分算出部と、前記差分算出部で算出された差分の表示範囲を包み込む境界箱を算出する境界箱算出部と、前記境界箱算出部で算出した境界箱に基づいて、最適な印の大きさと位置を算出する印位置算出部と、前記差分の表示範囲に対して、前記印位置算出部で算出した位置に印を表示する表示部と、を備えることを特徴とする。
【０００８】
請求項２に記載の発明は、請求項１に記載の３次元形状処理装置において、前記境界箱算出部は、前記差分が連続する場合には、これらの連続する差分を統合することを特徴とする。
請求項３に記載の発明は、請求項１または２に記載の３次元形状処理装置において、前記表示部は、前記差分をシェーディングで表示することを特徴とする。
【０００９】
請求項４に記載の発明は、請求項１、２または３に記載の３次元形状処理装置において、前記表示部は、前記印の大きさに下限を設定することを特徴とする。
請求項５に記載の発明は、請求項１乃至４のいずれかに記載の３次元形状処理装置において、前記表示部は、前記印の大きさに上限を設定することを特徴とする。
【００１０】
請求項６に記載の発明は、請求項１乃至５のいずれかに記載の３次元形状処理装置において、前記境界箱算出部は、第１の差分より視点側に置かれている第２の差分が、第１の差分の表示範囲を全て含む場合、第１の差分に対する境界箱を印の算出処理の対象から外すようにしたことを特徴とする。
【００１１】
請求項７に記載の３次元形状処理方法の発明は、３次元形状モデルの処理と表示を行う３次元形状処理方法において、同一の３次元座標空間に置かれた複数の３次元形状モデル間の差分を算出し、算出された差分の表示範囲を包み込む境界箱を算出し、算出した境界箱に基づいて、最適な印の大きさと位置を算出し、前記差分の表示範囲に対して、算出した位置に印を表示することを特徴とする。
【００１２】
請求項８に記載の発明は、コンピュータに、請求項１乃至６のいずれかに記載の３次元形状処理装置の機能を実現させるためのプログラムである。
請求項９に記載の発明は、請求項８に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１３】
本発明によれば、同一の３次元座標空間に置かれた、複数の３次元形状モデル間の差分に対して、その差分領域を表示させる際、その差分が識別しやすいように差分領域を囲む印を表示するようにし、差分に当たる部分を視覚的に容易に判別することができる。
【００１４】
また、連続した差分の表示領域については、一つの印に置き換えて表示するため、差分の数が密集している場合などに、差分の表示領域が分かりやすくなる。
【００１５】
また、差分をシェーディング表示にすることにより、差分が分かりやすくなる。
また、差分を囲む印の大きさに上限や下限を設けたので、差分が非常に小さい場合にも、また、非常に大きい場合にも差分の表示領域が分かりやすくなる。
【００１６】
また、ある差分より視点側に、この差分の表示領域を含む他の差分の表示領域がある場合には、視点側の差分の表示領域を囲む印のみ表示し、視点側の差分の表示領域が分かりやすくなる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明の３次元形状処理装置に係る好適な実施形態について説明する。
図１は、本発明が適用される３次元形状処理装置のハードウェア構成図である。図１において、３次元形状処理装置は、プログラムに従って動作するＣＰＵ１、そのプログラムや各種データを一時的に記憶するメモリ（例えば、ＲＯＭやＲＡＭ等）２、プログラムや各種データを保存しておく外部記憶装置（例えば、ハードディスク装置）３、キーボード、マウスなどを有して３次元形状データを含む各種データや指示を入力する入力装置４、３次元形状モデルなどを表示する表示装置５などを備えている。
【００１８】
図２は、本実施形態に係る３次元形状処理装置の機能を示すブロック図である。同図において、３次元形状処理装置は、形状データ記憶部１１に記憶された３次元形状データを用いて３次元形状処理を行う一般的な機能のほかに、差分算出部１２、差分記憶部１３、境界箱算出部１４、境界箱記憶部１５、印位置算出部１６、印位置記憶部１７、表示部１８とを含んで構成される。
上記の各処理部は、前記したようなハードウェアとプログラムにより実現され、また、各記憶部は、メモリ２や外部記憶装置３を用いて記憶される。
【００１９】
差分算出部１２は、形状データ記憶部１１に記憶されている複数の形状データモデルが指定され、それらのモデルを同一座標空間に置いた場合の差分を算出し、この差分を表示装置５の２次元画面上のドット位置へマッピングした画面情報を差分記憶部１３へ記憶する。
【００２０】
境界箱算出部１４は、差分記憶部１３に記憶された画面情報から連続したドットを１つながりの差分形状とし、この差分形状を囲む最小の境界箱を検出し、この境界箱の上端、下端、左端、右端の各座標位置（表示画面上のドット位置）から境界箱の対角位置の座標値をそれぞれ計算する。この計算をすべての差分形状について境界箱の対角位置の座標値を計算して境界箱記憶部１５に記憶する。
さらに、境界箱算出部１４は、差分が接近している場合には、これらを含む最小の境界箱に統合し、そのまとめた境界箱で境界箱記憶部１５を更新する。この統合操作は、近接した差分がなくなるまで繰り返される。
また、境界箱算出部１４は、境界箱の中に別の差分を含んでいる場合には、一番外側の境界箱の情報を残し、この境界箱に含まれる差分の境界箱の情報を境界箱記憶部１５から削除する。
このように、ある差分から視点側に、この差分の表示領域を含む他の差分の表示領域がある場合には、視点側の差分の表示領域を囲む印のみ表示するようにし、視点側の差分の表示領域が分かりやすくなる。
【００２１】
印位置算出部１６は、境界箱記憶部１５に記憶した境界箱の対角位置の座標値から差分を囲む印の形状と印を表示する位置を計算して、印位置記憶部１７に記憶する。
印の形状としては、差分形状を囲むものであれば、円、楕円、多角形等のいずれであってもかまわない。例えば、境界箱の形状が正方形に近い場合は、円または多角形とし、また、横長あるいは縦長の矩形であれば楕円を用いる。
また、印の形状が「円」や「多角形」の場合には、境界箱の対角線の中点座標と対角線の長さの半分とを位置情報とする。
印の形状が「楕円」の場合には、境界箱の対角線の交点座標、境界箱の縦横の長さの短い方の長さ、境界箱の縦横の長さの比とを位置情報とする。
【００２２】
表示部１８は、指定した形状モデルを表示装置に表示し、その画面上に差分を表示するとともに、印位置記憶部１７に記憶された印の形状と位置情報から印を画面に表示する。
このとき、印を描くときに、印の大きさが非常に小さすぎると、ユーザがその印を発見できにくくなるので、所定の大きさを定め、この定めた大きさより小さい印のときは所定の大きさで印を描くようにしてもよい。また、逆に、大きすぎる場合にも、所定の大きさを定め、この大きさよりも大きいときには、所定のサイズの大きさの印を描くようにしてもよい。
このように、差分として見つけられた部分をシェーディング表示や印によって強調表示することによって、ユーザが差分を見つけやすくなる。
【００２３】
印の形状が「円」の場合には、位置情報に記憶されている中心の座標値と半径の長さによって円の表示命令で描くことができる。
また、印の形状が「多角形」であれば、多角形の辺の数をＮとし、位置情報に記憶されている対角線の交点の座標を（ｘ，ｙ）、対角線の長さの半分をａとし、ｉを０≦ｉ≦Ｎの範囲の整数とすると、
（ａ×ｃｏｓ（３６０／Ｎ×ｉ）＋ｘ、ａ×ｓｉｎ（３６０／Ｎ×ｉ）＋ｙ）
で表される座標のｉ番目と（ｉ＋１）番目を線分で結んでいくことで、多角形（Ｎ角形）を描くことができる。
また、印の形状が「楕円」であれば、位置情報に記憶されている対角線の交点座標を（ｘ,ｙ）、境界箱の縦横の長さの短い方の長さをＬ、境界箱の縦横の長さの比（縦：横＝ａ：ｂ）とし、点（ｘ,ｙ）を中心として半径Ｌの円周上の点（Ｘ，Ｙ）の替わりに、（ａＸ，ｂＹ）という点を結んでいくことで、縦：横＝ａ：ｂの楕円を描くことができる。
【００２４】
図３は、差分の強調表示の例である。立体Ｂから立体Ａを引いた差分が、図３の立体Ｃの灰色にシェーディング表示されている。この例では、立体Ｂに開いた穴で立体Ａでは埋まっている箇所がシェーディング表示されている。さらに、シェーディング表示した差分を囲む円を用いて、差分を強調表示している。
【００２５】
図４は、統合する前の差分の境界箱を算出する処理を説明するためのフローチャートである。境界箱算出部１４では、この処理が終了してから、統合操作が行われる。
まず、差分記憶部１３に記憶された画面上の最左最上のドットのドット情報を取り出し（ステップＳ１）、差分の表示領域であるかを確認していく（ステップＳ２）。
ここで、ドット情報とは、ドットの番号（すなわちドットの画面上での位置）、差分の表示領域かの情報、チェック済みかのフラグである。
【００２６】
このとき、取り出したドット情報が差分の表示領域でなければ（ステップＳ２でＮＯ）、次の未チェックのドットを探索する。未チェックであるかは、ドット情報のチェック済みかのフラグによって判定される。
探索は左から右に向かって行われ、現在見ているドットが画面の右端でなければ（ステップＳ５でＮＯ）、隣にドットがあるので、現在見ているドットの右隣のドット情報を取り出し（ステップＳ６）、そのドットが未チェックであれば（ステップＳ９でＹＥＳ）、再度差分であるかの判定を行う（ステップＳ２）。
【００２７】
一方、右隣のドットが未チェックでなければ（ステップＳ９でＮＯ）、右端まで探索したら（ステップＳ５でＹＥＳ）、一番下の段でない場合は（ステップＳ７でＹＥＳ）、下の段の最左のドット情報を取り出し（ステップＳ８）、ドットが未チェックであるかの判定をする（ステップＳ９）。
しかし、現在見ているドットが最下の最左のドットであった場合は（ステップＳ７でＹＥＳ）、処理を終了する。
【００２８】
他方、現在見ているドットが差分の表示領域ならば（ステップＳ２でＹＥＳ）、そのドット情報を入力として境界箱を抽出する（ステップＳ３）。
ここでは、入力として与えられたドット情報を用いて、差分として表示するドットの周囲のドット情報を調べて、差分として連続するかを調べ、周囲に差分として表示する未チェックドットがあれば、そのような全てのドットに対して同様に調べる。
【００２９】
このとき、調べる範囲を隣接した８ドットのみにすると図５のように差分（図の黒と灰色の部分）が１ドットを隔てて近接している場合、円を表示すると差分が判別しづらいことも考えられるため、調べる範囲として現在のドットに隣接する８ドットに隣接する１６ドットやさらに先も含めることで、このような問題を回避することも可能である。
【００３０】
次に、ドットの属する差分と同じ差分に属する全てのドットにチェック済みのフラグを立て、境界箱の上端、下端、左端、右端の座標値から、（左端、上端）および（右端、下端）の組にして、この二点の中点（対角線の交点）の座標値と二点間の距離の半分を計算し、境界箱記憶部１５に記憶し（ステップＳ４）、調査すべきドットがあるかを調べるためにステップＳ５へ進む。
【００３１】
以上のように構成すると、同一の３次元座標空間に置かれた、複数の３次元形状モデル間の差分に対して、その差分領域を表示させる際、その差分が識別しやすいように差分領域を囲む印を表示するようにし、差分に当たる部分を視覚的に容易に判別することができる。
【００３２】
本発明は、上述した実施形態のみに限定されたものではない。上述した実施形態の３次元形状処理装置を構成する各機能をそれぞれプログラム化して、予め記録媒体に書き込んでおき、この記録媒体に記録されたこれらのプログラムをコンピュータに備えられたメモリあるいは記憶装置に格納し、そのプログラムを実行することによって、本発明の目的が達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、そのプログラムおよびそのプログラムを記録した記録媒体も本発明を構成することになる。
また、上記プログラムは、そのプログラムの指示に基づき、オペレーティングシステムあるいは他のアプリケーションプログラム等と共同して処理することによって上述した実施形態の機能が実現される場合も含まれる。
【００３３】
なお、上述した実施形態の機能を実現するプログラムは、ディスク系（例えば、磁気ディスク、光ディスク等）、カード系（例えば、メモリカード、光カード等）、半導体メモリ系（例えば、ＲＯＭ、不揮発性メモリ等）、テープ系（例えば、磁気テープ、カセットテープ等）等のいずれの形態の記録媒体で提供されてもよい。あるいは、ネットワークを介して記憶装置に格納されたプログラムをサーバコンピュータから直接供給を受けるようにしてもよい。この場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
このように、上述した実施形態の機能をプログラム化して流通させることによって、コストの低廉化、および可搬性や汎用性を向上させることができる。
【図面の簡単な説明】
【００３４】
【図１】本発明が適用される３次元形状処理装置のハードウェア構成図である。
【図２】本実施形態に係る３次元形状処理装置の機能を示すブロック図である。
【図３】差分の強調表示の例である。
【図４】統合する前の差分の境界箱を算出する処理を説明するためのフローチャートである。
【図５】差分が１ドットを隔てて密に存在する例である。
【符号の説明】
【００３５】
１…ＣＰＵ、２…メモリ、３…外部記憶装置、４…入力装置、５…表示装置、１１…形状データ記憶部、１２…差分算出部、１３…差分記憶部、１４…境界箱算出部、１５…境界箱記憶部、１６…印位置算出部、１７…印位置記憶部、１８…表示部。
【図１】
2006260119.tif 000003
【図２】
2006260119.tif 000004
【図３】
2006260119.tif 000005
【図４】
2006260119.tif 000006
【図５】
2006260119.tif 000007