(57)【特許請求の範囲】
【請求項１】
仮想空間の画像を描画して表示する情報処理装置であって、
仮想物体をユーザが頭部に装着する表示装置の位置姿勢に対応する仮想視点から見た画像として描画する仮想物体描画手段と、
前記仮想物体描画手段で描画される仮想物体同士の干渉の有無を判定する干渉判定手段と、
前記干渉判定手段で第１仮想物体と第２仮想物体が干渉していると判定された場合に、前記第１仮想物体と前記第２仮想物体の干渉によって生じる断面の輪郭線を算出する干渉部位算出手段と、
前記干渉部位算出手段で算出される輪郭線を、前記仮想視点から見て、前記第１仮想物体または前記第２仮想物体によって隠される部分も含めて、前記第１仮想物体及び前記第２仮想物体のいずれよりも手前に描画する干渉部位描画手段とを備え、
前記仮想視点から見て、前記ユーザの手を表す仮想物体が、前記第１仮想物体と前記第２仮想物体とが干渉する部分を隠す場合、前記輪郭線を、前記第１仮想物体と前記第２仮想物体及び前記ユーザの手を表す仮想物体の全ての手前に描画することを特徴とする情報処理装置。
【請求項２】
前記干渉判定手段で干渉していると判定された仮想物体に応じて、前記干渉部位算出手段で算出される輪郭線のスタイルを決定するスタイル決定手段を備えたことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記スタイル決定手段は、前記干渉部位算出手段で算出される輪郭線の色を、前記干渉判定手段で干渉していると判定された仮想物体の色と異なる色にすることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記干渉部位描画手段は、前記干渉部位算出手段で算出される輪郭線を、陰線とそれ以外の線とで異なるスタイルの線で描画することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記干渉判定手段で、前記第１の仮想物体と前記第２の仮想物体及び第３の仮想物体が干渉すると判定され、かつ、前記干渉部位算出手段で前記第３の仮想物体が前記第２の仮想物体に包含されていると判定された場合、前記干渉部位描画手段は、前記第１の仮想物体と前記第３の仮想物体との干渉部位は描画しないことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記干渉部位描画手段は、前記干渉部位算出手段で算出される干渉部位の形状を描画した干渉部位画像を生成し、
前記干渉部位画像を不透明又は半透明として、前記仮想物体描画手段で描画される画像に重ねて描画することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
仮想空間の画像を描画して表示する情報処理装置の制御方法であって、
仮想物体をユーザが頭部に装着する表示装置の位置姿勢に対応する仮想視点から見た画像として描画する仮想物体描画ステップと、
前記仮想物体描画ステップで描画される仮想物体同士の干渉の有無を判定する干渉判定ステップと、
前記干渉判定ステップで第１仮想物体と第２仮想物体が干渉していると判定された場合に、前記第１仮想物体と前記第２仮想物体の干渉によって生じる断面の輪郭線を算出する干渉部位算出ステップと、
前記干渉部位算出ステップで算出される輪郭線を、前記仮想視点から見て、前記第１仮想物体または前記第２仮想物体によって隠される部分も含めて、前記第１仮想物体及び前記第２仮想物体のいずれよりも手前に描画する干渉部位描画ステップとを有し、
前記仮想視点から見て、前記ユーザの手を表す仮想物体が、前記第１仮想物体と前記第２仮想物体とが干渉する部分を隠す場合、前記輪郭線を、前記第１仮想物体と前記第２仮想物体及び前記ユーザの手を表す仮想物体の全ての手前に描画することを特徴とする情報処理装置の制御方法。
【請求項８】
仮想空間の画像を描画して表示するためのプログラムであって、
仮想物体をユーザが頭部に装着する表示装置の位置姿勢に対応する仮想視点から見た画像として描画する仮想物体描画手段と、
前記仮想物体描画手段で描画される仮想物体同士の干渉の有無を判定する干渉判定手段と、
前記干渉判定手段で第１仮想物体と第２仮想物体が干渉していると判定された場合に、前記第１仮想物体と前記第２仮想物体の干渉によって生じる断面の輪郭線を算出する干渉部位算出手段と、
前記干渉部位算出手段で算出される輪郭線を、前記仮想視点から見て、前記第１仮想物体または前記第２仮想物体によって隠される部分も含めて、前記第１仮想物体及び前記第２仮想物体のいずれよりも手前に描画する干渉部位描画手段としてコンピュータを機能させ、
前記仮想視点から見て、前記ユーザの手を表す仮想物体が、前記第１仮想物体と前記第２仮想物体とが干渉する部分を隠す場合、前記輪郭線を、前記第１仮想物体と前記第２仮想物体及び前記ユーザの手を表す仮想物体の全ての手前に描画することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間の画像を描画して表示する情報処理装置、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、設計・製造分野において、プロトタイプを用いた評価の期間短縮や費用削減が求められている。ＣＡＤ（コンピュータ支援設計）システムで作成した形状やデザイン等の設計データを用いて、組み立てやすさやメンテナンス性等を評価するための複合現実感（ＭＲ：Ｍｉｘｅｄ Ｒｅａｌｉｔｙ）システムが導入されている。
複合現実感システムを利用しての評価項目の例として、工具を目的の部品以外に干渉させずに作業が行えるかどうかを評価するというものがある。このような評価を行うための複合現実感システムでは、システム体験者が仮想物体（例えば工具）を動かして別の仮想物体（部品）に干渉させた場合に、その干渉部位を強調して提示する機能が求められることがある。その単純な実現方式として、干渉部位の表示色を予め定めておいた強調色に変更して提示する方式がある。しかしながら、この方式では、システム体験者の視点と干渉部位との間を遮蔽する仮想物体（遮蔽物）により干渉部位が隠されている場合、干渉部位を提示できなくなるという問題がある。
【０００３】
この対策として、特許文献１では、干渉する仮想物体の全体の表示色を変更して該仮想物体の画像を生成する方式が開示されている。この方式では、仮想物体の頂点ごとに異なる強調色を予め設定しておき、干渉が生じた際は、仮想物体全体の色を干渉部位に対応する頂点に設定された強調色に変えることで干渉部位を提示する。そのため、遮蔽物により干渉部位そのものがシステム体験者から見えなくなっている場合でも、干渉している仮想物体の少なくとも一部が見えていれば、各頂点と強調色との対応から干渉部位を把握することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４７５６８９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複合現実感システムにおいて仮想物体同士が干渉しており、システム体験者の視点からはその干渉部位の一部又は全体が遮蔽物によって隠されている状況を考える。
この状況においては、干渉部位の表示色を強調色に変更するだけでは、システム体験者に干渉部位を提示することが難しい。
また、特許文献１では、仮想物体の全体の表示色を変更することで、干渉部位そのものが隠されていても、仮想物体の一部が見えている状況では干渉部位がわかるようになっている。しかしながら、干渉部位そのものを可視的に表示することについては開示されていない。また、仮想物体の全体が見えていない状況では、干渉部位を提示できなくなる。
【０００６】
本発明は上記のような点に鑑みてなされたものであり、システム体験者の視点と干渉部位との間を遮蔽する仮想物体がある場合にも、干渉部位を視覚的に提示できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、仮想空間の画像を描画して表示する情報処理装置であって、仮想物体をユーザが頭部に装着する表示装置の位置姿勢に対応する仮想視点から見た画像として描画する仮想物体描画手段と、前記仮想物体描画手段で描画される仮想物体同士の干渉の有無を判定する干渉判定手段と、前記干渉判定手段で第１仮想物体と第２仮想物体が干渉していると判定された場合に、前記第１仮想物体と前記第２仮想物体の干渉によって生じる断面の輪郭線を算出する干渉部位算出手段と、前記干渉部位算出手段で算出される輪郭線を、前記仮想視点から見て、前記第１仮想物体または前記第２仮想物体によって隠される部分も含めて、前記第１仮想物体及び前記第２仮想物体のいずれよりも手前に描画する干渉部位描画手段とを備え、前記仮想視点から見て、前記ユーザの手を表す仮想物体が、前記第１仮想物体と前記第２仮想物体とが干渉する部分を隠す場合、前記輪郭線を、前記第１仮想物体と前記第２仮想物体及び前記ユーザの手を表す仮想物体の全ての手前に描画することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、システム体験者の視点と干渉部位との間を遮蔽する仮想物体がある場合にも、干渉部位を視覚的に提示することができる。これにより、組み立てやすさやメンテナンス性等を評価する際に、仮想物体同士の干渉部位がわかりやすくなり、評価を効率的に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る情報処理装置の機能構成を示すブロック図である。
【図２】第１の実施形態に係る情報処理装置の処理動作を示すフローチャートである。
【図３】第１の実施形態における干渉部位描画処理の詳細を示すフローチャートである。
【図４】仮想空間の画像の例を示す模式図である。
【図５】仮想空間の画像の例を示す模式図である。
【図６】仮想空間の画像の例を示す模式図である。
【図７】第２の実施形態における干渉部位描画処理の詳細を示すフローチャートである。
【図８】仮想空間の画像の例を示す模式図である。
【図９】第３の実施形態における干渉部位描画処理の詳細を示すフローチャートである。
【図１０】仮想空間の画像の例を示す模式図である。
【図１１】実施形態に係る情報処理装置を実現するためのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
［第１の実施形態］
図１は、第１の実施形態に係る情報処理装置の機能構成を示すブロック図である。
本実施形態に係る情報処理装置は、カメラ１０７から取り込んだ現実空間の画像と情報処理装置で描画した仮想空間の画像とを合成し、複合現実感映像として表示部１１０に表示する。
【００１１】
仮想物体データベース１０１は、仮想物体のモデルを保持するデータベースである。仮想物体のモデルは、例えば形状、表示色、初期位置姿勢を含んでいる。
カメラ１０７は、現実空間を撮影した画像を情報処理装置に取り込む。
位置姿勢入力部１０８は、カメラ１０７から取り込んだ現実空間の画像に基づいて、現実空間におけるカメラ１０７の位置姿勢を推定する。本実施形態では、カメラ１０７の位置姿勢がシステム体験者の視点位置姿勢と一致しているものとする。また、ここでは図示していないが、現実空間中には仮想物体の位置姿勢を定めるためのマーカが設置されており、システム体験者がこのマーカを動かすことによって仮想物体の位置姿勢を変更することができるものとする。なお、本発明を適用するにあたり、システム体験者の視点位置姿勢や仮想物体の位置姿勢を決定する方式はこれに限られるものではない。
【００１２】
仮想物体位置姿勢更新部１０２は、位置姿勢入力部１０８から入力されたシステム体験者の視点位置姿勢及び仮想物体の位置姿勢に基づいて、仮想視点、仮想物体を配置し、仮想空間を構築する。本実施形態では、仮想物体の形状を３次元の頂点の集合とその頂点を結んだ三角形ポリゴンの集合で表現する。そのため、仮想物体位置姿勢更新部１０２は、各仮想物体の各頂点の座標値を、カメラ１０７の光学中心を原点とした３次元の座標系における座標値に変換する。
【００１３】
仮想物体描画部１０４は、仮想物体を仮想視点から見た画像として描画する。３次元の仮想物体を描画する際には、本来見えないはずの線や面を描画しないようにすることで仮想物体の前後関係を正しく表現する、陰線・陰面処理が用いられる。
【００１４】
干渉判定部１０３は、仮想物体の位置姿勢及び形状に基づいて、仮想物体同士の干渉の有無を判定する。２つの仮想物体同士の干渉判定は、以下の手順で実現する。まず、それぞれの仮想物体から三角形ポリゴンを一つずつ取り出し、その三角形ポリゴン同士が交差しているかどうかを判定する。これを全ての三角形ポリゴンの組み合わせに対して行い、一つでも交差している場合は仮想物体同士が干渉していると判定する。さらに、この処理を全ての仮想物体の組み合わせに対して行う。なお、本発明を適用するにあたり、干渉の判定方式はこれに限られるものではない。
【００１５】
干渉部位算出部１０５は、干渉判定部１０３で干渉していると判定された仮想物体同士の干渉部位を算出する。本実施形態では、干渉部位を交差している三角形ポリゴンの集合と、交線の集合として表現する。なお、本発明を適用するにあたり、干渉部位の算出方式はこれに限られるものではない。
【００１６】
干渉部位描画部１０６は、仮想物体描画部１０４で描画された画像に対して、干渉部位算出部１０５で算出された干渉部位を重ねて描画する。干渉部位の描画の際は、陰線・陰面処理を無効化することで、仮想物体との前後関係によらず全ての干渉部位を描画する。すなわち、干渉部位は、仮想視点から見て、仮想物体描画部１０４で描画される仮想物体よりも手前に描画される。
本実施形態では、干渉部位の描画方法として、交線の集合を予め設定されたスタイルの線で描画する。予め設定された線のスタイルとは、色、線幅、パターン（線種）等のことであり、仮想物体同士の干渉部位の交線を例えば赤い太線で描画することで強調する。これを、干渉部位の強調表示と呼ぶ。これにより、システム体験者は干渉部位を把握することができる。
【００１７】
カメラ画像合成部１０９は、カメラ１０７から取り込んだ現実空間の画像に対して、仮想物体描画部１０４及び干渉部位描画部１０６で描画された仮想空間の画像を合成する。
表示部１１０は、ステレオ立体視が可能なビデオシースルー型ＨＭＤ（Ｈｅａｄ Ｍｏｕｎｔｅｄ Ｄｉｓｐｌａｙ）とする。ＨＭＤでは、カメラ及びディスプレイのペアが右目用及び左目用にそれぞれ取り付けられている。そのため、カメラ１０７、仮想物体描画部１０４、干渉部位描画部１０６、カメラ画像合成部１０９は、右目用及び左目用の画像を生成する。なお、表示部１１０の構成はこれに限られるものではない。
本実施形態では、現実空間の画像と仮想空間の画像とを合成し、複合現実感映像とする複合現実感システムを例に説明したが、それに限られるものではなく、本発明は仮想空間の画像を描画する情報処理装置であれば適用可能である。
【００１８】
図２に、第１の実施形態に係る情報処理装置の処理動作を示す。図４に、仮想空間の画像の例を示す。以下では、図４（ａ）に示すように、箱状の仮想物体４０１と円柱状の仮想物体４０２とが配置される状況を例として説明する。
ステップＳ２０１で、情報処理装置は、仮想物体データベース１０１から仮想物体４０１、４０２のモデルを読み込む。
ステップＳ２０２で、情報処理装置は、カメラ１０７で撮影された現実空間の画像を取り込む。
ステップＳ２０３で、仮想物体位置姿勢更新部１０２は、位置姿勢入力部１０８から入力されるカメラ１０７や仮想物体４０１、４０２の位置姿勢を定めるためのマーカの情報を、仮想物体４０１、４０２及び仮想視点の位置姿勢に反映させる。
【００１９】
ステップＳ２０４で、仮想物体描画部１０４は、一般的な陰線・陰面処理である奥行きバッファ（Ｚバッファ）を用いた判定を有効化し、ステップＳ２０５で、仮想物体４０１、４０２を描画する。これにより、仮想物体４０１、４０２を描画する際に、各画素における仮想物体４０１、４０２の奥行き値が、奥行きバッファの対応画素に保存されている値よりも小さい場合にのみ、その画素に仮想物体４０１、４０２を描画するよう処理される。また、奥行きバッファの対応画素の奥行き値も更新される。その結果、図４（ａ）に相当する画像が描画される。なお、本発明を適用するにあたり、陰線・陰面処理は、奥行きバッファを用いた判定に限られるものではない。
【００２０】
本実施形態では、仮想空間における仮想視点は、現実空間におけるカメラ１０７の位置姿勢と一致させる。これは、現実空間におけるシステム体験者の視点と、カメラ１０７の位置姿勢とが一致していると仮定しているためである。
また、現実空間中には仮想物体４０１、４０２それぞれの位置姿勢を定めるためのマーカが設置されており、システム体験者がこのマーカを動かすことによって仮想物体４０１、４０２の位置姿勢を変更することができるものとする。
【００２１】
ステップＳ２０６で、干渉判定部１０３は、仮想物体位置姿勢更新部１０２で更新された仮想物体４０１、４０２の位置姿勢及び形状に基づいて、仮想物体４０１、４０２が干渉しているかどうかを判定する。干渉が生じていた場合、ステップＳ２０８に進み、干渉が生じていない場合、ステップＳ２０７に進む。図４（ｂ）は、図４（ａ）の状態からシステム体験者が仮想物体４０２に対応するマーカを移動させ、仮想物体４０２が仮想物体４０１に干渉した状況を示す。
【００２２】
ステップＳ２０８で、干渉部位算出部１０５は、干渉判定部１０３で干渉していると判定された仮想物体４０１、４０２の干渉部位を算出する。
ステップＳ２０９で、干渉部位描画部１０６は、干渉部位描画処理を実行し、その後、ステップＳ２０７に進む。
【００２３】
ここで、図３を参照して、ステップＳ２０９の干渉部位描画処理の詳細を説明する。
ステップ３０１で、奥行きバッファを用いた陰線・陰面処理を無効化する。これにより、その後のステップで描画するグラフィックスは前後関係を考慮せず、全ての線と面を既に描画済みの画像に重ねて描画するようになる。
ステップＳ３０２で、ステップＳ２０５で描画された画像に対して、干渉部位の交線（境界線）を予め設定された色の太線で描画する。その結果、図４（ｂ）に示すように、仮想物体４０１、４０２に干渉部位の強調表示４０３が重ね描きされた画像が生成される。この画像では、仮想物体４０２の下部は仮想物体４０１との前後関係を考慮した陰線・陰面処理によって描かれていない。それに対して、干渉部位の強調表示４０３は、仮想物体４０２により陰線となる部分（上半分）も含めた全ての線が描画されている。これにより、干渉部位を視覚的に提示することができ、システム体験者は干渉部位を容易に把握することができる。
【００２４】
図２に説明を戻して、ステップＳ２０７で、カメラ画像合成部１０９は、以上のようにして描画された仮想物体４０１、４０２及び干渉部位の強調表示４０３を、カメラ１０７から取り込んだ現実空間の画像と合成して、表示部１１０に表示する。その後、ステップ２０２に戻り、以降を繰り返すことで、現実空間の撮影と、その撮影画像に対する仮想空間の画像の重畳とを連続的に行う複合現実感映像をシステム体験者に提示することができる。
【００２５】
本実施形態では、表示部１１０にステレオ視が可能なＨＭＤを用いるので、ステップＳ２０２からＳ２０９は、右目用及び左目用それぞれで行われる。これにより、ＨＭＤを装着するシステム体験者は右目用及び左目用の映像の見え方の違いから、立体的な複合現実感映像を体験することができる。干渉部位の強調表示４０３を描画する際には、奥行きバッファを用いた陰線・陰面処理を無効化するため、２次元画像だけでは、線や面の隠れ方を手掛かりとした仮想物体との前後関係の把握が難しくなる可能性がある。そのため、ステレオ立体視を用いることで、両眼視差による奥行き知覚を手掛かりとした前後関係の把握が可能なＨＭＤが適している。
【００２６】
次に、図４（ｃ）を参照して、システム体験者の視点と干渉部位との間を遮蔽する仮想物体（遮蔽物）が存在する状況について説明する。ここでは、システム体験者の手をモデル化した仮想物体が遮蔽物４０４である例として説明する。遮蔽物４０４も仮想物体であるため、仮想物体４０１、４０２と同様に図２のフローチャートにおけるステップＳ２０５で描画される。すなわち、奥行きバッファを用いた陰線・陰面処理が有効化されており、遮蔽物４０４の後ろに配置されている仮想物体４０１、４０２の一部は描画されない。その一方で、仮想物体４０１、４０２の干渉部位の強調表示４０３は陰線・陰面処理が無効化されているため、全ての仮想物体よりも手前に描画される。これにより、図４（ｃ）に示すように、干渉部位を視覚的に提示することができ、システム体験者は干渉部位を容易に把握することができる。
【００２７】
また、図４（ｄ）を参照して、カメラ画像合成部１０９で生成された画像を表示部１１０に表示する際、必要に応じてＧＵＩ（グラフィカル・ユーザ・インタフェース）を重畳して表示する状況について説明する。図４（ｄ）に示すように、ＧＵＩ４０５の表示位置が干渉部位の強調表示４０３と重なっているとする。仮想物体の手前に描画される干渉部位の強調表示４０３よりもさらに手前にＧＵＩ４０５が表示される。これは、ＧＵＩ４０５をカメラ画像合成部１０９で生成された画像の上に重ねて描画することで実現される。
本発明を適用するにあたり、ＧＵＩに限らず、システム体験者にとって干渉部位よりも重要性が高い情報を画面に表示する際には、カメラ画像合成部１０９で生成された画像の上にその情報を重ねて描画することで最前面に表示することができる。
【００２８】
図１１は、本実施形態に係る情報処理装置を実現するためのハードウェア構成例を示すブロック図である。なお、図１に示した構成要素には同一の符号を付して、その説明は省略する。
１１０１はＣＰＵであり、装置全体を制御する。１１０２はＲＡＭであり、ＣＰＵ１１０１が各部を制御しながら処理を行うときに作業領域として用いられる。１１０３はＲＯＭであり、制御プログラム、各種アプリケーションプログラム、データ等を記憶する。ＣＰＵ１１０１がＲＯＭ１１０３に記憶する制御プログラムをＲＡＭ１１０２に展開して実行することにより、図１の仮想物体位置姿勢更新部１０２、干渉判定部１０３、仮想物体描画部１０４、干渉部位算出部１０５、干渉部位描画部１０６等が実現される。１１０４は外部記憶装置であり、仮想物体データベース１０１は外部記憶装置１１０４上に保存される。
【００２９】
（変形例１）
第１の実施形態では、干渉部位の交線を予め設定された線のスタイル（例えば赤色の太線）で描画する例を説明したが、強調表示はこれに限られるものではない。例えば陰線とそれ以外の線（陽線）とで異なるスタイルの線で描画するようにしてもよい。
図５に示すように、陰線を点線で、陽線を実線で描画する干渉部位の強調表示５０１の実現方法について説明する。これは、ステップＳ３０１の処理を、奥行きバッファを用いた陰線・陰面処理の無効化ではなく、以下のような処理を有効化するように変更することで実現される。
【００３０】
干渉部位の強調表示を描画する際、各画素における仮想物体の奥行き値が、奥行きバッファの対応画素に保存されている奥行き値よりも小さい（つまり、陽線の一部である）場合には、その画素を第１のスタイルで描画する。それ以外（つまり、陰線の一部である）場合には、その画素を第２のスタイルで描画する。その結果、仮想物体の強調表示５０１に示すように、陰線と陽線とで異なるスタイルで描画することができる。ここで、スタイルとは色、線幅、パターン等の組み合わせを指し、予め第１及び第２のスタイルを定めておくものとする。
以上のように陰線と陽線とで異なるスタイルの線で描画することは、前後関係を把握する手がかりとなり、干渉部位がわかりやすくなる効果が期待できる。
【００３１】
（変形例２）
第１の実施形態では、干渉部位の交線を予め設定された線のスタイル（例えば赤色の太線）で描画する例を説明したが、強調表示の方法はこれに限られるものではない。例えば、干渉部位の交線を線で描画するのに加えて、或いは線で描画するのに替えて、面で描画するようにしてもよい。図６の例の強調表示６０１に示すように、交線を強調することに加え、交線で囲まれる面も強調することで、干渉部位をより目立たせる効果が期待できる。
【００３２】
また、強調表示する際の線や面のスタイル（色、線幅、パターン等）は予め定めておくのではなく、干渉している仮想物体の表示色やパターンに基づいて動的に決定するようしてもよい。この場合、干渉判定部１０３と干渉部位描画部１０６との間に、強調表示スタイル決定部を追加すればよい。強調表示スタイル決定部は、例えば仮想物体の表示色の補色を強調表示の色として決定する。これにより、仮想物体の表示色と干渉部位の強調表示の色の違いが明確になる効果が期待できる。
【００３３】
［第２の実施形態］
以下、第２の実施形態を説明する。なお、第１の実施形態と共通する内容については詳細を省略し、第１の実施形態との相違を中心に説明する。
第１の実施形態では、干渉部位算出部１０５で算出された全ての干渉部位について強調表示するものとしたが、これに限られるものではない。例えば図８（ａ）に示すように、仮想物体４０１と干渉する仮想物体４０２及び仮想物体８０１があり、仮想物体８０１が仮想物体４０２に包含されている状況を例に説明する。なお、図８（ａ）では、理解しやすくするため、仮想物体４０１、４０２及び８０１の陰線を点線で図示する。
【００３４】
図８（ａ）では、第１の実施形態で説明したとおり、全ての干渉部位について強調表示を行うため、強調表示４０３及び強調表示８０２が描画される。しかしながら、仮想物体８０１は仮想物体４０２に包含されているため、全ての線と面が陰線・陰面となり、仮想物体描画部１０４では描画されない。そのため、システム体験者には干渉部位の強調表示８０２のみが視覚的に提示される。これは、システム体験者に違和感を与える原因になる場合がある。
【００３５】
本実施形態では、干渉部位の強調表示８０２を描画せず、強調表示４０３のみを描画することで、システム体験者に与える違和感を軽減する例について説明する。
このような処理は、図２のフローチャートにおけるステップＳ２０９の干渉部位描画処理を、図７に示すフローチャートに変更することで実現できる。
ステップＳ７０１は、ステップＳ３０１と同様の処理である。
ステップＳ７０２で、干渉部位算出部１０５は、算出された干渉部位について、包含判定を行う。本実施形態では、干渉部位は三角形ポリゴンの集合と交線の集合で表現されている。包含判定は干渉部位の各三角形ポリゴンついて行う。ある三角形ポリゴンが仮想物体に内包されるかを判定するために、仮想物体の形状を近似するＡＡＢＢ（Ａｘｉｓ−Ａｌｉｇｎｅｄ  Ｂｏｕｎｄｉｎｇ  Ｂｏｘ）を用いる。ＡＡＢＢとは、各辺が３次元空間のＸ、Ｙ、Ｚ軸に平行な直方体で、仮想物体の全頂点を包含する最小の大きさを持つものである。ある三角形ポリゴンの全頂点が、ある仮想物体のＡＡＢＢに包含されている場合、その三角形ポリゴンはその仮想物体に包含されていると判定する。なお、本発明を適用するにあたり、包含判定の方式はこれに限られるものではない。
ステップＳ７０３で、ステップＳ７０２での包含判定に基づいて、干渉部位のある三角形ポリゴンが、干渉判定部１０３で干渉していると判定された全ての仮想物体のうちいずれかに内包されていない場合、干渉部位は強調表示を行い、少なくともいずれかに内包されている場合、その干渉部位は強調表示を行わない。
以上により、図８（ｂ）に示すように、仮想物体４０２に包含されている仮想物体８０１の干渉部位の強調表示８０２は描画されないようにすることができる。なお、図８（ｂ）では、理解しやすくするため、仮想物体８０１の陰線を点線で図示している。
【００３６】
［第３の実施形態］
以下、第３の実施形態を説明する。なお、第１の実施形態と共通する内容については詳細を省略し、第１の実施形態との相違を中心に説明する。
第１の実施形態では、干渉部位の交線を線又は面で描画する例を説明したが、これに限られるものではない。例えば図１０（ａ）に示すように、干渉部位の形状を不透明又は半透明で描画するようにしてもよい。
【００３７】
本実施形態は、図２のフローチャートにおけるステップＳ２０９の干渉部位描画処理を、図９に示すフローチャートに変更することで実現できる。
ステップＳ９０１で、図１０（ｂ）に示すように、干渉部位算出部１０５で算出された干渉部位の形状を描画した画像（干渉部位画像と呼ぶ）１００１を新たに生成する。この段階では、ステップＳ２０４で有効化された陰線・陰面処理が引き続き有効であるため、ここで生成される干渉部位画像１００１は陰線・陰面処理を行った画像となる。
ステップＳ９０２で、陰線・陰面処理を無効化する。
ステップＳ９０３で、ステップＳ９０１で描画された干渉部位画像１００１を、ステップＳ２０５で描画された仮想物体の画像に対して不透明又は半透明で重ね合わせる。
以上により、図１０（ａ）に示すように、干渉部位の形状が不透明又は半透明で描画される。これにより、干渉部位とその形状を視覚的に提示することができ、システム体験者は干渉部位を容易に把握することができる。
本実施形態においても、干渉部位画像１００１のスタイルは予め定めておくのではなく、干渉している仮想物体の表示色やパターンに基づいて動的に決定するようしてもよい。
【００３８】
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
例えば第１、２の実施形態で説明した干渉部位の交線を強調する強調表示と、第３の実施形態で説明した干渉部位画像との両方を組み合わせる形態としてもかまわない。
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００３９】
１０１：仮想物体データベース
１０２：仮想物体位置姿勢更新部
１０３：干渉判定部
１０４：仮想物体描画部
１０５：干渉部位算出部
１０６：干渉部位描画部
１０７：カメラ
１０８：位置姿勢入力部
１０９：カメラ画像合成部
１１０：表示部
【図１】
0006742701.tif 000002
【図２】
0006742701.tif 000003
【図３】
0006742701.tif 000004
【図４】
0006742701.tif 000005
【図５】
0006742701.tif 000006
【図６】
0006742701.tif 000007
【図７】
0006742701.tif 000008
【図８】
0006742701.tif 000009
【図９】
0006742701.tif 000010
【図１０】
0006742701.tif 000011
【図１１】
0006742701.tif 000012