(57)【要約】【課題】２つの３次元形状モデルの差分を簡単な方法で求め、その部分を視覚的に容易に判別できるように表示できる３次元形状処理方法を提供する。【解決手段】モデルＡ、Ｂの各面上の各ピクセルのＺ値を計算・記憶し（Ｓ１）、続いてモデルＢのＺ値中の最小値を取り出し（Ｓ２）、モデルＡのＺ値中でＳ２で取り出したＺ値より小さいＺ値のピクセルがあれば（Ｓ３でＹｅｓ）モデルＡ内のそれらのピクセルの位置にドットを描画し（Ｓ４）、次にモデルＢの残りのＺ値中の最小値を取り出し（Ｓ５）、モデルＡのＺ値中でＳ５で取り出したＺ値より小さいＺ値のピクセルがあれば（Ｓ６でＹｅｓ）モデルＡ内のそのピクセルの位置にドットを描画する（Ｓ７）。モデルＢの残りのＺ値がある限り（Ｓ８でＹｅｓ）、Ｓ５〜Ｓ７の処理を繰り返し、モデルＢの残りのＺ値がなくなると（Ｓ８でＮｏ）、最後に取り出したモデルＢのＺ値より大きいＺ値がモデルＡにあれば（Ｓ９でＹｅｓ）デルＡ内のそれらのピクセルの位置にドットを描画する（Ｓ１０）。【選択図】      図５
2004185191.tif 000002
【特許請求の範囲】
【請求項１】
３次元形状モデルを表示する３次元形状表示手段を備えた３次元形状処理装置において、同一の３次元座標空間に置かれた複数の３次元形状モデル間の差分を求める差分算出手段を備え、前記３次元形状表示手段により前記複数の３次元形状モデルを表示させる際、前記差分が明らかになるように表示させる構成にしたことを特徴とする３次元形状処理装置。
【請求項２】
データ処理結果に従って３次元形状モデルを表示する３次元形状処理方法において、同一の３次元座標空間に置かれた複数の３次元形状モデル間の差分を求め、前記複数の３次元形状モデルを表示させる際、前記差分が明らかになるように表示させることを特徴とする３次元形状処理方法。
【請求項３】
請求項２記載の３次元形状処理方法において、第１の３次元形状モデルのうち、第１の３次元形状モデルと第２の３次元形状モデルとの差分に当たる部分をシェーディング表示にして、前記第２の３次元形状モデルをワイヤーフレーム表示にすることを特徴とする３次元形状処理方法。
【請求項４】
請求項２記載の３次元形状処理方法において、第１の３次元形状モデルのうち、第１の３次元形状モデルと第２の３次元形状モデルとの差分に当たる部分をシェーディング表示にして、第２の３次元形状モデルを半透明表示にすることを特徴とする３次元形状処理方法。
【請求項５】
請求項２記載の３次元形状処理方法において、第２の３次元形状モデルのうち、第１の３次元形状モデルと第２の３次元形状モデルとの差分に当たる部分をシェーディング表示にして、第２の３次元形状モデルを前記シェーディング表示とは異なる色のシェーディング表示にすることを特徴とする３次元形状処理方法。
【請求項６】
請求項２乃至請求項５のいずれか１項に記載の３次元形状処理方法において、前記差分を求める際、視点からの距離を示す値を用いて差分を計算することを特徴とする３次元形状処理方法。
【請求項７】
請求項６記載の３次元形状処理方法において、差分に当たる部分をシェーディング表示にする第１の３次元形状モデルの視点側に置かれている第２の３次元形状モデルの第１の３次元形状モデル側の面が裏面を視点側に向けている場合、その裏面のうち第１の３次元形状モデルより視点側にある領域に重なって表示されている第１の３次元形状モデルの面についてはシェーディング表示にすることを特徴とする３次元形状処理方法。
【請求項８】
情報処理装置上で実行されるプログラムにおいて、請求項２乃至請求項７のいずれか１項に記載の３次元形状処理方法によった３次元形状処理を実行させるようにプログラミングされていることを特徴とするプログラム。
【請求項９】
プログラムを記憶した記憶媒体において、請求項８記載のプログラムを記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元ＣＡＤ／ＣＡＭ／ＣＡＥ／ＣＧシステムなどにおける３次元形状処理・表示技術に係わり、特に、複数の３次元形状モデル間の干渉状態をわかりやすく表示することができる３次元形状処理・表示技術に関する。
【０００２】
【従来の技術】
近年、３次元ＣＡＤ／ＣＡＭ／ＣＧシステムなどの普及により３次元形状データの利用者層が拡大するとともに、アセンブリモデル、サブアセンブリや部品など部分モデルの干渉（重なり、ぶつかり）を検出するシミュレーションや組み立て性の検証など様々な局面で３次元形状データを有効活用する機会が増えている。ＣＡＤシステムなどにより生成された３次元形状データを製造工程へ移行する前に、コンピュータ上で解析／検証するのは今やあたりまえになりつつある。なかでも、複数の部分モデル（サブアセンブリや部品に相当）から構成されるアセンブリモデルについて、その個々の部分モデル間の干渉を検出する機能は、ＣＡＤ／ＣＡＭシステムにおいて設計ミスや入力ミスをチェックする形状評価などに有用な機能である。
ところで、干渉部が検出できたならば、干渉している部分と干渉していない部分がわかるように利用者に示す必要がある。しかし、従来は、干渉状態にある複数の３次元形状モデルを示すだけで干渉している部分と干渉していない部分を区別して表示していなかった。
【０００３】
【発明が解決しようとする課題】
前記したように、従来技術においては、干渉している部分と干渉していない部分を区別して表示していなかった。また、従来技術を用いて区別表示しようとすれば、集合演算により例えば２つの３次元形状モデルの差分（重なっていない部分）などを求めることになるので、アルゴリズムが複雑になり、開発コストが多大になるし、処理時間も長くなってしまう。
本発明の目的は、このような従来技術の問題を解決することにあり、具体的には、２つの３次元形状モデルの差分を簡単な方法で求め、その部分を視覚的に容易に判別できるように表示できる３次元形状処理方法などを提供することにある。
【０００４】
【課題を解決するための手段】
前記の課題を解決するために、請求項１記載の発明では、３次元形状モデルを表示する３次元形状表示手段を備えた３次元形状処理装置において、同一の３次元座標空間に置かれた複数の３次元形状モデル間の差分を求める差分算出手段を備え、前記３次元形状表示手段により前記複数の３次元形状モデルを表示させる際、前記差分が明らかになるように表示させる構成にした。
また、請求項２記載の発明では、データ処理結果に従って３次元形状モデルを表示する３次元形状処理方法において、同一の３次元座標空間に置かれた複数の３次元形状モデル間の差分を求め、前記複数の３次元形状モデルを表示させる際、前記差分が明らかになるように表示させる構成にした。
また、請求項３記載の発明では、請求項２記載の発明において、第１の３次元形状モデルのうち、第１の３次元形状モデルと第２の３次元形状モデルとの差分に当たる部分をシェーディング表示にして、第２の３次元形状モデルをワイヤーフレーム表示にする構成にした。
また、請求項４記載の発明では、請求項２記載の発明において、第１の３次元形状モデルのうち、第１の３次元形状モデルと第２の３次元形状モデルとの差分に当たる部分をシェーディング表示にして、第２の３次元形状モデルを半透明表示にする構成にした。
また、請求項５記載の発明では、請求項２記載の発明において、第２の３次元形状モデルのうち、第１の３次元形状モデルと第２の３次元形状モデルとの差分に当たる部分をシェーディング表示にして、第２の３次元形状モデルを前記シェーディング表示とは異なる色のシェーディング表示にする構成にした。
また、請求項６記載の発明では、請求項２乃至請求項５のいずれか１項に記載の発明において、前記差分を求める際、視点からの距離を示す値を用いて差分を計算する構成にした。
また、請求項７記載の発明では、請求項６記載の発明において、差分に当たる部分をシェーディング表示にする第１の３次元形状モデルの視点側に置かれている第２の３次元形状モデルの第１の３次元形状モデル側の面が裏面を視点側に向けている場合、その裏面のうち第１の３次元形状モデルより視点側にある領域に重なって表示されている第１の３次元形状モデルの面についてはシェーディング表示にする構成にした。
また、請求項８記載の発明では、情報処理装置上で実行されるプログラムにおいて、請求項２乃至請求項７のいずれか１項に記載の３次元形状処理方法によった３次元形状処理を実行させるようにプログラミングされている構成にした。
また、請求項９記載の発明では、プログラムを記憶した記憶媒体において、請求項８記載のプログラムを記憶した。
【０００５】
【発明の実施の形態】
以下、図面により本発明の実施の形態を詳細に説明する。
図１は本発明が実施される３次元形状処理装置のハードウェア構成図である。図示したように、この３次元形状処理装置は、プログラムに従って動作するＣＰＵ１、そのプログラムや各種データを一時的に記憶するメモリ（例えばＲＡＭ）２、前記プログラムや各種データを保存しておく外部記憶装置（例えばハードディスク装置）３、着脱可能な記憶媒体からデータを読み込む読み込み装置、キーボード、マウスなどを有して３次元形状データを含む各種データや指示を入力する入力装置４、３次元形状モデルなどを表示する表示装置５などを備える。
図２は、前記したようなハードウェアと前記プログラム（ソフトウェア）により実現される、本発明の各実施例の３次元形状処理システムのシステム構成図である。図示したように、この実施例の３次元形状処理システムは、入力装置４により、３次元形状モデルを生成したり変形したりするためのデータや指示を入力したり、他の３次元形状処理システムなどから３次元形状データを入力したりする形状データ入力部１１、入力されたデータを用いて３次元形状モデルを生成したり変形したりする形状データ処理部１２、同一３次元座標空間に置かれた複数の３次元形状モデル間の差分を求める差分算出部１３、３次元形状モデルを表示させる際に前記差分が明らかになるように表示したりする表示部１４などを備える。なお、この実施例では、請求項１記載の差分算出手段および３次元形状表示手段が、それぞれ差分算出部１３および表示部１４により実現される。
このような構成で、本発明の各実施例の３次元形状処理システムでは、同じ３次元座標空間に置かれた状態の例えば２つの３次元形状モデルの３次元形状データを用いて差分（重なっていない部分）がわかるように表示する。なお、この実施例で言う３次元形状モデルは前記したアセンブリモデルまたは部分モデルである。
図３に、比較する２つの３次元形状モデルＡ、Ｂの配置例をワイヤーフレームで示す。図示したように、２つの３次元形状モデルＡ、Ｂの一部が重なっている。
図４に、図３に示したように置かれた２つの３次元形状モデルＡ、Ｂを表示する第１の実施例を示す。図示したように、この実施例では、３次元形状モデルＡのうち、３次元形状モデルＡ（以下、モデルＡと略す）と３次元形状モデルＢ（以下、モデルＢと略す）との差分に当たる部分をシェーディング表示にし、３次元形状モデルＢをワイヤーフレーム表示にする。
【０００６】
図５に、この実施例の動作フローを示す。以下、図５に従って、この実施例の動作を説明する。なお、この実施例では、モデルＡのモデルＢに対する差分をＺ値（視点からの距離）を用いて計算する。
まず、モデルＡ、Ｂの各面上の各ピクセル（ドット）（３次元内の面を２次元の座標に変換して描画した領域の１ドットが１ピクセルで、描画する領域が３２０×２４０ならば３２０×２４０ピクセル（ドット）ある）のＺ値を計算し、メモリ２内の所定領域に記憶しておく（Ｓ１）。
続いて、モデルＢのＺ値のなかの最小値を取り出し（Ｓ２）、モデルＡのＺ値のなかでステップＳ２で取り出したＺ値より小さいＺ値のピクセルがあるか否かを判定し（Ｓ３）、あれば（Ｓ３でＹｅｓ）モデルＡ内のそれらのピクセルの位置にドットを描画する（Ｓ４）（この例の場合はない）。
次に、モデルＢの残りのＺ値のなかの最小値を取り出し（Ｓ５）、モデルＡのＺ値のなかでステップＳ５で取り出したＺ値より小さいＺ値のピクセルがあるか否かを判定し（Ｓ６）、あれば（Ｓ６でＹｅｓ）モデルＡ内のそのピクセルの位置にドットを描画する（Ｓ７）。
モデルＢの残りのＺ値がある限り（Ｓ８でＹｅｓ）、ステップＳ５〜Ｓ７の処理を繰り返し、モデルＢの残りのＺ値がなくなると（Ｓ８でＮｏ）、最後に取り出したモデルＢのＺ値より大きいＺ値がモデルＡにあるか否かを判定し（Ｓ９）、あれば（Ｓ９でＹｅｓ）モデルＡ内のそれらのピクセルの位置にドットを描画する（Ｓ１０）。
こうして、この実施例によれば、図４に示したように表示され、同じ３次元座標空間に置かれた２つの３次元形状モデルの重なっている部分と重なっていない部分を視覚的に容易に判別できる。また、そのための計算は、主としてＺ値の計算と比較であるので、簡単におこなえる。
【０００７】
本発明の第２の実施例では、差分を求める際、視点からの距離を示す値（Ｚ値）を用いるだけでなく、さらに、モデルＢ（視点側に置かれたモデル）の面の表面が視点側を向いているか、裏面が視点側を向いているか考慮して差分を計算する。図６に、この実施例の動作フローを示す。以下、図６に従って、この実施例の動作を説明する。
まず、モデルＡ、ＢのＺ値を計算し、メモリ２内の所定領域に記憶しておく（Ｓ１１）。
続いて、モデルＡのＺ値のなかの最小値を取り出し（Ｓ１２）、そのピクセルの表示位置にモデルＢの面が重なって表示されているならば、そのモデルＢの面（複数の面が重なっているならばモデルＡに一番近い面）について、視点側の面が表面か裏面かを判定する（Ｓ１３）。そして、視点側の面が表面であるならば（Ｓ１３でＹｅｓ）、第１の実施例と同様にしてモデルＡの当該ピクセルの描画処理をおこなう（Ｓ１４）。それに対して、モデルＢの視点側の面が裏面であるならば（Ｓ１３でＮｏ）、モデルＡの当該ピクセルだけを描画する（Ｓ１５）。次に、モデルＡの残りのＺ値があるか否かを判定し（Ｓ１６）、あれば（Ｓ１６でＹｅｓ）そのなかの最小値を取り出し（Ｓ１７）、ステップＳ１３から繰り返す。そして、残りがなくなれば（Ｓ１６でＮｏ）、この動作フローを終了させる。このときの描画例を図７に示す。
こうして、この実施例によれば、３次元空間に置かれた２つの３次元形状モデルの重なっている部分と重なっていない部分を視覚的に容易に判別できるし、そのための計算も簡単におこなえる。また、第１の実施例では、モデルＡ中の差分の部分のうちモデルＢに隠されている部分はシェーディング表示されなかったが、第２の実施例ではこの部分もシェーディング表示されるので、モデルＡに着目する場合、重なっている部分と重なっていない部分を視覚的に更に容易に判別できる。
なお、前記した第１または第２の実施例では、モデルＢをワイヤーフレーム表示にしたが、モデルＢを半透明表示にしたり、モデルＡのシェーディング表示とは異なる色のシェーディング表示にしてもよい。
【０００８】
以上、本発明の実施例を説明したが、説明したような３次元形状処理方法に従ってプログラミングしたプログラムを着脱可能な記憶媒体に記憶し、その記憶媒体をこれまで本発明によった３次元形状処理をおこなえなかったパーソナルコンピュータなど情報処理装置に装着することにより、または、そのようなプログラムをネットワークを介してそのような情報処理装置へ転送することにより、そのような情報処理装置においても本発明によった３次元形状処理をおこなうことができる。
【０００９】
【発明の効果】
以上説明したように、本発明によれば、請求項１および請求項２記載の発明では、同一の３次元座標空間に置かれた、当該複数の３次元形状モデル間の差分を求め、その複数の３次元形状モデルを表示させる際、その差分が明らかになるように表示することができるので、差分に当たる部分を視覚的に容易に判別することができる。
また、請求項３記載の発明では、請求項２記載の発明において、第１の３次元形状モデルのうち、第１の３次元形状モデルと第２の３次元形状モデルとの差分に当たる部分をシェーディング表示にし、第２の３次元形状モデルをワイヤーフレーム表示にすることができるので、前記差分が明らかになる。
また、請求項４記載の発明では、請求項２記載の発明において、第１の３次元形状モデルのうち、第１の３次元形状モデルと第２の３次元形状モデルとの差分に当たる部分をシェーディング表示にして、第２の３次元形状モデルを半透明表示にすることができるので、同様に前記差分が明らかになる。
また、請求項５記載の発明では、請求項２記載の発明において、第２の３次元形状モデルのうち、第１の３次元形状モデルと第２の３次元形状モデルとの差分に当たる部分をシェーディング表示にして、第２の３次元形状モデルをそのシェーディング表示とは異なる色のシェーディング表示にすることができるので、同様に前記差分が明らかになる。
また、請求項６記載の発明では、請求項２乃至請求項５のいずれか１項に記載の発明において、前記差分を求める際、視点からの距離を示す値を用いて差分を計算することができるので、干渉線を求めたりして差分を求めるのに比べて計算が簡単になる。
また、請求項７記載の発明では、請求項６記載の発明において、差分に当たる部分をシェーディング表示にする第１の３次元形状モデルの視点側に置かれている第２の３次元形状モデルの第１の３次元形状モデル側の面が裏面を視点側に向けている場合、その裏面のうち第１の３次元形状モデルより視点側にある領域に重なって表示されている第１の３次元形状モデルの面についてはシェーディング表示にすることができるので、第１の３次元形状モデル中の差分に当たる部分のうち第２の３次元形状モデルに隠されている部分もシェーディング表示にすることができ、第１の３次元形状モデルＡに着目する場合、重なっている部分と重なっていない部分を視覚的に更に容易に判別できる。
また、請求項８記載の発明では、請求項２乃至請求項７のいずれか１項に記載の３次元形状処理方法によった３次元形状処理を実行させるようにプログラミングされているプログラムを情報処理装置上で実行させることができるので、情報処理装置を用いて請求項２乃至請求項７のいずれか１項に記載の発明の効果を得ることができる。
また、請求項９記載の発明では、請求項８記載のプログラムを着脱可能な記憶媒体に記憶することができるので、その記憶媒体をこれまで請求項２乃至請求項７のいずれか１項に記載の発明によった３次元形状処理をおこなえなかったパーソナルコンピュータなど情報処理装置に装着することにより、そのような情報処理装置においても請求項２乃至請求項７のいずれか１項に記載の発明の効果を得ることができる。
【図面の簡単な説明】
【図１】本発明が実施される３次元形状処理装置のハードウェア構成図である。
【図２】本発明の各実施例の３次元形状処理システムのシステム構成図である。
【図３】本発明の各実施例に係わる３次元形状処理方法の説明図である。
【図４】本発明の第１の実施例を示す３次元形状処理方法の表示図である。
【図５】本発明の第１の実施例を示す３次元形状処理方法の動作フロー図である。
【図６】本発明の第２の実施例を示す３次元形状処理方法の動作フロー図である。
【図７】本発明の第２の実施例を示す３次元形状処理方法の表示図である。
【符号の説明】
１  ＣＰＵ
２  メモリ
３  外部記憶装置
４  入力装置
５  表示装置
１１  形状データ入力部
１２  形状データ処理部
１３  差分算出部
１４  表示部
【図１】
2004185191.tif 000003
【図２】
2004185191.tif 000004
【図３】
2004185191.tif 000005
【図４】
2004185191.tif 000006
【図５】
2004185191.tif 000007
【図６】
2004185191.tif 000008
【図７】
2004185191.tif 000009