(57)【要約】【課題】  オリジナル仮想物体と複製仮想物体との干渉状態の判定を適宜行うための技術を提供すること。【解決手段】  複製仮想物体をオリジナル仮想物体との干渉状態を計算する対象外に設定し、所定の条件を満たす複製仮想物体を、オリジナル仮想物体との干渉状態を計算する対象に設定し（Ｓ３０３，Ｓ３０４）、オリジナル仮想物体との干渉状態を計算する対象に設定された仮想物体のみ、オリジナル仮想物体との干渉状態を計算する。【選択図】  図３
2006252467.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間中に配置されたオリジナル仮想物体を複製する複製工程と、
前記複製工程で複製された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象外に設定する第１の設定工程と、
前記複製工程で複製された仮想物体について、所定の条件を満たすか否かを判断する判断工程と、
前記判断工程で所定の条件を満たすと判断された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象に設定する第２の設定工程と、
前記オリジナル仮想物体との干渉状態を計算する対象に設定された仮想物体のみ、前記オリジナル仮想物体との干渉状態を計算する計算工程と
を備えることを特徴とする画像処理方法。
【請求項２】
前記第２の設定工程では、前記複製工程による複製後、所定時間が経過した仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象に設定することを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記第２の設定工程では、前記複製工程で複製した仮想物体のうち、前記配置工程で配置したオリジナル仮想物体との干渉が無くなっている仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象に設定することを特徴とする請求項１に記載の画像処理方法。
【請求項４】
更に、前記計算工程による計算処理の結果、前記オリジナル仮想物体と干渉している仮想物体が存在した場合には、その旨を通知する通知工程を備えることを特徴とする請求項１乃至３の何れか１項に記載の画像処理方法。
【請求項５】
操作者が手に保持して操作する指示具の位置姿勢を取得する取得工程と、
前記取得工程で取得した位置姿勢にオリジナル仮想物体を配置する配置工程と、
前記配置工程で配置されたオリジナル仮想物体を複製する複製工程と、
前記複製工程で複製された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象外に設定する第１の設定工程と、
前記複製工程で複製された仮想物体について、所定の条件を満たすか否かを判断する判断工程と、
前記判断工程で所定の条件を満たすと判断された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象に設定する第２の設定工程と、
前記オリジナル仮想物体との干渉状態を計算する対象に設定された仮想物体のみ、前記オリジナル仮想物体との干渉状態を計算する計算工程と
を備えることを特徴とする画像処理方法。
【請求項６】
仮想空間中に配置されたオリジナル仮想物体を複製する複製手段と、
前記複製手段によって複製された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象外に設定する第１の設定手段と、
前記複製手段によって複製された仮想物体について、所定の条件を満たすか否かを判断する判断手段と、
前記判断手段によって所定の条件を満たすと判断された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象に設定する第２の設定手段と、
前記オリジナル仮想物体との干渉状態を計算する対象に設定された仮想物体のみ、前記オリジナル仮想物体との干渉状態を計算する計算手段と
を備えることを特徴とする画像処理装置。
【請求項７】
操作者が手に保持して操作する指示具の位置姿勢を取得する取得手段と、
前記取得手段が取得した位置姿勢にオリジナル仮想物体を配置する配置手段と、
前記配置手段によって配置されたオリジナル仮想物体を複製する複製手段と、
前記複製手段によって複製された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象外に設定する第１の設定手段と、
前記複製手段によって複製された仮想物体について、所定の条件を満たすか否かを判断する判断手段と、
前記判断手段によって所定の条件を満たすと判断された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象に設定する第２の設定手段と、
前記オリジナル仮想物体との干渉状態を計算する対象に設定された仮想物体のみ、前記オリジナル仮想物体との干渉状態を計算する計算手段と
を備えることを特徴とする画像処理装置。
【請求項８】
コンピュータに請求項１乃至５の何れか１項に記載の画像処理方法を実行させることを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想物体を仮想空間中に配置する為の技術に関するものである。
【背景技術】
【０００２】
従来より、三次元モデリングされたＣＧによる映像を表示するＣＧ映像提示装置が存在する。一般的なビデオゲームやCADシステムにおいては、操作者がキーボードやジョイスティックなどの入力装置を用いてＣＧの位置姿勢を指定することで、ＣＧオブジェクトの位置姿勢を操作することができる。
【０００３】
また、仮想現実感提示システムにおいては、位置姿勢センサによってＣＧオブジェクトの位置姿勢を入力し、操作者がＣＧオブジェクトを空間内で扱っているような感覚を与えるものが存在する。
【０００４】
また、操作者が移動させているＣＧオブジェクト同士の干渉（ぶつかり）を実時間で検出する判定方法については、たとえばゲームシステムなどにおいて実用化されている。仮想現実感提示システムにおいては、ユーザが位置姿勢センサによって操作しているＣＧが別のＣＧにぶつかったかどうかを表現することによって、よりリアルな体験を可能にしている。
【０００５】
また、ＣＧオブジェクトを操作者の指示にしたがって複製し、3次元空間内に配置することが従来より可能である。指示があった時点で指定されたＣＧオブジェクトのデータを複製し、指定された場所に配置するなどすればよい。
【０００６】
これらの、すでに実現されている手法を用いて、同じ形状のＣＧオブジェクトを空間につぎつぎと固定配置していくシステムが構築できる。たとえば、位置姿勢センサによってＣＧオブジェクトを移動させ、その位置でそのＣＧの複製を行い固定する。位置姿勢センサによって操作されるＣＧオブジェクトをさらに別の位置に移動させて複製・固定をくり返すことで、ＣＧの3次元空間内に次々とＣＧオブジェクトを配置できる。
【０００７】
すでに配置されたＣＧの間に別のＣＧを配置しようとすれば、その位置にＣＧオブジェクトを移動させた時点で干渉通知をすることで、その場所にはさらなるＣＧオブジェクトは配置できないようにすることもできる。このシステムは、例えば、特定の大きさの箱の中にある形状の物体がいくつ配置できるのかを仮想検証するシステムとして有効である。
【特許文献１】特開２００４−０６２７５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
リアルタイムにＣＧオブジェクト同士の干渉をチェックしつつ、ＣＧオブジェクトのコピーが可能であるシステムにおいて、コピーされたＣＧオブジェクトはコピーされた時点での位置姿勢にとどまって表示され、コピー元のＣＧオブジェクトは引き続きユーザが位置姿勢センサを用いて操作するままに移動して表示されつづける。
【０００９】
この場合、コピー直後の時点では、両者のＣＧオブジェクトは近接しており、互いに干渉しているため、従来のシステムにおいては即座に干渉があると判定・通知されてしまう。ここで、干渉が起こった時にブザーがなるような干渉通知方法が採用されていたとすると、従来の手法では、ＣＧのコピーを行うたびに即座にブザーがなってしまい、操作者がコピー元のＣＧを干渉のない位置まで移動させるまでブザーが鳴り止まない、といった不都合があった。
【００１０】
本発明は以上の問題に鑑みてなされたものであり、オリジナル仮想物体と複製仮想物体との干渉状態の判定を適宜行うための技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
【００１２】
即ち、仮想空間中に配置されたオリジナル仮想物体を複製する複製工程と、
前記複製工程で複製された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象外に設定する第１の設定工程と、
前記複製工程で複製された仮想物体について、所定の条件を満たすか否かを判断する判断工程と、
前記判断工程で所定の条件を満たすと判断された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象に設定する第２の設定工程と、
前記オリジナル仮想物体との干渉状態を計算する対象に設定された仮想物体のみ、前記オリジナル仮想物体との干渉状態を計算する計算工程と
を備えることを特徴とする。
【００１３】
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
【００１４】
即ち、操作者が手に保持して操作する指示具の位置姿勢を取得する取得工程と、
前記取得工程で取得した位置姿勢にオリジナル仮想物体を配置する配置工程と、
前記配置工程で配置されたオリジナル仮想物体を複製する複製工程と、
前記複製工程で複製された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象外に設定する第１の設定工程と、
前記複製工程で複製された仮想物体について、所定の条件を満たすか否かを判断する判断工程と、
前記判断工程で所定の条件を満たすと判断された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象に設定する第２の設定工程と、
前記オリジナル仮想物体との干渉状態を計算する対象に設定された仮想物体のみ、前記オリジナル仮想物体との干渉状態を計算する計算工程と
を備えることを特徴とする。
【００１５】
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
【００１６】
即ち、仮想空間中に配置されたオリジナル仮想物体を複製する複製手段と、
前記複製手段によって複製された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象外に設定する第１の設定手段と、
前記複製手段によって複製された仮想物体について、所定の条件を満たすか否かを判断する判断手段と、
前記判断手段によって所定の条件を満たすと判断された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象に設定する第２の設定手段と、
前記オリジナル仮想物体との干渉状態を計算する対象に設定された仮想物体のみ、前記オリジナル仮想物体との干渉状態を計算する計算手段と
を備えることを特徴とする。
【００１７】
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
【００１８】
即ち、操作者が手に保持して操作する指示具の位置姿勢を取得する取得手段と、
前記取得手段が取得した位置姿勢にオリジナル仮想物体を配置する配置手段と、
前記配置手段によって配置されたオリジナル仮想物体を複製する複製手段と、
前記複製手段によって複製された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象外に設定する第１の設定手段と、
前記複製手段によって複製された仮想物体について、所定の条件を満たすか否かを判断する判断手段と、
前記判断手段によって所定の条件を満たすと判断された仮想物体を、前記オリジナル仮想物体との干渉状態を計算する対象に設定する第２の設定手段と、
前記オリジナル仮想物体との干渉状態を計算する対象に設定された仮想物体のみ、前記オリジナル仮想物体との干渉状態を計算する計算手段と
を備えることを特徴とする。
【発明の効果】
【００１９】
本発明の構成により、オリジナル仮想物体と複製仮想物体との干渉状態の判定を適宜行うことができる。
【発明を実施するための最良の形態】
【００２０】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００２１】
［第１の実施形態］
＜システムの構成について＞
図１は、本実施形態に係るシステムのハードウェア構成を示す図である。同図に示す如く、本実施形態に係るシステムは、ＣＰＵ１０１、表示装置１０３、位置姿勢センサ１０５、センサコントローラ（ＣＴＬ）１０４，キーボード１０６、メモリ１０７，１０８により構成されている。
【００２２】
また、メモリ１０７には干渉判定プログラム１１０、ＣＧ複製プログラム１１１、干渉処理対象判定プログラム１１２、干渉チェック保留プログラム１１３、干渉通知プログラム１１４が格納されているし、メモリ１０８にはチェック対象リスト１２１、チェック保留リスト１２２、センサ位置姿勢データ１２３、ＣＧデータ１２３が格納されている。
【００２３】
よってＣＰＵ１０１はメモリ１０７に格納されているそれぞれのプログラムを実行することで後述する各処理を実行する。また、処理の実行の際にはメモリ１０８に格納されているデータを用いる。なお、本実施形態ではプログラムとデータはそれぞれ別個のメモリに格納しているが、これに限定するものではなく、同じメモリ内に格納するようにしても良い。
【００２４】
表示装置１０３は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１０１による処理結果を画像や文字などでもって表示する。位置姿勢センサ１０５は、仮想物体の位置姿勢を操作する為に操作者が手に保持しているものであり、本実施形態では磁気センサとする。よって、現実空間中には磁界の発生源が設置されており、位置姿勢センサ１０５は自身の位置姿勢に応じて検知される磁界の変化を示す信号をセンサコントローラ１０４に出力する。センサコントローラ１０５は受けた信号に基づいて「センサ座標系（上記発生源の位置を原点とし、この原点で互いに直交する３軸をそれぞれｘ軸、ｙ軸、ｚ軸とする座標系）における位置姿勢センサ１０５の位置姿勢を示すデータ」を求め、これをメモリ１０８内の領域１２３に出力する。
【００２５】
キーボード１０６は、操作者が操作することで、各種の指示をＣＰＵ１０１に対して入力することができる。
【００２６】
メモリ１０７に格納されている上記プログラム群、メモリ１０８に格納されているデータ群のそれぞれについては後述する。
【００２７】
＜メインの処理について＞
本実施形態では、位置姿勢センサ１０５には予め仮想物体が１つ関連付けられており、この仮想物体は位置姿勢センサ１０５が計測する位置姿勢に配置される。従って、この位置姿勢センサ１０５を手に保持している操作者がその位置や姿勢を自在に変更すると、それに追従して仮想物体の位置や姿勢も変化する。以下では、位置姿勢センサ１０５に関連付けられた仮想物体を「オリジナル仮想物体」と呼称する。そしてＣＰＵ１０１は、このオリジナル仮想物体を含む仮想空間を所定の位置姿勢を有する視点から見た場合に見える画像を生成して表示装置１０３に表示する。
【００２８】
また、操作者は、位置姿勢センサ１０５を所望の位置姿勢に移動させ、そこで複写（コピー）を行う旨を、キーボード１０６や位置姿勢センサ１０５に備わっているボタンなどを用いて入力すると、ＣＰＵ１０１はこれを検知し、位置姿勢センサ１０５の位置姿勢に配置されているオリジナル仮想物体を複製した仮想物体をこの位置姿勢（複写を行う旨を検知した時点で位置姿勢センサ１０５から取得した位置姿勢）に配置する。そしてこの仮想物体は以降、オリジナル仮想物体との干渉判定の対象となるのであるが、本実施形態では干渉判定の対象となるタイミングを制御する。
【００２９】
図２は、１フレーム分の仮想空間の画像を生成するためにＣＰＵ１０１が行う処理のフローチャートを示す図である。
【００３０】
先ず、ＣＰＵ１０１は、センサコントローラ１０４を介して位置姿勢センサ１０５から送出される「センサ座標系における位置姿勢センサ１０５の位置姿勢を示すデータ」をメモリ１０８内の領域１２３に格納する（ステップＳ２０１）。そして、ＣＧデータ１２４からオリジナル仮想物体の描画データを読み出し、このデータに基づいてオリジナル仮想物体を生成し、これをステップＳ２０１でメモリ１０８に取得した「センサ座標系における位置姿勢センサ１０５の位置姿勢」で仮想空間中に配置する（ステップＳ２０２）。
【００３１】
ここで、ＣＧデータ１２４は、仮想空間中に配置されるそれぞれの仮想物体毎の描画データであり、例えば仮想物体がポリゴンで構成されている場合には、各ポリゴンの法線ベクトルデータ、ポリゴンを構成する各頂点の座標データ、ポリゴンカラーデータ、そして仮想物体にテクスチャマッピングを施す場合にはテクスチャのデータにより構成されている。本実施形態では仮想空間の初期状態は、複数の仮想物体が所定の位置に配置されているものとするので、ＣＧデータ１２４は、この配置されているそれぞれの仮想物体の描画データにより構成されている。
【００３２】
よって、上記ステップＳ２０１，Ｓ２０２の処理を行うことで、位置姿勢センサ１０５の位置姿勢にオリジナル仮想物体を配置することができる。
【００３３】
次に、ＣＰＵ１０１は干渉処理対象判定プログラム１１２を実行することで、先ずチェック保留リスト１２２に情報が登録されているのか否かを判断し（ステップＳ２０３）、登録されている場合には処理をステップＳ２０４に進め、その情報を参照し、以下説明する処理を行う（ステップＳ２０４）。
【００３４】
チェック保留リスト１２２には、現在仮想空間中に配置されている仮想物体（オリジナル仮想物体を除く）のうちオリジナル仮想物体との干渉状態を判定する対象ではない仮想物体（非対象仮想物体）を識別する識別情報、非対象仮想物体がオリジナル仮想物体との干渉状態を判定する対象である仮想物体（対象仮想物体）となるために満たすべき所定の条件を現在満たしているのか否かを示す状態情報を含むセットデータが非対象仮想物体毎に登録されており、ステップＳ２０４では、セットデータ毎に参照する。
【００３５】
そして、参照したセットデータ中の状態情報が「所定の条件を満たした」ことを示している場合には、このセットデータをチェック対象リスト１２１に移動させる。即ち、チェック対象リスト１２１には、対象仮想物体のセットデータが登録されることになる。なお、チェック対象リスト１２１は初期状態では、初期に仮想空間中に配置されている全ての仮想物体（オリジナル仮想物体を除く）に係るセットデータが登録されているものとするが、これに限定するものではなく、登録するセットデータは適宜選択するようにしても良い。ステップＳ２０４における処理の詳細については図３を用いて後述する。
【００３６】
次に、ＣＰＵ１０１は、干渉判定プログラム１１０を実行することで、チェック対象リスト１２１に登録されているセットデータを順次参照し、参照したセットデータ中の識別情報で特定される仮想物体とオリジナル仮想物体との干渉状態を判定する（ステップＳ２０５）。仮想物体同士の干渉状態処理については周知の技術であるので、これに関する説明は省略する。よって、ステップＳ２０５における処理により、それぞれの対象仮想物体とオリジナル仮想物体との干渉状態を判定することができる。
【００３７】
そしてこの判定処理の結果、オリジナル仮想物体と干渉している仮想物体が存在した場合には処理をステップＳ２０６に進め、ＣＰＵ１０１は、干渉通知プログラム１１４を実行することで、干渉している旨、若しくはオリジナル仮想物体と干渉している仮想物体の識別情報を表示装置１０３の表示画面上に表示することで通知する（ステップＳ２０６）。
【００３８】
なお、通知する方法についてはこれに限定するものではなく、様々なものが考え得る。例えば、オリジナル仮想物体と干渉している仮想物体（若しくは干渉部分のみ）の表示色を変更するようにしても良いし、若しくは本システムにスピーカを設け、このスピーカを介して干渉したことを通知するための音を発するようにしても良い。
【００３９】
次に、ＣＰＵ１０１は、操作者がキーボード１０６、若しくは位置姿勢センサ１０５に備わっているボタンなどを用いて、オリジナル仮想物体を複製（コピー）する旨の指示を入力したか否かを判断し（ステップＳ２０７）、入力した場合には処理をステップＳ２０８に進め、ＣＰＵ１０１はＣＧ複製プログラム１１１を実行することで先ず、オリジナル仮想物体の描画データをメモリ１０８内で複製し、複製した描画データを用いて複製仮想物体を生成し、生成した複製仮想物体を、複製する指示をＣＰＵ１０１が検知した時点で位置姿勢センサ１０５から取得した位置姿勢に配置する（ステップＳ２０８）。
【００４０】
また本ステップでは、複製仮想物体の識別情報、及びこの複製仮想物体はオリジナル仮想物体との干渉状態を判定する対象ではない旨を示す状態情報のセットデータを作成し、チェック保留リスト１２２に登録する。なお、ステップＳ２０８における処理の詳細については後述する。
【００４１】
ここで、複製された仮想物体の位置姿勢はその時点での位置姿勢センサ１０５より取得した位置姿勢としたが、これはすなわち複製操作がされる直前のオリジナル仮想物体の位置であるため、複製仮想物体がどのように配置されるか事前に確認しやすいという効果がある。複製仮想物体の位置をオリジナル仮想物体と干渉しない位置までずらすことも可能であるが、そのようにすると複製仮想物体の位置を特定することが難しくなり、事後の微調整が必要になりがちである。
【００４２】
次に、以上のような仮想空間を所定の位置姿勢を有する視点から見た場合に見える画像を生成し、生成した画像を表示装置１０３に出力する（ステップＳ２０９）。なお、この視点の位置姿勢は操作者がキーボード１０６等を用いて適宜変更するようにしても良い。
【００４３】
以上の処理により、１フレーム分の画像を生成することができる。よってこのような処理を複数回行うことで、表示装置１０３の表示画面上には仮想空間の動画像を表示することができる。これにより、操作者は、オリジナル仮想物体がその他の仮想物体と干渉しているのか否かを知ることができ、オリジナル仮想物体がその他の仮想物体と干渉しないようにその位置や姿勢を自在に変更させることができる。
【００４４】
＜ステップＳ２０４における処理の詳細について＞
次に、上記ステップＳ２０４における処理、即ち、チェック保留リスト１２２中のセットデータを参照し、それぞれのセットデータが「オリジナル仮想物体との干渉状態を判定する対象となるべき仮想物体のセットデータ」であるのか否かを判定し、その判定結果に応じてそのセットデータをチェック対象リスト１２１に移動させるのか否かを制御する処理について、同処理のフローチャートを示す図３を用いて以下説明する。
【００４５】
先ず、以下の処理で用いる変数ｎに１を代入して初期化する（ステップＳ３０１）。次に、チェック保留リスト１２２中のｎ番目のセットデータ中の状態情報を参照して、このセットデータ中の識別情報によって特定される仮想物体が所定の条件を満たしているのか否か、即ち、この仮想物体がオリジナル仮想物体との干渉状態を判定する対象であるのか否かをチェックする（ステップＳ３０２）。
【００４６】
ここで、「所定の条件」には様々なものが考えられるが、ここではその一例を紹介する。
【００４７】
・  条件１  ・・・  仮想空間中に配置されてから所定時間以上が経過したか否か
仮想空間中にはオリジナル仮想物体以外に予めいくつかの仮想物体が配置されている。これらの仮想物体については既に条件１を満たしているものとするので、上述の通り、これらの仮想物体に係るセットデータは予めチェック対象リスト１２１に登録しておく。
【００４８】
一方、仮想空間中には上述の操作により、オリジナル仮想物体の複製を新たに配置することができる。そして上述の通り、複製仮想物体のセットデータはチェック保留リスト１２２に登録される。チェック保留リスト１２２にセットデータを登録すると、登録してからの時間をＣＰＵ１０１は内部のタイマでもって計時し、登録されてから所定時間が経過すると、このセットデータ中の状態情報を「オリジナル仮想物体との干渉状態を判定する対象である」旨を示す情報に更新する。そして更新した状態情報を含むセットデータをチェック対象リスト１２１に移動させる。
【００４９】
複製仮想物体を配置すると、必ずオリジナル仮想物体と干渉することになるので、従来では干渉している旨がいきなり報知され、特に報知をブザー音にて行っている場合、複製仮想物体を配置すると必ずブザーが鳴り、作業に支障が生ずる。
【００５０】
しかし、本実施形態では、複製仮想物体を配置後、所定時間が経過してから初めてオリジナル仮想物体との干渉状態の判定の対象となるので、この所定時間の間にオリジナル仮想物体を複製仮想物体から遠ざければ、従来のように、複製仮想物体を配置すると必ずブザーが鳴るという問題はなくなる。
【００５１】
・  条件２  ・・・  オリジナル仮想物体との干渉が生じているか否か
条件１では、所定時間が経過すると自動的にオリジナル仮想物体との干渉状態の判定対象となるが、条件２を用いれば、オリジナル仮想物体を複製仮想物体から遠ざけるまで、この複製仮想物体はオリジナル仮想物体との干渉状態の判定対象にはならない。
【００５２】
即ち、ＣＰＵ１０１は複製仮想物体の配置後、常にオリジナル仮想物体との干渉状態の判定を行い、初めて干渉していないと判断した時点で、この複製仮想物体のセットデータ中の状態情報を「オリジナル仮想物体との干渉状態を判定する対象である」旨を示す情報に更新し、更新した状態情報を含むセットデータをチェック対象リスト１２１に移動させる。
【００５３】
なお、条件２を採用した場合にオリジナル仮想物体と複製仮想物体との干渉状態を判定する処理は精密に行う必要は必ずしもない場合もある。例えば位置姿勢センサ１０５の位置や姿勢が複製仮想物体の配置後大幅に変わった場合や、位置姿勢センサ１０５の位置や姿勢がある特定の位置や姿勢に変更された場合に、この複製仮想物体のセットデータ中の状態情報を「オリジナル仮想物体との干渉状態を判定する対象である」旨を示す情報に更新し、更新した状態情報を含むセットデータをチェック対象リスト１２１に移動させる。
【００５４】
・  条件３  ・・・  キーボード１０６等から指示が入力されたか否か
観察者が表示装置１０３の表示画面を観察し、オリジナル仮想物体と複製仮想物体とが干渉していないことを確認したらキーボード１０６等を用いてこの複製仮想物体が「オリジナル仮想物体との干渉状態の対象である」旨の指示を入力する。
【００５５】
この場合、このような指示を受けると、ＣＰＵ１０１は、この複製仮想物体のセットデータ中の状態情報を「オリジナル仮想物体との干渉状態を判定する対象である」旨を示す情報に更新し、更新した状態情報を含むセットデータをチェック対象リスト１２１に移動させる。
【００５６】
以上の条件は一例であり、これ以外にも様々な条件が考えられる。
【００５７】
図３に戻って、以上説明したような様々な条件に従って複製仮想物体がオリジナル仮想物体との干渉状態の対象であるのか否かをチェックし、その結果、対象ではない場合には、処理をステップＳ３０５に進め、全てのセットデータを参照したか否かをチェックし（ステップＳ３０５）、全てのセットデータをチェックしていない場合には処理をステップＳ３０６に進め、変数ｎが保持する値に１を加算し（ステップＳ３０６）、次のセットデータについてステップＳ３０２以降の処理を行う。
【００５８】
一方、ステップＳ３０２における判定処理で、オリジナル仮想物体との干渉状態の対象であると判定された場合には処理をステップＳ３０３に進め、参照したセットデータをチェック保留リスト１２２から削除して（ステップＳ３０３）、チェック対象リスト１２１に移動させる（ステップＳ３０４）。
【００５９】
＜ステップＳ２０８における処理の詳細について＞
次に、上記ステップＳ２０８における処理、即ち、オリジナル仮想物体を複製した複製仮想物体を配置すると共に、複製仮想物体のセットデータをチェック保留リスト１２２に登録する処理について、同処理のフローチャートを示す図４を用いて以下説明する。
【００６０】
先ず、オリジナル仮想物体の描画データをメモリ１０８内で複製し（ステップＳ４０１）、複製した描画データをＣＧデータ１２４に含める（ステップＳ４０２）。そして複製した描画データを用いて複製仮想物体を生成し、生成した複製仮想物体を、複製する指示をＣＰＵ１０１が検知した時点で位置姿勢センサ１０５から取得した位置姿勢に配置する（ステップＳ４０３）。そして、複製仮想物体の識別情報、及びこの複製仮想物体はオリジナル仮想物体との干渉状態を判定する対象ではない旨を示す状態情報のセットデータを作成し、チェック保留リスト１２２に登録する（ステップＳ４０４）。
【００６１】
以上の説明により、本実施形態によって、ひとたび所定の条件が満足するまでは干渉判定の対象としていないが、その状態であっても別途仮想物体相互の干渉状態を把握することは可能であり、干渉判定対象としてないが干渉が起こっているというような状態においては干渉状態では許されない種類の操作を禁止することは可能である。
【００６２】
［第２の実施形態］
第１の実施形態では位置姿勢センサ１０５は磁気センサであるとしたが、位置姿勢センサ１０５に適用可能なセンサはこれに限定するものではなく、例えば光学式センサや超音波センサなどを用いても良い。
【００６３】
また、第１の実施形態では説明を簡単にするために操作者は１つのオリジナル仮想物体の位置姿勢を操作するために、位置姿勢センサ１０５は１つとしたが、これに限定するものではなく、複数の位置姿勢センサ１０５をシステムに接続し、それぞれの位置姿勢センサ１０５にそれぞれ仮想物体を関連付けるようにしてもよい。その場合であっても、個々の位置姿勢センサ１０５を用いた仮想物体の複製、及び干渉状態を判定する処理については第１の実施形態と同じである。
【００６４】
また、第１の実施形態では、オリジナル仮想物体の位置姿勢を操作するために位置姿勢センサ１０５を用いたが、これに限定するものではなく、キーボード１０６を用いてその位置姿勢を操作するようにしても良い。その場合、図１の構成において位置姿勢センサ１０５、センサコントローラ１０４は不要となり、領域１２３にはキーボード１０６から入力されるオリジナル仮想物体の位置姿勢を示すデータが格納されることになる。
【００６５】
また、第１の実施形態ではＶＲに適用した場合について説明したが、これをＭＲ（複合現実感）に適用するようにしても良い。その場合、観察者は頭部にＨＭＤ（ＨｅａｄＭｏｕｎｔＤｉｓｐｌａｙ）を装着し、このＨＭＤが有する表示装置に表示装置１０３に表示した上記画面を表示する。
【００６６】
また、この表示される画像は、観察者の視点の位置姿勢に応じたものであるので、視点の位置姿勢を取得するための位置姿勢センサをこのＨＭＤに取り付け、この位置姿勢センサでもって計測した位置姿勢に基づいて視点の位置姿勢を取得し、取得した位置姿勢の視点から見える仮想空間の画像を生成する。
【００６７】
また、複製仮想物体は必ずしもオリジナル仮想物体の位置姿勢に配置することに限定するものではないし、複製仮想物体のオリジナルを選択するようにしても良い。
【００６８】
［その他の実施形態］
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００６９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７０】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７１】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００７２】
【図１】本発明の第１の実施形態に係るシステムのハードウェア構成を示す図である。
【図２】１フレーム分の仮想空間の画像を生成するためにＣＰＵ１０１が行う処理のフローチャートを示す図である。
【図３】ステップＳ２０４における処理、即ち、チェック保留リスト１２２中のセットデータを参照し、それぞれのセットデータが「オリジナル仮想物体との干渉状態を判定する対象となるべき仮想物体のセットデータ」であるのか否かを判定し、その判定結果に応じてそのセットデータをチェック対象リスト１２１に移動させるのか否かを制御する処理のフローチャートである。  先ず、以下
【図４】ステップＳ２０８における処理、即ち、オリジナル仮想物体を複製した複製仮想物体を配置すると共に、複製仮想物体のセットデータをチェック保留リスト１２２に登録する処理のフローチャートである。
【図１】
2006252467.tif 000003
【図２】
2006252467.tif 000004
【図３】
2006252467.tif 000005
【図４】
2006252467.tif 000006