(57)【特許請求の範囲】
【請求項１】
仮想空間において距離を計測するための仮想計測工具をユーザの操作に基づいて移動させる移動手段と、
仮想対象物体と前記仮想計測工具との位置関係を判定する判定手段と、
前記位置関係が所定の近接状態にあると判定された場合に、前記仮想計測工具を前記仮想対象物体の所定の面に接した状態で表示するように制御する制御手段とを備え、
前記仮想計測工具は目盛を有し、前記制御手段は該目盛を読める向きで当該仮想計測工具を表示することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記仮想計測工具を前記仮想対象物体の所定の面に接した状態で表示した後は、前記移動手段が当該仮想計測工具を移動させる範囲を前記所定の面上に制限することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定の近接状態は接触状態であり、前記所定の面は接触した面であることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記所定の近接状態は距離が閾値未満の状態であり、前記所定の面は最も近い面であることを特徴とする請求項１または２に記載の情報処理装置。
【請求項５】
前記移動手段はユーザが操作する操作部の位置姿勢に基づいて前記仮想計測工具を移動することを特徴とする請求項１ないし４のいずれか１項に記載の情報処理装置。
【請求項６】
前記仮想対象物体を切断して切断面を表示する切断手段を有し、前記所定の面は当該切断面であることを特徴とする請求項１または２に記載の情報処理装置。
【請求項７】
前記切断手段は、ユーザが操作する操作部の位置姿勢に基づいて前記切断面を逐次変更することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記切断手段は、前記切断面を指定する仮想切断工具を表示し、前記操作部の位置姿勢に基づいて当該仮想切断工具を移動させることで前記切断面を逐次変更することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記切断手段は、前記ユーザによる固定指示に基づいて、前記操作部の位置姿勢によらず、前記切断面を当該固定指示がなされた時点の切断面で固定して表示することを特徴と
する請求項７または８に記載の情報処理装置。
【請求項１０】
前記切断面を前記仮想対象物体の他の面とは識別可能な表示態様で表示することを特徴
とする請求項７ないし９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記切断面を前記仮想対象物体の他の面とは異なる色で表示することを特徴とする請求
項１０に記載の情報処理装置。
【請求項１２】
前記制御手段は、前記位置関係が所定の近接状態にあると判定された場合に、前記仮想計測工具の表示態様を変更することを特徴とする請求項１ないし１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記制御手段は、前記位置関係が所定の近接状態にあると判定された場合に、前記仮想計測工具と前記仮想対象物体とがなす角を保って接した状態で表示するように制御することを特徴とする請求項１に記載の情報処理装置。
【請求項１４】
移動手段が、仮想空間において距離を計測するための仮想計測工具をユーザの操作に基づいて移動させる移動工程と、
判定手段が、仮想対象物体と前記仮想計測工具との位置関係を判定する判定工程と、
制御手段が、前記位置関係が所定の近接状態にあると判定された場合に、前記仮想計測工具を前記仮想対象物体の所定の面に接した状態で表示するように制御する制御工程とを備え、前記仮想計測工具は目盛を有し、前記制御手段は該目盛を読める向きで当該仮想計測工具を表示することを特徴とする情報処理方法。
【請求項１５】
コンピュータを請求項１に記載の情報処理装置の各手段として機能させることを特徴とするプログラム。
【請求項１６】
請求項１に記載の情報処理装置と、前記仮想対象物体及び前記仮想計測工具を表示する表示装置とを備えることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間における仮想物体の表示に関するものである。
【背景技術】
【０００２】
近年、設計・製造分野において、期間短縮・費用削減のために、プロトタイプを用いた評価に代わり、ＣＡＤ（コンピュータ支援設計）システムを用いた設計（形状・デザイン）が導入されている。ＣＡＤシステムを用いて設計されたデータをもとに、剛性や組み立てやすさやメンテナンス性などの検証をする際に、ＣＡＤシステムを扱える技術者と扱えない技術者がコミュニケーションを図る手段として、複合現実感システムが用いられている。
【０００３】
複合現実感システムは、ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙとも呼ばれる。複合現実感システムとは、現実を撮影した実写映像に、ＣＧ（コンピュータグラフィックス）で作成した仮想映像を重畳させて表示する技術であり、ＣＡＤシステムの習熟度に関わらず、直感的な理解が可能である。
【０００４】
このように複合現実感システムにおいて、仮想空間上の距離を測定する機能が求められる。例えば、離間した部品同士が衝撃時に接触しない程度にクリアランスが確保されているかの検証や耐衝撃性や耐熱性に関して部品の肉厚が十分に存在しているかの検証に必要である。
【０００５】
そこで、特許文献１では、三次元ポインティングに関し、主ポインタのポイント方向に補助ポインタを表示するように構成されている。そして、主ポインタが仮想物体に接近し、補助ポインタが仮想物体に接触すると、表示制御手段の隠線および隠面処理機能の作用によって、補助ポインタの全部または一部が仮想物体に埋没した状態の画像が表示される。そして、補助ポインタの埋没の程度は主ポインタと仮想物体の距離に対応して変化するので、ユーザは補助ポインタを観察することによって主ポインタと仮想物体との距離を視覚的に認識し、正確な三次元ポインティング作業を容易に行なうことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−８３９３５
【発明の概要】
【発明が解決しようとする課題】
【０００７】
また、仮想物体の面上の距離を、ものさしや定規などを模した仮想計測工具によって測定することも考えられる。しかしながら、その場合、仮想物体との距離を視覚的に認識できたとしても、正確な距離計測が行なえない可能性がある。なぜなら、仮想物体同士の接触であるため、ユーザは物理的な手応えを感じることができないので、仮想物体の面と仮想計測工具を平行に保ちながら接触させることが難しいからである。そのため、仮想計測工具の全部または一部が仮想物体内に埋没した状態や、仮想計測工具が仮想物体から離間した状態で、計測してしまうことが起こり得る。
【課題を解決するための手段】
【０００８】
本発明は上記課題を解決するためになされたものであり、情報処理装置に、仮想空間において距離を計測するための仮想計測工具をユーザの操作に基づいて移動させる移動手段と、仮想対象物体と前記仮想計測工具との位置関係を判定する判定手段と、前記位置関係が所定の近接状態にあると判定された場合に、前記仮想計測工具を前記仮想対象物体の所定の面に接した状態で表示するように制御する制御手段とを備え、前記仮想計測工具は目盛を有し、前記制御手段は該目盛を読める向きで当該仮想計測工具を表示する。
【発明の効果】
【０００９】
本発明によれば、仮想物体の面上の距離を仮想計測工具によって計測する際に、仮想計測工具が仮想対象物体内に埋没することなく、仮想計測工具が仮想対象物体と接した状態で表示されるため、正確な距離を容易に計測することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１における情報処理装置の機能構成を示すブロック図である。
【図２】実施形態１における仮想対象物体の表面上に表示される仮想計測工具を示す模式図である。
【図３】変形例１における仮想対象物体の断面上に表示される仮想計測工具を示す模式図である。
【図４】実施形態１の仮想対象物体の表面上に表示される仮想計測工具の表示のされ方の処理について詳細を示すフローチャートである。
【図５】変形例１における仮想対象物体の断面の形成の方法を示す模式図である。
【図６】変形例１における仮想対象物体の断面形成の処理の詳細を示すフローチャートである。
【図７】実施形態１における情報処理装置のハードウェア構成の例を示す図である。
【図８】変形例２における仮想対象物体の断面上に表示される仮想計測工具を示す模式図である。
【図９】変形例３における仮想対象物体の断面上に表示される仮想計測工具を示す模式図である。
【図１０】変形例４における仮想対象物体の断面上に表示される仮想計測工具を示す模式図である。
【図１１】変形例４における仮想対象物体の断面上に表示される仮想計測工具を示す模式図である。
【発明を実施するための形態】
【００１１】
（実施形態１）
以下、添付図面を参照して、本発明を適用した好適な実施形態に従って詳細に説明するが、本発明はこれに限定されるものではない。
【００１２】
本発明は、複合現実感システムに関するものである。複合現実感システムとは、現実を撮影した実写映像に、ＣＧ（コンピュータグラフィックス）で作成した仮想映像を重畳させて表示する技術である。本明細書中において、実写映像で表わされる空間を現実空間、仮想映像で表わされる空間を仮想空間、現実空間と仮想空間が融合した空間を複合現実空間と呼ぶ。
【００１３】
図７は、本実施形態における情報処理装置１００のハードウェア構成図である。同図において、中央演算処理装置（ＣＰＵ）７１０は、バス７００を介して接続する各デバイスを統括的に制御する。ＣＰＵ７１０は、読み出し専用メモリ（ＲＯＭ）７２０に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム（ＯＳ）をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等はＲＯＭ７２０に記憶されており、ランダムアクセスメモリ（ＲＡＭ）７３０に一時記憶され、ＣＰＵ７１０によって適宜実行される。また、入力Ｉ／Ｆ７４０は、外部の装置（撮像装置や操作装置など）から情報処理装置１００で処理可能な形式で入力信号として入力する。また、出力Ｉ／Ｆ７５０は、外部の装置（例えばヘッドマウントディスプレイなどの表示装置）へ処理可能な形式で出力信号として出力する。
【００１４】
図１は本実施形態における情報処理装置の機能構成を示すブロック図である。
【００１５】
本実施形態における情報処理装置１００は、ヘッドマウントディスプレイ１１１（以下、ＨＭＤと称する）に接続されて情報処理システムを構成している。情報処理装置１００は、ＨＭＤ１１１内の撮像部１０７から取り込んだ現実空間の画像と仮想空間の画像とを合成し、複合現実感映像としてＨＭＤ１１１内の表示部１１０に出力する。
【００１６】
撮像部１０７は、現実空間を撮影し、撮像した画像を情報処理装置１００に取り込む。撮影された画像は、合成部１０９にて仮想物体の画像と合成して表示部１１０に合成画像として表示する。本実施形態では、撮像部１０７は、ＨＭＤ１１１に内蔵されているものとする。
【００１７】
表示部１１０は、合成部１０９で描画した合成画像をユーザに提示する。本実施形態では、ＨＭＤ１１１に内蔵されたディスプレイを用いる。
【００１８】
情報処理装置１００は、仮想物体データベース１０１、接触判定部１０３、仮想物体描画部１０４、接触部位算出部１０５、位置姿勢取得部１０８、合成部１０９、を備える。図１には図示していないが、音提示部や振動提示部などの、接触していることをユーザに通知する機構を設けても良い。
【００１９】
これらの各機能部は、ＣＰＵ７１０が、ＲＯＭ７２０に格納されたプログラムをＲＡＭ７３０に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、ＣＰＵ７１０を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【００２０】
仮想物体データベース１０１は、仮想物体のモデルを保持するデータベースである。仮想物体のモデルには、後述の仮想対象物体や仮想計測工具や仮想切断工具が含まれる。仮想物体のモデルは、例えば、仮想物体の形状、表示色、初期位置姿勢を含んでいる。本実施形態では、図２（ａ）に示すような仮想計測工具２０２を用いて、被計測対象である仮想対象物体２０１を計測する場合を例にとって説明する。
【００２１】
位置姿勢取得部１０８は、撮像部１０７から取り込んだ画像に基づいて、現実空間の撮像部１０７の位置姿勢（即ち、ＨＭＤ１１１の位置姿勢）と仮想物体の位置姿勢を推定する。本実施形態では、撮像部１０７の位置姿勢をユーザの視点位置姿勢とする。撮像部１０７の位置姿勢の算出は、現実空間に配置されたマーカを撮像した画像に基づいて行われる。また、仮想物体の位置姿勢は、例えば、以下のように推定する。まず、仮想物体に対応する操作部などの現実物を予め現実空間に配置する。そして、現実物にマーカを貼りつけておき、該マーカを撮像した画像に基づいて現実物の位置姿勢位置姿勢を推定し、該推定された現実物の位置姿勢を該現実物に対応する仮想物体の位置姿勢として推定する。そして、ユーザが操作部を操作するなどして現実物を動かすことによって、仮想物体の位置姿勢を変更することができる。
【００２２】
しかしながら、ユーザの視点位置姿勢や仮想物体の位置姿勢を取得する方法はこれに限定されない。例えば、現実物に三次元の位置姿勢を計測するセンサを付設または内蔵させても用いてもよいし、市販のモーションキャプチャシステムを利用して撮像部１０７に対する現実物の位置姿勢を計測することで仮想物体の位置姿勢を求めることも可能である。また、仮想物体に対応する現実物を用意しなくても、予め設定された位置に仮想物体を表示し、コントローラ等を用いて仮想物体を移動させてもよい。
【００２３】
接触判定部１０３は、仮想物体の位置姿勢および形状に基づいて、複数の仮想物体同士の接触の有無を判定する。仮想物体同士の接触とは、例えば、仮想対象物体２０１と仮想計測工具２０２との接触であり、また例えば、仮想対象物体２０１と後述の仮想切断工具２０３との接触である。
【００２４】
２つの仮想物体同士の接触判定は、以下の手順で実現する。ここで、仮想物体は三角形ポリゴンを組み合わせて形成されているものとする。まず、それぞれの仮想物体から三角形ポリゴンを一つずつ取り出し、その三角形ポリゴン同士が交差しているかどうかを判定する。これを全ての三角形ポリゴンの組み合わせに対して行ない、一つでも交差している場合は仮想物体同士が接触していると判定する。さらに、この処理を全ての仮想物体の組み合わせに対して行なう。
【００２５】
しかしながら、接触判定部１０３の実現方法はこれに限るものではない。例えば、仮想対象物体２０１の一面を有限あるいは無限に延伸し、延伸した面と、仮想計測工具２０２の三角形ポリゴンとが交差する際に、仮想対象物体２０１と仮想計測工具２０２が接触していると判定してもよい。また、例えば、仮想対象物体２０１の周囲に仮想的なバウンダリーボックスを設け、バウンダリーボックスと、仮想計測工具２０２が交差した際に、仮想対象物体２０１と仮想計測工具２０２が接触していると判定してもよい。さらに、このような接触状態の判定に代えて、所定の近接状態にある位置関係の他の判定として、仮想対象物体２０１と仮想計測工具２０２との距離が閾値未満であることを判定して、後述する接触した場合の処理と同様の処理を行うようにしてもよい。
【００２６】
接触部位算出部１０５は、接触判定部１０３で接触していると判定された仮想物体から、接触部位を算出する。本実施形態では交差している三角形ポリゴンの集合と、交線の集合とを接触部位として算出する。
【００２７】
仮想物体描画部１０４は、接触情報と仮想対象物体２０１、仮想計測工具２０２を描画した画像を生成する。より具体的には、仮想物体データベースに保存されたモデルデータや接触部位算出部１０５で算出された接触部位情報に基づいて仮想空間の画像を生成する。
【００２８】
まず、仮想空間の画像を生成するための仮想視点の位置姿勢を位置姿勢取得部１０８から取得する。仮想視点の位置姿勢は、例えば、基準とする世界座標系における撮像部１０７の位置姿勢情報を入力すればよい。また、仮想対象物体２０１と仮想計測工具２０２および接触情報の３次元頂点位置は、位置姿勢取得部１０８で取得された位置姿勢に基づいて更新する。更新した仮想物体と接触情報の３次元頂点は、仮想視点に基づいて設定された投影面に投影される。投影後のポリゴン・線分の描画処理は、一般的な３次元画像生成における描画処理と同じであるため詳細な説明は省略する。
【００２９】
本実施形態では、仮想対象物体２０１と仮想計測工具２０２が接触した際、仮想計測工具２０２が仮想対象物体２０１内に埋没することなく仮想物体の面上を滑るように表示される。したがって、接触判定部１０３で接触していると判定されると、接触部位算出部１０５で接触部位が算出され、その情報に基づき、仮想物体描画部１０４が演算を行なう。接触部位情報が示す接触部位を含む仮想対象物体２０１の面を、仮想物体データベースに保存された仮想対象物体２０１のモデルデータから呼び出し、その面の形状に沿って、仮想計測工具２０２を表示させる。これ以降、仮想計測工具２０２の移動する範囲は、この面上に制限される。
【００３０】
図２は本実施形態における仮想空間の画像の例を示した模式図である。本実施形態における、仮想物体描画部１０４で生成された仮想空間の画像を図２（ａ）〜（ｃ）に示している。
【００３１】
仮想計測工具２０２が仮想対象物体２０１に接触していない場合、図２（ａ）のように表示される。図２（ｂ）のように仮想計測工具２０２が仮想対象物体２０１に接触すると、接触判定部１０３で接触していると判定される。そして接触部位算出部１０５で接触部位情報が算出され、図２（ｃ）のように仮想計測工具２０２が仮想対象物体２０１内に埋没することなく仮想物体の表面上を滑るように表示される。
【００３２】
合成部１０９は、撮像部１０７から取り込んだ現実空間の画像と、仮想物体描画部１０４で描画された仮想空間の画像とを合成する。合成処理は、撮像部１０７により撮像された現実空間の実写画像の上に仮想空間の画像を描画することにより行なう。すなわち、仮想対象物体２０１と仮想計測工具２０２の領域以外の領域は、現実空間画像の画素が表示される合成画像となる。もちろん仮想空間の画像を半透明にして、背後の現実空間の画像が透けて見えるようにしてもよい。表示部１１０は、合成部１０９で描画した合成画像をユーザに提示する。
【００３３】
ここで、図４は、本実施形態の処理の詳細を示すフローチャートである。図１と図２と図４を用いて、仮想対象物体２０１と仮想計測工具２０２が配置されている状況を例に本実施形態の処理の詳細を説明する。
【００３４】
ステップＳ８０１では、仮想物体描画部１０４は、仮想物体データベース１０１から仮想対象物体２０１と仮想計測工具２０２のデータを読み込む。
【００３５】
ステップＳ８０２では、位置姿勢取得部１０８は、撮像部１０７で撮影された現実空間の画像を取得する。そして、位置姿勢取得部１０８は、取得した画像に基づいて撮像部１０７の位置姿勢情報を算出する。ステップＳ８０２以降の処理は、撮像部１０７から現実空間の画像が更新されるまで処理が一時停止され、更新があった場合に後段の処理を実行する。ただし、本実施形態は、撮像部１０７の画像更新ごとに処理をすることに限定されるものではなく、例えば、位置姿勢取得部１０８で新たな位置姿勢が取得されたタイミングで処理を実行する方法でも適用可能である。
【００３６】
ステップＳ８０３では、位置姿勢取得部１０８は、取得した位置姿勢情報を接触判定部１０３と仮想物体描画部１０４に送出する。
【００３７】
ステップＳ８０６において、接触判定部１０３は、ＲＡＭ７３０に格納されている仮想対象物体２０１と仮想計測工具２０２の位置姿勢情報およびポリゴンデータを参照する。そして、接触判定部１０３は、仮想対象物体２０１と仮想計測工具２０２を構成するポリゴンごとに交差しているかどうか判定する。
【００３８】
仮想対象物体２０１と仮想計測工具２０２が離間している状態のときは、Ｓ８０６で接触していないと判定され、ステップＳ８１０に処理を移す。ステップＳ８１０においては、仮想対象物体２０１と仮想計測工具２０２は、図２（ａ）のように表示される。
【００３９】
一方、ユーザが図２（ｂ）の矢印前後のように、仮想計測工具２０２に対応するマーカを移動させ、仮想対象物体２０１に対して、離間している状態から接触している状態にしたとき、ステップＳ８０６において、２０１と２０２が接触していると判定される。ステップＳ８０６において、仮想対象物体２０１と仮想計測工具２０２が接触していると判定されたとき、ステップＳ８０９に処理を移す。ステップＳ８０９では、接触部位算出部１０５が仮想物体の接触部位の情報を計算し、その情報に基づき、ステップＳ８１１において、仮想計測工具２０２が仮想対象物体２０１内に埋没することなく仮想物体の表面上を滑るように計算され、描画される。
【００４０】
図２（ｃ）は、この様子を模式的に表したものである。すなわち、仮想計測工具２０２と仮想対象物体２０１が接触していると判定された場合、仮想計測工具２０２が、矢印で示す先、すなわち仮想対象物体２０１の表面上に表示される。この際、仮想計測工具２０２が仮想対象物体２０１内に埋没しているような表示を一瞬行ない、ユーザに接触したことを強調して伝えても良い。
【００４１】
本実施形態においては、仮想対象物体２０１と仮想計測工具２０２は、三角形ポリゴンの情報に基づいて描画される。
【００４２】
ステップＳ８１２では、合成部１０９は、撮像部１０７が撮像した現実空間の画像と、仮想物体描画部１０４で描画された仮想空間の画像とを合成して合成画像を生成する。
【００４３】
ステップＳ８１３において、表示部１１０は、合成部１０９で合成された合成画像を表示し、ＨＭＤ１１１を装着するユーザに提示する。さらに、図１には図示しない振動提示部と音提示部を設けて、ユーザに仮想対象物体２０１と仮想計測工具２０２が接触したことを伝えるようにしてもよい。
【００４４】
ステップＳ８１５では、ユーザから終了コマンドがキーボードなどの入力装置で送信されたかどうかを判定し、終了コマンドがなければステップＳ８０２に処理を移し、終了コマンドが送信されたと判定された場合は処理を終了する。
【００４５】
（変形例１）
実施形態１では、仮想計測工具２０２が仮想対象物体２０１内に埋没することなく仮想物体の表面上を滑るように表示されたが、下記のように、仮想物体の表面ではなく、仮想物体の断面を滑るように表示してもよい。
【００４６】
図３を用いて、変形例１を説明する。図３は、変形例１における、仮想対象物体２０１の断面３０１について、仮想計測工具２０２を用いて距離を計測する場合を表わした模式図である。図３（ｂ）の矢印前後のように、仮想対象物体２０１と仮想計測工具２０２が離間している状態から、ユーザが仮想計測工具２０２に対応する操作部を移動させると、仮想対象物体２０１の断面３０１と仮想計測工具２０２が接触していると判定される。その際、変形例１では、仮想計測工具２０２が仮想対象物体２０１内に埋没することなく仮想物体の断面３０１を滑るように計算され、描画される。
【００４７】
図３（ｃ）は、この様子を模式的に表わしたものである。すなわち、仮想計測工具２０２と仮想対象物体２０１が接触していると判定された場合、仮想計測工具２０２が、矢印で示す先、すなわち仮想対象物体２０１の断面３０１上に表示される。以上、仮想計測工具２０２が仮想対象物体２０１内に埋没することなく仮想対象物体２０１の断面上を滑るように表示される方法を示した。接触する面が仮想対象物体２０１の表面ではなく断面であること以外は、実施形態１と共通であるため、仮想計測工具２０２の表示に関する説明は割愛する。
【００４８】
変形例１において、図３（ａ）に示す断面３０１を形成する方法として、図５および図６で示される、以下の方法を用いても良い。図５（ａ）では、仮想空間に仮想対象物体２０１と仮想切断工具５０１があり、仮想切断工具５０１は、現実空間においてユーザが操作する操作部の位置姿勢に対応して位置姿勢を逐次変更できる。仮想切断工具５０１を用いて仮想対象物体２０１の任意の位置を指定して断面３０１を形成することが可能である。仮想切断工具５０１には、刃５０２が備わっており、この刃の方向に仮想対象物体２０１を切断可能である。仮想切断工具５０１に対応する操作部には、断面の固定指示を行うための断面固定ボタンを設けても良い。本実施形態では、断面固定ボタンは断面固定解除ボタンを兼ねており、断面固定ボタンを押下すると、押下した時点の断面を固定して表示でき、再度断面固定ボタンを押下すると断面の固定が解除される。もちろん断面固定ボタンと断面固定解除ボタンとを別に設けてもよい。
【００４９】
図５（ｂ）は、仮想対象物体２０１が仮想切断工具５０１によって切断された様子を示している。図５（ｂ）では、刃５０２が仮想対象物体２０１に接触し、刃５０２に平行な断面３０１が形成されている。図示しないが、断面３０１を仮想対象物体２０１の表面と識別可能な表示態様で表示してもよい。より具体的には、断面を物体の表面と異なる色で着色するようにしてもよく、このことによってユーザはより断面を見やすくなる。一方で、刃５０２を含む面を、有限あるいは無限に延伸し、延伸された面と仮想対象物体２０１が交差した際に、平行な断面３０１が形成されるようにしてもよい。また、仮想対象物体２０１の周囲にバウンダリーボックスを設けて、バウンダリーボックスと仮想切断工具５０１が交差した際に、断面３０１が形成されるようにしてもよい。図６は、断面を形成し固定する方法を表わすフローチャートである。図１と図６を用いて、さらに詳細に説明する。
【００５０】
ステップＳ６０１では、仮想物体描画部１０４は、仮想物体データベース１０１から仮想対象物体２０１と仮想断面切断工具５０１のデータを読み込む。
【００５１】
ステップＳ６０２では、位置姿勢取得部１０８は、撮像部１０７で撮影された現実空間の画像を取得する。そして、位置姿勢取得部１０８は、取得した画像に基づいて撮像部１０７の位置姿勢情報を算出する。
【００５２】
ステップＳ６０３は、位置姿勢取得部１０８は、位置姿勢情報を接触判定部１０３と仮想物体描画部１０４に送出する。
【００５３】
ステップＳ６０４において、接触判定部１０３は、ＲＡＭ７３０に格納されている仮想対象物体２０１と仮想断面切断工具５０１の位置姿勢情報およびポリゴンデータを参照し、２０１と５０１を構成するポリゴンごとに交差しているかどうか判定する。
【００５４】
仮想対象物体２０１と仮想断面切断工具５０１が離間している状態のときは、Ｓ８０６で接触していないと判定され、ステップＳ６０５に処理を移す。ステップＳ６０５において、仮想対象物体２０１は未切断の状態で描画され、ステップＳ６０８において、仮想対象物体２０１と仮想断面切断工具５０１と実写映像が合成される。この際、図５（ａ）のように表示される。ステップＳ６０９では、ユーザから終了コマンドがキーボードなどの入力装置で送信されたかどうかを判定し、終了コマンドがなければステップＳ６０２に処理を移し、終了判定された場合は処理を終了する。
【００５５】
一方で、仮想断面切断工具５０１に対応するマーカを移動させ、仮想対象物体２０１に対して、離間している状態から接触している状態にしたとき、ステップＳ６０４において、仮想対象物体２０１と仮想断面切断工具５０１が接触していると判定される。ステップＳ６０４において、仮想対象物体２０１と仮想断面切断工具５０１が接触していると判定されたとき、ステップＳ６０６に処理を移す。ステップＳ６０６において、仮想対象物体２０１は切断面３０１で切断された状態で描画される。
【００５６】
ステップＳ６０７では、ユーザによって断面固定ボタンが押下されているかどうかによって処理が分かれる。断面固定ボタン５０３が押下されていない場合、ステップＳ６０８に進み、仮想対象物体２０１と仮想断面切断工具５０１と実写映像が合成される。この際、仮想対象物体２０１と仮想断面切断工具５０１が接触した瞬間の断面３０１が形成され、図５（ｂ）のように表示される。
【００５７】
ステップＳ６０７において、ユーザによって断面固定ボタンが押下されている場合、ステップＳ６１０に処理を移す。Ｓ６１０においては、仮想対象物体２０１の断面３０１が固定された状態で描画され、ステップＳ６１１に進む。ステップＳ６１１においては、断面３０１が固定された状態の仮想対象物体２０１と仮想断面切断工具５０１と実写映像が合成される。ステップＳ６１２では、ユーザから終了コマンドがキーボードなどの入力装置で送信されたかどうかを判定し、終了コマンドがなければステップＳ６１３に処理を移し、終了判定された場合は処理を終了する。
【００５８】
ステップＳ６１３では、断面固定ボタンと兼用している断面固定解除ボタンをユーザが再度押下しているかどうかによって、処理を分岐する。断面固定解除ボタンが押下されていない場合、位置姿勢取得部１０８は、撮像部１０７で撮影された現実空間の画像を取得し、取得した画像に基づいて撮像部１０７の位置姿勢情報を算出する。そしてステップＳ６１０に戻る。断面固定解除ボタンが押下されるまで、断面３０１は固定されたままループする。一方、ステップＳ６１３において、断面固定解除ボタンが押下される場合、断面の固定は解除され、ステップＳ６０２に戻る。
【００５９】
以上、変形例１について断面３０１を形成する方法、および断面３０１を固定して表示する方法について説明したが、上記部分を除いては、実施形態１で示した説明と共通であるため、説明を割愛する。
【００６０】
（変形例２）
次に、本実施形態の変形例２について説明する。実施形態１および変形例１で示したとおり、仮想対象物体２０１に仮想計測工具２０２が接触した際に、仮想計測工具２０２が仮想対象物体２０１内に埋没することなく、仮想対象物体２０１の表面上あるいは断面３０１上を滑るように表示される。変形例２では、仮想対象物体２０１に仮想計測工具２０２が接触した際に、接触前後で、仮想計測工具２０２の表示態様を変更する。より具体的には、色を変化させる。このことにより、ユーザは、より明示的に仮想対象物体２０１の表面上に仮想計測工具２０２が接触していて、滑るように表示されていることが分かる。
【００６１】
図１と図８を用いて、変形例２をさらに詳しく説明する。まず、ユーザが、図８（ａ）の矢印前後のように、仮想計測工具２０２に対応するマーカを移動させ、仮想対象物体２０１に対して、離間している状態から接触している状態になったとする。このとき、接触部位算出部１０５が仮想物体の接触部位の情報を計算し、その情報に基づき、仮想計測工具２０２が仮想対象物体２０１内に埋没することなく仮想物体の表面上を滑るように計算され、描画される。このとき変形例２では、仮想計測工具２０２の色が変わる。図８（ｂ）の矢印で示す先、すなわち仮想対象物体２０１の表面上に表示される瞬間に、仮想計測工具が８０１のように変色する。
【００６２】
以上、変形例２について説明したが、上記部分を除いては、実施形態１および変形例１で示した説明と共通であるため、説明を割愛する。
【００６３】
（変形例３）
本実施形態の変形例３について説明する。実施形態１および変形例１、２で示したとおり、仮想対象物体２０１に仮想計測工具２０２が接触した際に、仮想計測工具２０２が仮想対象物体２０１内に埋没することなく、仮想対象物体２０１の表面上あるいは断面３０１上を滑るように表示される。しかしながら仮想計測工具２０２に目盛が存在するとき、仮想計測工具２０２の表裏が反転していて、目盛を判読しづらい場合がある。変形例３では、図９で示すとおり、仮想計測工具２０２が仮想対象物体２０１内に埋没することなく、仮想対象物体２０１の表面上あるいは断面３０１上を滑るように表示される際、目盛が反転している場合、表裏を修正して表示される。以上、変形例３について説明したが、上記部分を除いては、実施形態１および変形例１、２で示した説明と共通であるため、説明を割愛する。
【００６４】
（変形例４）
本実施形態の変形例４について説明する。仮想計測工具２０２は、ユーザが現実空間の物体を移動することに対応して仮想空間上を移動可能である。図１０の１００１は、現実空間に存在するユーザが持つ棒であるが、この棒１００１の動きに対応して、仮想空間上の仮想計測工具２０２が動く。例えば、図１０の棒１００１にマーカを貼りつけておき、該マーカを撮像した画像に基づいて棒１００１の位置姿勢位置姿勢を推定し、推定された棒１００１の位置姿勢を該現実物に対応する仮想計測工具２０２の位置姿勢として推定する。そして、ユーザが棒１００１を動かすことによって、仮想計測工具２０２の位置姿勢を変更することができる。また、棒１００１に三次元センサを貼りつけ、または内蔵させても用いてもよい。また市販のモーションキャプチャシステムを利用してもよく、その際は、再帰性反射する球を棒１００１に貼り付け、外部の赤外線ＬＥＤから赤外線を照射し、棒１００１の位置姿勢を推定する。
【００６５】
変形例４では、仮想対象物体２０１に仮想計測工具２０２が接触している状態でも、仮想対象物体２０１に仮想計測工具２０２が離間している状態でも、該現実空間の棒１００１と、該仮想空間の仮想計測工具２０２のなす、三次元上の角度を一定に保つ。前述のとおり、仮想対象物体２０１に仮想計測工具２０２が接触した際に、仮想計測工具２０２が仮想対象物体２０１内に埋没することなく、仮想対象物体２０１の表面上あるいは断面３０１上を滑るように表示される。
【００６６】
ここでは、仮想対象物体２０１に仮想計測工具２０２が接触した状態で、該現実空間の棒１００１をいかなる角度に向けても、図１０の（ａ）〜（ｃ）に示すとおり、棒１００１と仮想計測工具２０２のなす、三次元上の角度は一定である。また図１１（ａ）および（ｂ）に示すとおり、仮想計測工具２０２が、仮想対象物体２０１内に埋没することなく、仮想対象物体２０１上を滑るように表示される際に、棒１００１と仮想計測工具２０２のなす、三次元上の角度は一定に保たれる。
【００６７】
以上、変形例４について説明したが、上記部分を除いては、実施形態１および変形例１、２、３で示した説明と共通であるため、説明を割愛する。
【００６８】
（その他の実施形態）
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、コンピュータ読み取り可能なプログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００６９】
更に、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００７０】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【符号の説明】
【００７１】
１００  情報処理装置
１０１  仮想物体データベース
１０３  接触判定部
１０４  仮想物体描画部
１０５  接触部位算出部
１０７  撮像部
１０８  位置姿勢取得部
１０９  合成部
１１０  表示部
１１１  ＨＭＤ
【図１】
0006704698.tif 000002
【図２】
0006704698.tif 000003
【図３】
0006704698.tif 000004
【図４】
0006704698.tif 000005
【図５】
0006704698.tif 000006
【図６】
0006704698.tif 000007
【図７】
0006704698.tif 000008
【図８】
0006704698.tif 000009
【図９】
0006704698.tif 000010
【図１０】
0006704698.tif 000011
【図１１】
0006704698.tif 000012