(57)【要約】【課題】ユーザに対して容易かつ直感的な操作で３次元仮想空間内の所定の情報を操作させることができるようにする。【解決手段】情報処理装置は、予め入力された表示装置１３の所定の情報に基づいて、表示装置１３を含む実空間４２における実空間座標系（ｘ，ｙ，ｚ）を設定し、設定した実空間座標系（ｘ，ｙ，ｚ）と同一の座標系を利用して、表示装置１３の表示面１３−１を境界４１とする実空間４２と連続した３次元仮想空間４３を構築し、３次元仮想空間４３を表す画像を表示装置１３に表示させるように制御する。さらに、情報処理装置は、３次元位置角度センサ１１−１の実空間座標系（ｘ，ｙ，ｚ）における位置および角度に基づいて、３次元仮想空間４３の所定の情報を変更する。本発明は、パーソナルコンピュータに適用可能である。【選択図】      図５
2004213583.tif 000002
【特許請求の範囲】
【請求項１】
３次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する情報処理装置において、
予め入力された前記表示装置の所定の情報に基づいて、前記表示装置を含む実空間における第１の座標系を設定する設定手段と、
前記設定手段により設定された前記第１の座標系と同一の座標系を用いて前記３次元仮想空間を構築する構築手段と、
前記構築手段により構築された前記３次元仮想空間に対応する画像を、前記表示装置に表示させるように制御する表示制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記構築手段は、前記表示装置の表示面を前記３次元仮想空間と前記実空間の界面として、前記３次元仮想空間と前記実空間が連続した空間となるように前記３次元仮想空間を構築する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記構築手段により構築された前記３次元仮想空間の状態を変化させる指令を入力する入力手段と、
前記入力手段より入力された前記指令に基づいて、前記構築手段により構築された前記３次元仮想空間が有する複数の情報のうちの第１の情報の内容を変更する変更手段と
をさらに備え、
前記構築手段は、さらに、前記変更手段により変更された前記第１の情報の内容に基づいて前記３次元仮想空間を再構築し、
前記表示制御手段は、さらに、前記構築手段により再構築された前記３次元仮想空間に対応する画像を、前記表示装置に表示させるように制御する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記入力手段は、所定の実物体が前記実空間内に配置された場合、前記実物体の前記実空間における位置および角度を前記第１の座標系とは異なる第２の座標系で測定し、その測定結果を前記指令として入力し、
前記変更手段は、前記入力手段より入力された前記実物体の前記位置および前記角度の座標系を前記第２の座標系から前記第１の座標系に変換し、前記第１の座標系に変換した前記実物体の前記位置および前記角度に基づいて前記第１の情報の内容を変更する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記入力手段は、前記実物体として、前記入力手段自身のうちの少なくとも一部分を利用する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記入力手段は、前記実物体として、前記３次元仮想空間と前記実空間が連続した前記空間に含まれる情報であって、前記第１の情報の内容を変化させることが可能な第２の情報の所定の特徴が表現された実物体を利用する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
３次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する情報処理方法において、
予め入力された前記表示装置の所定の情報に基づいて、前記表示装置を含む実空間における座標系を設定する設定ステップと、
前記設定ステップにより設定された前記座標系と同一の座標系を利用して３次元仮想空間を構築する構築ステップと、
前記構築ステップの処理により構築された前記３次元仮想空間に対応する画像を、前記表示装置に表示させるように制御する表示制御ステップと
を含むことを特徴とする情報処理方法。
【請求項８】
３次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する処理を、コンピュータに実行させるプログラムであって、
予め入力された前記表示装置の所定の情報に基づいて、前記表示装置を含む実空間における座標系を設定する設定ステップと、
前記設定ステップにより設定された前記座標系と同一の座標系を利用して３次元仮想空間を構築する構築ステップと、
前記構築ステップの処理により構築された前記３次元仮想空間に対応する画像を、前記表示装置に表示させるように制御する表示制御ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、ユーザが、３次元仮想空間内の所定の情報を容易かつ直感的に操作することができるようにした情報処理装置および方法、並びにプログラムに関する。
【０００２】
【従来の技術】
近年、情報処理技術の発達が著しく、パーソナルコンピュータに代表される、一般ユーザが利用する汎用的な情報処理装置においても、コンピュータグラフィックス（以下、ＣＧと称する）による３次元仮想空間の表現およびその利用が容易に実現可能となっている。
【０００３】
また、近年、情報通信技術の発達が著しく、インターネット等のネットワーク上のサーバを利用することで、複数のクライアント（例えば、上述した汎用的な情報処理装置）によるデータの共有や、複数のクライアントのそれぞれに対するデータの配信が容易に実現可能となっている。
【０００４】
さらに、最近では、これらの情報処理および通信技術の融合により、複数のクライアントのそれぞれが、サーバ上に構築された３次元仮想空間内のデータを共有して利用するといった技術（例えば、特許文献１参照）も普及し、この技術を利用した様々なサービスが行われるようになっている。
【０００５】
従来、このようなＣＧによって表現された３次元仮想空間の座標系は、その３次元仮想空間をサーバ等に実装した開発者によって設定されることが多い。従って、ユーザは、所定の入力装置を利用して、そのような３次元仮想空間内の情報を操作する場合、開発者によって予め設定された座標系に従って操作することになる。
【０００６】
【特許文献１】
特開２００２−２７９２８４
【０００７】
【発明が解決しようとする課題】
しかしながら、開発者によって予め設定された座標系により構築される３次元仮想空間と、ユーザが入力装置を操作する周辺の実空間との間には対応関係がほとんど存在しない。従って、ユーザは、非直感的なインタフェースで３次元仮想空間内の情報を操作することになり、ユーザにとって非常に困難な操作が必要になるという第１の課題がある。
【０００８】
具体的には、例えば、３次元仮想空間内の情報を操作する入力装置として、パーソナルコンピュータに接続されたマウスが利用される場合、実空間内のマウス本体の移動距離と、画面内（３次元仮想空間内）のマウスポインタの移動距離が大きく異なることが多い。
【０００９】
従って、例えば、ユーザは、マウスポインタを画面（３次元仮想空間）の端から端まで移動させるのに、マウスを実空間内でどれだけ移動させる必要があるのかを直感的に理解することができず、その結果、実際にマウスを何度も移動させてその移動距離を覚えなければならない。
【００１０】
さらに、３次元仮想空間の視点の変化も考慮すると（通常、３次元仮想空間の視点は自由に変更できるので）、ユーザは、マウスをどのように動かしたらいいのかさえ直感的に理解することができず、その結果、マウスをあらゆる方向に何度も動かすといった、試行錯誤を重ねることが多々ある。
【００１１】
また、近年、実空間の状態を変化させる操作と同様な操作で、３次元仮想空間の状態を実空間と同様に変化させたいと要望するユーザの数が増加している。例えば、ユーザが、実際の懐中電灯を手に持って動かすことで、実空間の所望の位置を照らすのと同様に、模擬懐中電灯を手に持って動かすことで、３次元仮想空間内の所望の場所を照らしたいといった要望が存在する。或いは、ユーザが、実際の釣竿を手に持って動かすことで、実際の魚を釣りあげるのと同様に、模擬釣竿を手に持って動かすことで、３次元仮想空間中の仮想の魚を釣り上げたいといった要望も存在する。
【００１２】
しかしながら、上述したように、従来の３次元仮想空間とユーザの周囲の実空間との間に対応関係がほとんど存在しないため、そのような要望に応えることは非常に困難であるという第２の課題もある。
【００１３】
本発明は、このような状況に鑑みてなされたものであり、ユーザが、３次元仮想空間内の所定の情報を容易かつ直感的に操作することができるようにするものである。
【００１４】
【課題を解決するための手段】
本発明の情報処理装置は、３次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する情報処理装置であって、予め入力された表示装置の所定の情報に基づいて、表示装置を含む実空間における第１の座標系を設定する設定手段と、設定手段により設定された第１の座標系と同一の座標系を用いて３次元仮想空間を構築する構築手段と、構築手段により構築された３次元仮想空間に対応する画像を、表示装置に表示させるように制御する表示制御手段とを備えることを特徴とする。
【００１５】
構築手段は、表示装置の表示面を３次元仮想空間と実空間の界面として、３次元仮想空間と実空間が連続した空間となるように３次元仮想空間を構築するようにすることができる。
【００１６】
構築手段により構築された３次元仮想空間の状態を変化させる指令を入力する入力手段と、入力手段より入力された指令に基づいて、構築手段により構築された３次元仮想空間が有する複数の情報のうちの第１の情報の内容を変更する変更手段とをさらに設け、構築手段は、さらに、変更手段により変更された第１の情報の内容に基づいて３次元仮想空間を再構築し、表示制御手段は、さらに、構築手段により再構築された３次元仮想空間に対応する画像を、表示装置に表示させるように制御するようにすることができる。
【００１７】
入力手段は、所定の実物体が実空間内に配置された場合、実物体の実空間における位置および角度を第１の座標系とは異なる第２の座標系で測定し、その測定結果を指令として入力し、変更手段は、入力手段より入力された実物体の位置および角度の座標系を第２の座標系から第１の座標系に変換し、第１の座標系に変換した実物体の位置および角度に基づいて第１の情報の内容を変更するようにすることができる。
【００１８】
入力手段は、実物体として、入力手段自身のうちの少なくとも一部分を利用するようにすることができる。
【００１９】
入力手段は、実物体として、３次元仮想空間と実空間が連続した空間に含まれる情報であって、第１の情報の内容を変化させることが可能な第２の情報の所定の特徴が表現された実物体を利用するようにすることができる。
【００２０】
本発明の情報処理方法は、３次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する情報処理方法であって、予め入力された表示装置の所定の情報に基づいて、表示装置を含む実空間における座標系を設定する設定ステップと、設定ステップにより設定された座標系と同一の座標系を利用して３次元仮想空間を構築する構築ステップと、構築ステップの処理により構築された３次元仮想空間に対応する画像を、表示装置に表示させるように制御する表示制御ステップとを含むことを特徴とする。
【００２１】
本発明のプログラムは、３次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する処理を、コンピュータに実行させるプログラムであって、予め入力された表示装置の所定の情報に基づいて、表示装置を含む実空間における座標系を設定する設定ステップと、設定ステップにより設定された座標系と同一の座標系を利用して３次元仮想空間を構築する構築ステップと、構築ステップの処理により構築された３次元仮想空間に対応する画像を、表示装置に表示させるように制御する表示制御ステップとを含むことを特徴とする。
【００２２】
本発明の情報処理装置および方法、並びにプログラムにおいては、予め入力された所定の表示装置の所定の情報に基づいて表示装置を含む実空間における座標系が設定され、設定された座標系と同一の座標系で３次元仮想空間が構築され、構築された３次元仮想空間に対応する画像が上述した表示装置に表示される。
【００２３】
本発明の情報処理装置により表示が制御される画像を表示する表示装置は、情報処理装置に搭載されているものでもよいし、情報処理装置の外部の装置でもよい。同様に、本発明の情報処理装置に情報を入力する入力装置は、情報処理装置に搭載されているものでもよいし、情報処理装置の外部の装置でもよい。
【００２４】
【発明の実施の形態】
図１は、本実施の形態が適用される情報処理装置のハードウエアの構成例を表している。
【００２５】
図１に示されるように、情報処理装置１は、入力部１１、主制御部１２、および表示部１３により構成される。
【００２６】
本実施の形態においては、例えば、主制御部１２が、表示部１３の所定の情報（例えば、大きさ、位置、および角度等）に基づいて３次元仮想空間を構築し、それに対応する画像を表示部１３に表示させる。さらに、ユーザが入力部１１を操作した場合、主制御部１２は、その操作に応じて３次元仮想空間の状態を変化させ（再構築し）、それに対応する画像を表示部１３に表示させる。ただし、情報処理装置１の用途は、本実施の形態の例に限定されず、単に、後述する３次元仮想空間の座標系の定義方法を利用する用途であればよい。
【００２７】
入力部１１は、基本機能として、３次元仮想空間の状態を変化させる指令を主制御部１２に入力する第１の機能を有している。即ち、ユーザは、入力部１１の第１の機能を利用することで、３次元仮想空間の状態を変化させることができる。
【００２８】
この入力部１１が入力する指令は、変化の具体的な内容（即ち、３次元仮想空間の状態をどのように変化させるのかといった具体的な内容）を指令するものであってもよいし、３次元仮想空間の状態を単に変化させることを指令するもの（即ち、トリガ）であってもよい。
【００２９】
前者の指令が主制御部１２に入力された場合、主制御部１２は、入力された指令に沿って３次元仮想空間の状態を変化させる。これに対して、後者の指令が主制御部１２に入力された場合、主制御部１２は、自分自身の判断（指令とは完全に独立した判断でもよいし、指令の内容に基づく判断でもよい）で３次元仮想空間の状態を変化させる。いずれの場合においても、その変化の内容は特に限定されず、主制御部１２は、入力部１１の第１の機能により入力された指令に基づいて、３次元仮想空間の状態を様々な状態に変化させることが可能である。なお、３次元仮想空間の状態が変化される具体的な例については後述する。
【００３０】
換言すると、入力部１１は、３次元仮想空間の状態を変化させる指令を主制御部１２に入力させることが可能なものであれば、その形態は特に限定されない。例えば、入力部１１は、３次元位置角度センサにより構成することが可能である。具体的には、例えば、磁気方式、光学方式、超音波方式、または機械方式といった様々な方式の３次元位置角度センサが、入力部１１として利用可能である。勿論、入力部１１は、３次元位置角度センサに限定されず、その他の入力装置、例えば、キーボードやマウスに代表される、オンオフ入力装置若しくは２次元位置入力装置により構成してもよい。
【００３１】
ところで、情報処理装置１は、実空間に存在する入力部１１の入力に基づいて３次元仮想空間内の情報を処理するため、少なくとも実空間の３次元座標系と３次元仮想空間を定義する座標系の２つの座標系を利用する。
【００３２】
一般的には（従来においては）、これら２つの座標系のそれぞれは、対応関係がなく完全に独立して存在する。
【００３３】
これに対して、本実施の形態においては、後述するように、これら２つの座標系の対応関係が、表示部１３の所定の情報（例えば、大きさ、位置、および角度等）に基づいて定義される。具体的には、本実施の形態においては、これら２つの座標系として、表示部１３を指標として定義された同一の（唯一の）座標系が利用されることになる。
【００３４】
そのため、そのような実空間と３次元仮想空間で共有される座標系の定義が行われる前に、表示部１３の情報が主制御部１２に予め入力されている必要がある。そこで、入力部１１は、上述した第１の機能に加えて、所定のデータを主制御部１２に入力する第２の機能をさらに有し、ユーザは、入力部１１の第２の機能を利用して、表示部１３の情報を主制御部１２に入力する。
【００３５】
この場合、入力部１１のうちの第１の機能を有する入力装置自身が第２の機能をさらに有してもよいし（入力部１１が１つの入力装置で構成されてもよいし）、第１の機能を有する入力装置とは異なる、第２の機能を有する別の入力装置が入力部１１に新たに設けられてもよい。具体的には、例えば、別の入力装置としてカメラ等の撮像装置が利用可能である。即ち、カメラが表示部１３を撮影し、主制御部１２が、撮影された表示部１３の画像データに対して所定の画像処理を施すことで、表示部１３の情報の取得が可能になる。このように、入力部１１は、１つの入力装置で構成する必要はなく、上述した機能を実現可能なものであれば、その構成や個数は特に限定されない。
【００３６】
なお、表示部１３の形状等が予め規定されている場合には、表示部１３の情報としてその規定された値を、ユーザの使用前（例えば、情報処理装置１の出荷前）に、情報処理装置１に予め入力しておくことができる。この場合、入力部１１は、表示部１３の情報を入力する第２の機能を有する必要がない。
【００３７】
ただし、この場合、表示部１３の情報の入力後は、表示部１３は、その情報の入力時に設定された位置および角度で配置される必要がある。
【００３８】
さらに、情報処理装置１が座標系定義のみを目的として利用される場合、第１の機能も必要なくなるので、情報処理装置１の構成として入力部１１自身が必須なものでなくなる。
【００３９】
また、第２の機能により入力されるデータは、上述した表示部１３の情報に限定されない。例えば、後述するように、本実施の形態においては、表示部１３には、所定の視点から３次元仮想空間を見た場合の風景に対応する画像が表示される。従って、その視点を指定する情報が第２の機能により主制御部１２に入力されてもよい。
【００４０】
主制御部１２は、例えば、パーソナルコンピュータの本体部分（キーボート等の入力装置と、ディスプレイ等の出力装置を除いた部分）により構成される。主制御部１２は、後述する座標系変換処理や３次元仮想空間の構築処理を行い、構築した３次元仮想空間に対応する画像信号を生成し、表示部１３に出力する。
【００４１】
主制御部１２において、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２に記録されているプログラム、または記憶部２６からＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２３にロードしたプログラムに従って各種の処理を実行する。ＲＡＭ２３にはまた、ＣＰＵ２１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００４２】
ＣＰＵ２１、ＲＯＭ２２、およびＲＡＭ２３は、バス２４を介して相互に接続されている。このバス２４にはまた、入出力インタフェース２５も接続されている。
【００４３】
入出力インタフェース２５には、上述した入力部１１、および後述する表示部１３が接続されている。
【００４４】
入出力インタフェース２５にはまた、ハードディスクなどより構成される記憶部２６、および、インターネットを含むネットワークを介する他の情報処理装置（図示せず）との通信処理を実行する通信部２７が接続されている。
【００４５】
入出力インタフェース２５にはさらに、必要に応じてドライブ２８が接続される。ドライブ２８には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブル記録媒体２９が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部２６にインストールされる。
【００４６】
表示部１３は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ、液晶ディスプレイ、またはプロジェクタ等により構成される。表示部１３は、主制御部１２からの出力に応じて、３次元仮想空間に対応する画像を表示する。
【００４７】
図２は、情報処理装置１の外観構成の１例を表している。
【００４８】
図２の例では、主制御部１２は、デスクトップ型のパーソナルコンピュータの本体部分とされている。主制御部１２は、表示部１３の表示面１３−１を界面（境界）として、実空間と連続した空間となるような３次元仮想空間を構築する。表示装置１３は、液晶ディスプレイとされている。表示装置１３は、主制御部１２により構築された３次元仮想空間に対応する画像を表示面１３−１に表示する。なお、図２の例では、表示面１３−１が垂直上方向を向くように表示部１３が配置されているので、ユーザは、表示部１３の表示面１３−１を上から覗き込むようにして、３次元仮想空間に対応する画像を見ることになる。
【００４９】
入力部１１のうちの上述した第１の機能を有する部分は、３次元位置角度センサ１１−１とされている。３次元位置角度センサ１１−１は、実空間における測定対象物体（図２の例では、３次元位置角度センサ１１−１自身）の位置および角度を測定し、その測定結果を主制御部１２に供給する。
【００５０】
即ち、ユーザが、表示部１３を指標として３次元位置角度センサ１１−１を実空間内の任意の場所に配置すると、３次元仮想空間の状態を変化させる指令として、３次元位置角度センサ１１−１の測定結果（３次元位置角度センサ１１−１自身の実空間における位置および角度）が主制御部１２に入力される。なお、図２の例では、表示部１３の表示面１３−１に接するように３次元位置角度センサ１１−１が配置されているが、後述するように、３次元位置角度センサ１１−１は、表示部１３と接しない空間中に配置されてもよい。
【００５１】
主制御部１２は、入力された指令（３次元位置角度センサ１１−１の測定結果）に基づいて３次元仮想空間の状態を変化させる。表示部１３は、状態が変化した３次元仮想空間に対応する画像を表示する。
【００５２】
このように、ユーザは、実空間と３次元仮想空間のインタフェースとして表示部１３を利用し、３次元位置角度センサ１１−１を操作することで、３次元仮想空間内の所定の情報を容易かつ直感的に操作することができる（状態が変化した３次元仮想空間に対応する画像を、表示部１３に表示させることができる）。
【００５３】
図３は、情報処理装置１の主制御部１２（図２）が有している機能のうちの、３次元仮想空間の座標系を定義し、定義した座標系により３次元仮想空間を構築し、それに対応する画像の表示を制御する処理（以下、そのような処理を、３次元表示制御処理と称する）を行う機能を実現するソフトウエアプログラムの構成例を表している。
【００５４】
即ち、図３の例のソフトウエアプログラムは、座標系設定モジュール３１、仮想空間情報変更モジュール３２、仮想空間構築モジュール３３、および表示制御モジュール３４といった複数のモジュールにより構成される。これらの各モジュールのそれぞれは、１つの独立したアルゴリズムを持ち、かつ、そのアルゴリズムに従って固有の動作を実行する。各モジュールのそれぞれは、ＣＰＵ２１（図１）により適宜読み出され、実行される。
【００５５】
座標系設定モジュール３１は、予め入力された表示部１３の所定の情報（例えば、大きさ、位置、および角度等）に基づいて、表示部１３を含む実空間における第１の座標系（例えば、後述する図５の座標系（ｘ，ｙ，ｚ））を設定（定義）する。また、３次元位置角度センサ１１−１が第１の座標系とは異なる独自の第２の座標系（例えば、後述する図５の座標系（ｓｘ，ｓｙ，ｓｚ））を利用するので、座標系設定モジュール３１は、第１の座標系と第２の座標系の対応関係（座標系変換関数）も演算する。
【００５６】
仮想空間情報変更モジュール３２は、上述した入力部１１の第１の機能が利用されて入力された情報（以下、第１の機能が利用されて入力された情報を、第２の機能のそれと区別するため、位置角度情報と称する。図３の例では、位置角度情報は、３次元位置角度センサ１１−１の測定結果とされる）に基づいて、後述する仮想空間構築モジュール３３により構築された３次元仮想空間が有する複数の情報のうちの所定の情報の内容を変更する。なお、以下、このような仮想空間情報変更モジュール３２によりその内容が変更される情報を、他の情報と区別するために、変更対象情報と称する。
【００５７】
この場合、変更対象情報、その個数、およびその変更内容等は、特に限定されず、主制御部１２は、３次元仮想空間が有する複数の情報のうちの任意の個数の任意の情報を変更対象情報とすることが可能である。さらに、主制御部１２は、変更対象情報の任意の内容を、任意の変更方法で変更することが可能である。なお、変更対象情報、およびその変更方法の具体例については後述する。
【００５８】
仮想空間構築モジュール３３は、所定の視点から、座標系設定モジュール３１により設定された第１の座標系により定義される３次元仮想空間を見た場合の風景に対応する画像データを生成し、表示制御モジュール３４に供給する。なお、以下、このような３次元仮想空間の画像データを生成することを、３次元仮想空間を構築すると称する。換言すると、仮想空間構築モジュール３３は、座標系設定モジュール３１により定義された第１の座標系を用いて３次元仮想空間を構築する。即ち、第１の座標系が、実空間と仮想空間で共有されることになる。
【００５９】
さらに、仮想空間構築モジュール３３は、仮想空間情報変更モジュール３２により変更対象情報の内容が変更された場合、その変更内容に基づいて３次元仮想空間を再構築し、表示制御モジュール３４に供給する。
【００６０】
表示制御モジュール３４は、仮想空間構築モジュール３３により構築された３次元仮想空間に対応する画像を、表示部１３に表示させるように制御する。換言すると、表示制御モジュール３４は、仮想空間構築モジュール３３より供給された画像データを、表示部１３のフォーマットの画像信号に変換して、表示部１３に供給する。表示部１３は、供給された画像信号に対応する画像（３次元仮想空間に対応する画像）を表示する。
【００６１】
次に、図４のフローチャートを参照して、情報処理装置１の主制御部１２（図３）の３次元表示制御処理例について説明する。
【００６２】
なお、この例においては、例えば、情報処理装置１は、上述した図２の構成とされている。即ち、入力部１１の第１の機能を有する部分は、所定の方式の３次元位置角度センサ１１−１で構成されている。また、この例においては、例えば、３次元位置角度センサ１１−１は、自分自身の位置および角度（位置角度情報）を、図５に示されるような３次元位置角度センサ１１−１独自の座標系（ｓｘ，ｓｙ，ｓｚ）（以下、センサ座標系（ｓｘ，ｓｙ，ｓｚ）と称する）で主制御部１２に入力する。
【００６３】
そこで、はじめに図４のステップＳ１において、座標系設定モジュール３１は、３次元位置角度センサ１１−１のセンサ情報に基づいて、図５のセンサ座標系（ｓｘ，ｓｙ，ｓｚ）を設定する。即ち、初期設定として、これから利用される３次元位置角度センサ１１−１の独自のセンサ座標系（ｓｘ，ｓｙ，ｓｚ）が登録される。
【００６４】
次に、ステップＳ２において、座標系設定モジュール３１は、表示部１３の情報（大きさ、位置、および角度等）に基づいて、実空間における座標系（ｘ，ｙ，ｚ）（以下、このような座標系を、センサ座標系と区別するため、実空間座標系（ｘ，ｙ，ｚ）と称する）を設定する。
【００６５】
この例においては、例えば、表示部１３の大きさ、位置、および角度は予め規定されており、その規定された情報が主制御部１２に予め入力されているとする（例えば、図１の記憶部２６等に予め記憶されているとする）。
【００６６】
ただし、上述したように、表示部１３の情報は、特に限定されず、例えば、ステップＳ２の処理の時点で、ユーザが、入力部１１（３次元位置角度センサ１１−１とは異なるキーボード等の入力装置）を操作して入力した情報そのものが、表示部１３の情報として使用されてもよい。或いは、例えば、３次元位置角度センサ１１−１とは異なるカメラ等の入力部１１より入力され、所定の認識手法によって表示部１３を認識した情報が、表示部１３の情報として使用されてもよい。
【００６７】
また、この例においては、例えば、図５に示される実空間４２における実空間座標系（ｘ，ｙ，ｚ）が定義（設定）されるとする。即ち、図５の実空間座標系（ｘ，ｙ，ｚ）では、表示部１３の表示面１３−１が、Ｘ−Ｙ平面とされ、表示面１３−１の法線方向が、Ｚ軸と定義されている。また、原点（図５中の０点）は、図５中、表示面１３−１の左手前の端点とされている。勿論、原点、Ｘ−Ｙ平面の方向、およびｚ軸の方向のそれぞれは、図５の例に限定されず、また、その座標系の定義方法も上述した例に限定されない。
【００６８】
図４に戻り、ステップＳ３において、座標系設定モジュール３１は、センサ座標系（ｓｘ，ｓｙ，ｓｚ）から実空間座標系（ｘ，ｙ，ｚ）への座標系変換関数を演算する。この座標系変換関数によって、センサ座標系（ｓｘ，ｓｙ，ｓｚ）と実空間座標系（ｘ，ｙ，ｚ）の対応関係が数式で記述されることになる。
【００６９】
具体的には、例えば、この例においては、次の式（１）に示されるような座標系変換関数が演算される。
【００７０】
【数１】
2004213583.tif 000003
【００７１】
式（１）は、センサ座標系（ｓｘ，ｓｙ，ｓｚ）から実空間座標系（ｘ，ｙ，ｚ）に変換する関数を表している。式（１）において、ｍ１１乃至ｍ４４は、センサ座標系（ｓｘ，ｓｙ，ｓｚ）から実空間座標系（ｘ，ｙ，ｚ）に変換する変換行列の各成分を表している。
【００７２】
即ち、この例においては、例えば、座標系設定モジュール３１は、最小二乗法等を利用してｍ１１乃至ｍ４４の各値を演算することで、センサ座標系（ｓｘ，ｓｙ，ｓｚ）から実空間座標系（ｘ，ｙ，ｚ）への座標系変換関数を演算する。
【００７３】
なお、ステップＳ３の処理で演算される座標系変換関数や、その演算方法は、上述した例に限定されず、その他、例えば、人間の脳の機能を模擬したニューラルネットワークなどの非線形変換により、座標系変換関数が演算されてもよい。
【００７４】
このように、座標系設定モジュール３１は、ステップＳ１乃至Ｓ３の処理を実行することで、表示部１３を用いて実空間座標系（ｘ，ｙ，ｚ）を定義することができる。上述したように、この実空間座標系（ｘ，ｙ，ｚ）は、図５の実空間４２の座標系としてのみならず、これから構築される３次元仮想空間４３の座標系としても利用される。従って、座標系設定モジュール３１は、ステップＳ１乃至Ｓ３の処理を実行することで、表示部１３を用いて３次元仮想空間４３における座標系を定義することができるとも言える。
【００７５】
座標系設定モジュール３１により実空間座標系（ｘ，ｙ，ｚ）の定義が行われると、図４のステップＳ４において、仮想空間構築モジュール３３が視点を設定する。
【００７６】
なお、視点の設定方法は、特に限定されず、例えば、入力部１１の第２の機能により上述した視点を設定する情報が入力された場合、その情報に指定されている視点が設定される。ただし、この例においては、例えば、予め登録された視点が設定されるとする。即ち、この例においては、例えば、後述するステップＳ５の処理で、図５に示されるように、表示部１３の表示面１３−１が実空間４２との界面（境界）４１とされて、実空間４２と連続した空間となるように３次元仮想空間４３が構築される。従って、この例においては、例えば、表示部１３の表示面１３−１の中心（対角線の交点）を通る表示面１３−１の法線方向（実空間座標系（ｘ，ｙ，ｚ）のｚ軸の負方向）、即ち、ユーザが表示面１３−１を見下ろす方向が予め登録されており、その方向が図４のステップＳ４の処理で視点として設定される。
【００７７】
次に、ステップＳ５において、仮想空間構築モジュール３３は、設定された実空間座標系（ｘ，ｙ，ｚ）と視点を利用して、３次元仮想空間を構築する。
【００７８】
この例においては、上述したように、図５に示されるような、実空間座標系（ｘ，ｙ，ｚ）により定義された３次元仮想空間４３が構築される。換言すると、実空間座標系（ｘ，ｙ，ｚ）で定義される所定の空間を、表示部１３の表示面１３−１を境界（界面）４１として、実空間４２と３次元仮想空間４３の２つの空間に区分した状態となるように、３次元仮想空間４３が構築される。なお、以下、このような実空間４２と３次元仮想空間４３が連続して形成される空間を、実空間４２や３次元仮想空間４３の単体の空間と区別するために、実空間４２と３次元仮想空間４３の連続空間と称する。
【００７９】
図４に戻り、ステップＳ６において、表示制御モジュール３４は、ステップＳ５の処理で仮想空間構築モジュール３３により構築された３次元仮想空間４３の画像を、初期画像として表示部１３に表示させる。
【００８０】
いまの場合、上述したように、ユーザが表示面１３−１を見下ろす方向を視点として、３次元仮想空間４３が構築されているので、表示部１３には、ユーザが３次元仮想空間４３を見下ろした場合の風景に対応する画像が、初期画像として表示される。
【００８１】
具体的には、この例においては、例えば、図６に示されるように、地面５１が、表示部１３の表示面１３−１（即ち、実空間４２と３次元仮想空間４３の界面（境界）４１）と一致するか、または表示面１３−１よりも下方（３次元仮想空間４３内）に配置されるように、３次元仮想空間４３が構築されたとする。
【００８２】
この場合、表示部１３には、例えば、図７に示されるような、ユーザが地面５１を見下ろした場合の風景に対応する画像が、初期画像として表示される。図７の例では、地面５１には、池を表す領域（以下、単に池と称する）６１が存在している。池６１は、図７の例では、２次元的に描画されているが、勿論、実際の池と同様に深さ（実空間座標系（ｘ，ｙ，ｚ）のｚ軸負方向に対する長さ）を有している。
【００８３】
池６１には、魚の形状をしたオブジェクト（以下、魚オブジェクトと称する）６２−１乃至６２−４が存在している。魚オブジェクト６２−１乃至６２−４のそれぞれは、池６１を外れない範囲で自在に移動可能とされている。
【００８４】
魚オブジェクト６２−１乃至６２−４のそれぞれの移動（動き）の表現方法は、特に限定されないが、この例においては、次の通りとされる。即ち、魚オブジェクト６２−１乃至６２−４のそれぞれは、実空間座標系（ｘ、ｙ、ｚ）のＸ−Ｙ平面に対して平行移動および回転を行うアニメーションで表現されるとする。また、魚オブジェクト６２−１乃至６２−４のそれぞれは、実際の魚と同様に、上下方向（実空間座標系（ｘ，ｙ，ｚ）のｚ軸方向）にも移動可能であり、上下方向の移動については、池６１の水面（地面５１と同レベル）からの深さに応じて相対的な大きさが変化する（ユーザから見た場合、あたかも大きさが変化して見える）ように表示されるとする。
【００８５】
ところで、魚オブジェクト６２−１乃至６２−４のうちの少なくとも１つが移動することは、３次元仮想空間４３の状態が変化することに相当する。従って、実際には、魚オブジェクト６２−１乃至６２−４のそれぞれが移動する毎に、３次元仮想空間４３も再構築されることになる。換言すると、実際には、３次元位置角度センサ１１−１からの入力の有無に関わらず、魚オブジェクト６２−１乃至６２−４のそれぞれの位置が刻々と変化する動画像が表示部１３に表示されるように、動画像を構成する複数のフレームのそれぞれに対応する画像データ（所定の１フレームを表す３次元仮想空間に対応する画像データ）が刻々と生成されていく。
【００８６】
ただし、この例においては、説明の簡略上、例えば、３次元位置角度センサ１１−１からの入力に伴う３次元仮想空間４３の状態変化以外の状態変化は起こらないとする。即ち、ユーザが３次元位置角度センサ１１−１を操作しない限り、表示部１３には静止画像が表示されるとする。従って、いまの場合、後述するように、３次元位置角度センサ１１−１が操作されない限り、図７に示される画像が静止画像として表示部１３に表示され続ける。
【００８７】
さらに、図７の例では、表示面１３−１の上方（実空間座標系（ｘ，ｙ，ｚ）のｚ軸正方向）の無限遠の位置に平行光源が存在するとする。なお、視点と同様に光源についても、任意の設定が可能であり、予め設定された光源が利用されてもよいし、ユーザが、入力部１１の第２の機能を利用して入力した光源が利用されてもよい。
【００８８】
このような初期画像が表示部１３に表示された状態（いまの場合、図７に示される状態）で、３次元位置角度センサ１１−１（図５）が実空間４２内を移動すると、上述したように、３次元位置角度センサ１１−１の動きに応じて、３次元仮想空間４３の状態も変化する。このような３次元位置角度センサ１１−１の移動（ユーザ操作）に応じて３次元仮想空間４３の状態を変化させる処理が、図４のステップＳ７乃至Ｓ１１の処理で実行される。
【００８９】
即ち、例えば、いま、図７に示される状態で、ユーザが、３次元位置角度センサ１１−１を、表示部１３の表示面１３−１の図中右下端部の近傍であって、表示面１３−１の上方（実空間座標系（ｘ，ｙ，ｚ）のｚ軸正方向）に配置したとする。
【００９０】
この場合、ステップＳ７において、仮想空間情報変更モジュール３２が、３次元位置角度センサ１１−１からの位置角度情報（いまの場合、センサ座標系（ｓｘ，ｓｙ，ｓｚ）における３次元位置角度センサ１１−１自身の位置および角度）を入力する。
【００９１】
ステップＳ８において、仮想空間情報変更モジュール３２は、入力された位置角度情報の座標系を、センサ座標系（ｓｘ，ｓｙ，ｓｚ）から実空間座標系（ｘ，ｙ，ｚ）に変換する。いまの場合、上述した式（１）が利用されて、位置角度情報の座標系が、センサ座標系（ｓｘ，ｓｙ，ｓｚ）から実空間座標系（ｘ，ｙ，ｚ）に変換される。
【００９２】
ステップＳ９において、仮想空間情報変更モジュール３２は、実空間座標系（ｘ，ｙ，ｚ）に座標変換された位置角度情報に基づいて、３次元仮想空間の変更対象情報の内容を変更する。
【００９３】
上述したように、変更対象情報やその変更内容は、特に限定されないが、この例においては、例えば、変更対象情報は、３次元位置角度センサ１１−１の影の状態とされる。なお、上述したように、変更対象情報の数も特に限定されないが、説明の簡略上、いまの時点においては、３次元位置角度センサ１１−１の影の状態の１つのみとされる。
【００９４】
この場合、仮想空間情報変更モジュール３２は、実空間座標系（ｘ，ｙ，ｚ）における３次元位置角度センサ１１−１の位置および角度に基づいて、上述した平行光源によって地面５１に生成される３次元位置角度センサ１１−１の影の状態（その形状や位置等）を演算する。即ち、３次元位置角度センサ１１−１が移動される度に、その位置や角度（位置角度情報）が変化するので、影の状態も変更される（再演算される）ことになる。
【００９５】
そして、ステップＳ１０において、仮想空間構築モジュール３３が、仮想空間情報変更モジュール３２によりその内容が変更された変更対象情報（再演算された３次元位置角度センサ１１−１の影の状態）に基づいて、３次元仮想空間４３を再構築する。
【００９６】
ステップＳ１１において、表示制御モジュール３４は、ステップＳ１０の処理で仮想空間構築モジュール３３により再構築された３次元仮想空間４３の画像を表示部１３に表示させる。
【００９７】
いまの場合、上述したように、３次元位置角度センサ１１−１が、表示部１３の表示面１３−１の右下端部の近傍であって、表示面１３−１の上方（実空間座標系（ｘ，ｙ，ｚ）のｚ軸正方向）に配置されている。従って、表示部１３には、図８に示されるような、３次元位置角度センサ１１−１の配置状態（位置および角度）に対応する３次元位置角度センサ１１−１の影の領域６３が表示される。
【００９８】
即ち、表示部１３の表示面１３−１の上方に何も配置されていない状態から、３次元位置角度センサ１１−１が配置された状態に変化すると、その変化に応じて、３次元仮想空間４３（それに対応する画像）の状態も、図７に示される状態から図８に示される状態に変化する。
【００９９】
そして、ステップＳ１２において、表示制御モジュール３４は、処理の終了条件が満たされたか否かを判定する。
【０１００】
ステップＳ１２における処理の終了条件は、特に限定されず、様々な条件が使用可能である。具体的には、例えば、ユーザからの終了コマンドが入力された場合、若しくは記憶部２６（図１）の残量が不足する場合等によるソフトウエアまたはハードウエア上の制約条件が使用可能である。
【０１０１】
ステップＳ１２において、処理の終了条件が満たされたと判定された場合、その処理は終了される。
【０１０２】
これに対して、ステップＳ１２において、処理の終了条件がまだ満たされていないと判定された場合、処理はステップＳ７に戻され、それ以降の処理が繰り返される。
【０１０３】
即ち、例えば、この状態（図８に示される状態）で、ユーザが、３次元位置角度センサ１１−１を池６１の上に配置した（表示面１３−１と接するように配置した）とする。この場合、ステップＳ１２において、処理の終了条件がまだ満たされていないと判定され、ステップＳ７乃至Ｓ１１の処理が再度繰り返される。
【０１０４】
具体的には、仮想空間情報変更モジュール３２が、新たに取得した３次元位置角度センサ１１−１の位置角度情報の座標系を実空間座標系（ｘ，ｙ，ｚ）に変換し、それに基づいて、３次元仮想空間４３の変更対象情報の内容を変更する。
【０１０５】
上述した例では、変更対象情報は、３次元位置角度センサ１１−１の影の状態のみであったが、ここでは、それとともに、魚オブジェクト６２−１乃至６２−４のそれぞれの動きの情報（配置位置）も加えられるとする。
【０１０６】
いまの場合、地面５１が表示部１３の表示面１３−１と一致しているとすると、３次元位置角度センサ１１−１の最下部が地面５１と同一レベル（池６１の水面上）に配置されているので、仮想空間情報変更モジュール３２は、３次元位置角度センサ１１−１の影の状態を、その配置位置に対応する状態に変更する。
【０１０７】
具体的には、例えば、３次元位置角度センサ１１−１の形状が直方体の場合、ユーザから見て影の領域６３が見えない状態に変更される。なお、このような場合、影の領域６３がない状態としてもよい。
【０１０８】
また、この例においては、例えば、３次元位置角度センサ１１−１が、魚の模擬餌としてみなされており、仮想空間情報変更モジュール３２は、魚オブジェクト６２−１乃至６２−４のそれぞれの動きの情報を、模擬餌（３次元位置角度センサ１１−１）に近寄ってくるような動きの情報に変化させる。即ち、いまの場合、魚オブジェクト６２−１乃至６２−４のそれぞれの位置が、図８に示される位置から、３次元位置角度センサ１１−１の近傍の位置（例えば、後述する図９に示される位置）となるように再設定される。
【０１０９】
次に、仮想空間構築モジュール３３が、内容が変更された変更対象情報（影の領域６３が表示されない状態、および、魚オブジェクト６２−１乃至６２−４のそれぞれが、３次元位置角度センサ１１−１の近傍の位置に移動する状態）に基づいて、３次元仮想空間４３を再構築する。そして、表示制御モジュール３４が、再構築された３次元仮想空間４３の画像を、表示部１３に表示させる。
【０１１０】
いまの場合、表示部１３には、図９に示されるような、影の領域６３が消えるとともに、魚オブジェクト６２−１乃至６２−４のそれぞれが模擬餌（３次元位置角度センサ１１−１）に近寄った状態を表す画像が表示されることになる。
【０１１１】
このように、本実施の形態においては、表示装置の表示面によって座標系を定義し、定義した座標系を実空間と３次元仮想空間の座標系として共有して利用するようにしたので、ユーザは、表示装置の表示面を実空間と３次元仮想空間のインタフェースとして、３次元仮想空間内の変更対象情報を容易かつ直感的に操作することが可能になる。
【０１１２】
以上、本発明の実施の形態として、ユーザが、魚の餌に見立てた３次元位置角度センサ１１−１を操作することで、情報処理装置１が、３次元仮想空間４３内の地面５１にうつる影の状態や、池６１内にいる魚オブジェクト６２−１乃至６２−４の位置が変化する画像を、表示部１３に表示させる例について説明した。
【０１１３】
本発明の実施の形態は、上述した例に限定されず、様々な形態をとることが可能である。具体的には、例えば、図１０に示されるように、ユーザが３次元位置角度センサ１１−１を懐中電灯に見立て、３次元位置角度センサ１１−１を操作することで３次元仮想空間４３内の地面５１に灯りをともすという設定で、情報処理装置１が、３次元位置角度センサ１１−１の位置や角度に応じて懐中電灯の灯りの状態が変化する画像を、表示部１３に表示させることも可能である。
【０１１４】
以下、図１０と図１１を参照して、このような実施の形態の例の詳細について説明する。
【０１１５】
３次元位置角度センサ１１−１には、上述したように、独自のセンサ座標系（ｓｘ，ｓｙ，ｓｚ）が存在する。そこで、この例においては、例えば、３次元位置角度センサ１１−１は、図１０に示されるように、ｓｚ軸の正方向に光を照射する懐中電灯とみなされている。従って、以下、この例の３次元位置角度センサ１１−１を、模擬懐中電灯１１−１とも称する。
【０１１６】
また、この例においても、上述した図４のステップＳ１乃至Ｓ６の処理が実行されると、上述した図５に示される仮想空間４３が構築される。ただし、図示はしないが、初期画像として、上述した図７に対応する風景と同一の風景であって、夜の時刻の風景に対応する画像（例えば、画像全域に渡って、灰色等の同一色に塗りつぶされた画像）が表示部１３の表示面１３−１に表示されるとする。即ち、図７の例では、表示面１３−１の上方（実空間座標系のｚ軸正方向）の無限遠の位置に平行光源が存在したが、この例においては、そのような光源（模擬懐中電灯１１−１以外の光源）は存在しない。
【０１１７】
例えば、いま、このような初期画像が表示されている状態で、ユーザが模擬懐中電灯１１−１を図１０に示される位置および角度に配置したとする。
【０１１８】
この場合、上述した図４のステップＳ７乃至Ｓ１１の処理が実行されて、図１０に示されるような、模擬懐中電灯１１−１の灯りの領域（白色の領域）７１が表示部１３に表示される。
【０１１９】
具体的には、仮想空間情報変更モジュール３２（図３）が、取得した模擬懐中電灯１１−１の位置角度情報の座標系を実空間座標系（ｘ，ｙ，ｚ）に変換し、それに基づいて、模擬懐中電灯１１−１の灯りの状態を変更する。
【０１２０】
即ち、この例においては、変更対象情報は、模擬懐中電灯１１−１の灯りの状態とされている。従って、例えば、仮想空間情報変更モジュール３２は、模擬懐中電灯１１−１の光の照射方向（センサ座標系（ｓｘ，ｓｙ，ｓｚ）におけるｓｚ座標の正方向）を、実空間座標系（ｘ，ｙ，ｚ）での光の照射方向として演算する。そして、仮想空間情報変更モジュール３２は、実空間座標系（ｘ，ｙ，ｚ）における模擬懐中電灯１１−１の光の照射方向と３次元仮想空間４３の地面５１との交差判定を行うことで、地面５１に光（模擬懐中電灯１１−１の灯り）が当たる状態を演算する。
【０１２１】
次に、仮想空間構築モジュール３３（図３）が、内容が変更された変更対象情報（演算された模擬懐中電灯１１−１の灯りが地面５１に当たる状態）に基づいて３次元仮想空間４３を再構築する。そして、表示制御モジュール３４（図３）が、再構築された３次元仮想空間４３に対応する画像として、図１０に示されるような画像を表示部１３に表示させる。
【０１２２】
このように、この例においては、ユーザが模擬懐中電灯１１−１のｓｚ軸方向を変化させるように操作すると、その操作に応じて、表示部１３に表示される模擬懐中電灯１１−１の灯りの領域７１の状態（形状や位置）も変化する。例えば、ユーザが、模擬懐中電灯１１−１のｓｚ軸方向と、表示部１３の表示面１３−１の法線方向が一致するように、模擬懐中電灯１１−１を操作すると、今度は、図１１に示されるような画像が表示部１３に表示される。
【０１２３】
ところで、この例においては、３次元仮想空間４３の状態変化の対象は、３次元仮想空間４３のうちの地面５１といった１平面（２次元）に限定されている。従って、このような場合、情報処理装置１は、地面５１を３次元仮想空間４３の一部と捉えずに、２次元平面と捉えることもできる。即ち、当然のことながら、情報処理装置１は、定義された実空間座標系（ｘ，ｙ，ｚ）を用いて、３次元仮想空間４３のみならず２次元平面を対象とする画像の表示制御を行うことも可能である。
【０１２４】
また、例えば、図１２に示されるように、ユーザが、３次元位置角度センサ１１−１を釣竿に見立て、３次元位置角度センサ１１−１を操作することで、魚オブジェクト９１−１乃至９１−４のうちのいずれかを釣り上げるという設定で、情報処理装置１が、３次元位置角度センサ１１−１の位置や角度によって魚オブジェクト９１−１乃至９１−４のそれぞれが移動する（例えば、釣り上げられる）画像を、表示部１３に表示させることも可能である。
【０１２５】
以下、図１２乃至図１４を参照して、このような実施の形態の例の詳細について説明する。
【０１２６】
この例においても、上述した図４のステップＳ１乃至Ｓ６の処理が実行されると、上述した図５に示される３次元仮想空間４３が構築される。ただし、上述した例においては、界面（境界）４１は地面５１とされ、池６２のみに水が満たされていた。これに対して、この例においては、例えば、図１２に示されるように、界面（境界）４１は水面８１とされ、３次元仮想空間４３全体が水で満たされているとする。また、３次元仮想空間４３には、上述したように、魚オブジェクト９１−１乃至９１−４が存在する。
【０１２７】
魚オブジェクト９１−１乃至９１−４の移動（動き）の表現方法は、特に限定されないが、この例においては、上述した図７の魚オブジェクト６２−１乃至６２−４のそれらと同様とされる。即ち、魚オブジェクト９１−１乃至９１−４のそれぞれは、実空間座標系（ｘ、ｙ、ｚ）のＸ−Ｙ平面に対して平行移動および回転を行うアニメーションで表現されるとする。また、魚オブジェクト９１−１乃至９１−４のそれぞれは、実際の魚と同様に、上下方向（実空間座標系（ｘ，ｙ，ｚ）のｚ軸方向）にも移動可能であり、上下方向の移動については、水面８１からの深さ（実空間座標系（ｘ，ｙ，ｚ）のｚ軸負方向の長さ）に応じて相対的な大きさが変化する（ユーザから見た場合、あたかも大きさが変化して見える）ように表示されるとする。
【０１２８】
また、図１２の例では、表示面１３−１の上方（実空間座標系のｚ軸正方向）の無限遠の位置に平行光源が存在するとする。
【０１２９】
例えば、いま、初期画像（図示せず）が表示された状態で（ステップＳ６の処理が完了した状態で）、図１２に示されるように、ユーザが、釣竿に見立てた３次元位置角度センサ１１−１（以下、この例の３次元位置角度センサ１１−１を、模擬釣竿１１−１とも称する）を、仮想釣り針９２を垂らすかのように表示部１３の表示面１３−１の所定の場所の上に置いたとする。
【０１３０】
この場合、上述した図４のステップＳ７乃至Ｓ１１の処理が繰り返し実行されて、例えば、図１３または図１４に示されるような画像が、表示部１３に表示される。
【０１３１】
具体的には、仮想空間情報変更モジュール３２（図３）が、取得した模擬釣竿１１−１の位置角度情報の座標系を実空間座標系（ｘ，ｙ，ｚ）に変換し、それに基づいて、魚オブジェクト９１−１乃至９１−４のそれぞれの動きの情報を変更する。
【０１３２】
即ち、この例においては、例えば、変更対象情報は、魚オブジェクト９１−１乃至９１−４のそれぞれの動きの情報とされており、釣り上げられた場合の動きに対応する第１のモードと、釣り上げられていない場合の動きに対応する第２のモードのうちのいずれかに設定される（変更される）とする。
【０１３３】
この場合、例えば、仮想空間情報変更モジュール３２は、模擬釣竿１１−１の配置された位置（取得した位置角度情報）によって、仮想釣り針９２の仮想空間４３における位置を確定する。そして、仮想空間情報変更モジュール３２は、確定した仮想釣り針９２の位置（その近傍）に魚オブジェクト９１−１乃至９１−４のうちのいずれかが存在するか否かを判定する。
【０１３４】
例えば、魚オブジェクト９１−１乃至９１−４のいずれも仮想釣り針９２の位置（その近傍）に存在しないと判定したとすると、仮想空間情報変更モジュール３２は、魚オブジェクト９１−１乃至９１−４の全ての動きのモードを第２のモードに設定する。
【０１３５】
この場合、仮想空間構築モジュール３３（図３）が、変更対象情報（魚オブジェクト９１−１乃至９１−４の全ての動きが第２のモードの動き）に基づいて３次元仮想空間４３を構築する。そして、表示制御モジュール３４（図３）が、図１３に示されるような画像（３次元仮想空間４３を真上から見た風景に対応する画像）を、表示部１３に表示させる。
【０１３６】
即ち、魚オブジェクト９１−１乃至９１−４のそれぞれは、３次元位置角度センサ１１−１の動きとは独立した動き（第２のモードの動き）をする。従って、ユーザが、模擬釣竿１１−１を上方向（実空間座標系（ｘ，ｙ，ｚ）のｚ軸正方向）に動かしても（仮想釣り針９２をあたかも引き上げるように動かしても）、その動きに対応する３次元仮想空間４３の状態変化は特に起こらず、図１３に示されるような画像が表示部１３に表示される。
【０１３７】
これに対して、例えば、魚オブジェクト９１−１乃至９１−４のうちの魚オブジェクト９１−２が仮想釣り針９２の位置（その近傍）に存在すると判定したとすると、仮想空間情報変更モジュール３２は、魚オブジェクト９１−２の動きのモードを第１のモードに設定する（変更する）とともに、それ以外の魚オブジェクト９１−１、魚オブジェクト９１−３、および魚オブジェクト９１−４のそれぞれの動きのモードを第２のモードに設定する。
【０１３８】
この場合、仮想空間構築モジュール３３（図３）が、内容が変更された変更対象情報（魚オブジェクト９１−２の動きが第１のモードの動き）に基づいて３次元仮想空間４３を再構築する。そして、表示制御モジュール３４（図３）が、図１４に示されるような画像（３次元仮想空間４３を真上から見た風景に対応する画像）を、表示部１３に表示させる。
【０１３９】
即ち、魚オブジェクト９１−２は、仮想釣り針９２にかかったとみなされ、３次元位置角度センサ１１−１の動きに連動する動き（第１のモードの動き）をする。従って、ユーザが、３次元位置角度センサ１１−１を上方向に動かすと（仮想釣り針９２をあたかも引き上げるように動かすと）、その動きに応じて、魚オブジェクト９１−２も徐々に大きく（ユーザから見て相対的に大きく）表示されていく。そして、最終的に、図１４に示されるような、魚オブジェクト９１−２が水面８１に姿を表す画像が表示部１３に表示される。
【０１４０】
なお、情報処理装置１は、水中（３次元仮想空間４３）の仮想物体（いまの場合、魚オブジェクト９１−２）が仮想釣り針９２にかかったというイベントを、ユーザに対して通知する必要がある。イベントをユーザに通知する方法は、特に限定されず、例えば、情報処理装置１は、イベントが発生したことを表す画像を表示部１３に表示させることでユーザに通知してもよいし、イベントが発生したことを表す音声を出力する（音声出力部は図示せず）ことでユーザに通知してもよい。
【０１４１】
以上、本発明の実施の形態が適用される情報処理装置として、図２の構成の情報処理装置１について説明したが、本発明の実施の形態が適用される情報処理装置は、図２の例に限定されず、様々な形態を取ることが可能である。例えば、図１５は、本発明の実施の形態が適用される情報処理装置のうちの、図２とは異なる外観の構成を有する情報処理装置の例を表している。
【０１４２】
即ち、図２の例では、表示部１３は、液晶ディスプレイで構成され、その表示面１３−１が垂直上方向を向くように配置されていた。これに対して、図１５の例では、表示部１３は、ＣＲＴディスプレイで構成され、その表示面１３−１が水平方向を向くように配置されている。なお、その他の構成は、図２の構成と同様の構成とされている。
【０１４３】
図１５の例においても、情報処理装置１は、上述した図４のフローチャートに従って、３次元表示制御処理を実行することができる。
【０１４４】
即ち、この例においても、上述した図４のステップＳ１乃至Ｓ６の処理が実行されると、例えば、図１６に示されるような３次元仮想空間４３が構築される。図１６の例では、表示部１３の表示面１３−１がＸ−Ｙ平面に、表示面１３−１の垂線方向がＺ軸に、原点（図１６中０点）が表示部１３の表示面１３−１の図１６中左下端に、それぞれ設定されることで、実空間座標系（ｘ，ｙ，ｚ）が定義されている。そして、定義された実空間座標系（ｘ，ｙ，ｚ）により３次元仮想空間４３が構築されている。換言すると、図１６の例においても、表示部１３の表示面１３−１が界面（境界）とされて、表示部１３によって定義された実空間４２と、構築された３次元仮想空間４３が同一座標系（実空間座標系（ｘ，ｙ，ｚ））で連結する連続空間が形成される。なお、上述した他の例と同様に、実空間座標系（ｘ，ｙ，ｚ）の定義方法や、３次元仮想空間４３の構築方法は、図１６の例に限定されない。
【０１４５】
従って、この例においても、上述した他の例と同様に、ユーザは、３次元位置角度センサ１１−１を懐中電灯等の所定の機能を有する実物体に見立て、３次元位置角度センサ１１−１を操作することで、実物体の実際の機能を実行したときに実空間で実際に起こる状態変化と同様の変化を、３次元仮想空間４３内に対しても仮想的に起こすことが可能になる。
【０１４６】
具体的には、例えば、図１０や図１１と同様に、図１７や図１８に示されるように、ユーザが３次元位置角度センサ１１−１を懐中電灯に見立て、３次元位置角度センサ１１−１（以下、図１０や図１１と同様に、図１７や図１８の例の３次元位置角度センサ１１−１も、模擬懐中電灯１１−１と称する）を操作することで３次元仮想空間４３内（仮想の部屋の中）に灯りをともすという設定で、情報処理装置１が、模擬懐中電灯１１−１の位置や角度によって模擬懐中電灯１１−１の灯りの状態が変化する画像を、表示部１３に表示させることも可能である。
【０１４７】
即ち、ユーザが模擬懐中電灯１１−１のｓｚ軸方向を変化させるように操作する毎に、上述した図４のステップＳ７乃至Ｓ１１の処理が繰り返し実行されて、表示部１３に表示される模擬懐中電灯１１−１の灯りの領域１０１の状態（形状や位置）が変化した画像（例えば、図１７や図１８に示される画像）が表示される。
【０１４８】
このように、この例においては、状態変化の対象は、図１０や図１１に示されるような地面５１といった２次元平面に限定されず、３次元仮想空間４３全体（３次元の部屋の中）とされている。
【０１４９】
従って、上述したように、図１０や図１１に示されるような、地面５１（２次元平面）に対する模擬懐中電灯１１−１の灯りの領域７１が変化していく様子（画像）を表示させることは、２次元平面の画像しか扱えない情報処理装置であっても、地面５１を３次元仮想空間４３の一部と捉えずに２次元平面と捉えて処理することで可能である。
【０１５０】
しかしながら、図１７や図１８に示されるような、３次元仮想空間４３全体（３次元の部屋）に対する模擬懐中電灯１１−１の灯りの領域１０１が変化していく様子（画像）を表示させることは、２次元平面の画像を扱うことが前提とされた情報処理装置では不可能であり、上述した情報処理装置１のような本発明の実施の形態が適用される装置を利用することではじめて可能になる。
【０１５１】
ところで、上述したように、表示部１３のみならず第１の機能を有する入力部１１も、様々な実施の形態を取ることが可能である。
【０１５２】
例えば、図２の例では、３次元位置角度センサ１１−１が出力する位置角度情報の座標系（センサ座標系（ｓｘ，ｓｙ，ｓｚ））と、表示部１３に基づいて定義される実空間３１の座標系（実空間座標系（ｘ，ｙ，ｚ））は異なっているため、情報処理装置１は、上述した図４のステップＳ１、ステップＳ３、およびＳ８の処理のような、センサ座標系（ｓｘ，ｓｙ，ｓｚ）から実空間座標系（ｘ，ｙ，ｚ）への変換に伴う処理を実行する。
【０１５３】
これにより、上述したように、独自のセンサ座標系（ｓｘ，ｓｙ，ｓｚ）を有する３次元位置角度センサ１１−１を操作する場合であっても、ユーザは、センサ座標系（ｓｘ，ｓｙ，ｓｚ）を意識することなく、表示部１３を指標として（実空間座標系（ｘ，ｙ，ｚ）を利用して）操作することが可能になる。
【０１５４】
一方、第１の機能を有する入力部１１として、それが出力する位置角度情報の座標系（センサ座標系（ｓｘ，ｓｙ，ｓｚ））が、実空間３１の座標系（実空間座標系（ｘ，ｙ，ｚ））と同一の座標系となるような入力装置を利用した場合には、センサ座標系（ｓｘ，ｓｙ，ｓｚ）から実空間座標系（ｘ，ｙ，ｚ）への変換に伴う処理を省略することができる。
【０１５５】
或いは、例えば、図１９に示されるように、３次元位置角度センサとは独立した任意の実物体１１１を利用して、カメラ１１−２等により実物体１１１の位置および角度を、カメラ１１−２独自の座標系（図示はしないが、実空間座標系（ｘ，ｙ，ｚ）とは異なる座標系）で入力してもよい。即ち、図１９の例では、カメラ１１−２が、第１の機能を有する入力部１１とされており、主制御部１２が、カメラ１１−２により撮影された実物体１１１の画像に対して所定の画像処理を施すことで、実空間における実物体１１１の位置および角度を測定する。
【０１５６】
なお、この場合、実物体１１１の形状が主制御部１２に予め入力されている必要がある。
【０１５７】
また、実物体１１１として、任意の実物体の利用が可能であるが、実物体１１１の位置および角度が、上述した変更対象情報を変更させる指令に相当する（３次元仮想空間内に所定の作用を与える）ことを考慮すると、ユーザがそれを見て指令（変更対象情報に対する作用）を直感的に連想できる実物体が好適である。即ち、実物体１１１として、３次元仮想空間と実空間の連続空間（例えば、上述した図５に示されるような、実空間座標系（ｘ，ｙ，ｚ）で形成される実空間４２と３次元仮想空間４３の連続空間）に含まれる情報であって、３次元仮想空間内の変更対象情報の内容を変更させることが可能な情報（以下、このような情報を、変更対象情報と区別するために、変化起因情報と称する）の所定の特徴が表現された実物体が利用されるとよい。
【０１５８】
具体的には、例えば、図１９の例では、変化起因情報が人間とされ、変更対象情報が、人間が歩行した場合における景色（図示はしないが、例えば、道路や、その道路の周囲環境）とされているので、実物体１１１として、人間の形状が模擬された人形が用いられている。勿論、人間の特徴は、その形状以外にも、色（例えば、肌の色や服装の色）や、大きさ（３次元仮想空間内の周囲の仮想物体に対する相対的な大きさ）といった様々な特徴を有しており、実物体１１１として、これら様々な特徴のうちのいずれの特徴が表現されたものが利用されてもよい。
【０１５９】
換言すると、実物体１１１は、単体では情報処理装置１に対して特定の機能を有していないが、変化起因情報の所定の特徴を表現していることを考慮すると、ユーザに対して変化起因情報、または変更対象情報を直感的に連想させる機能を有しているとも言える。また、ユーザが実物体１１１の実空間における位置や角度を変えることで、変更対象情報が変更されるので、カメラ１１−２を補助的な入力装置とみなし、実物体１１１を実質上の入力装置（上述した３次元位置角度センサ１１−１の代わりとなる装置）とみなすことも可能である。即ち、第１の機能を有する入力部１１は、カメラ１１−２のみではなく、実物体１１１とカメラ１１−２をあわせた入力装置であるとも言える。
【０１６０】
このような観点に立つと、上述した図７乃至図９の例、図１０と図１１の例、図１２乃至図１４の例、および図１７と図１８の例のいずれの例においても、第１の機能を有する入力部１１として、実物体１１１とカメラ１１−２からなる入力装置を利用することが可能である。
【０１６１】
この場合、実物体１１１は、上述したように特に限定されないが、例えば、次のようなものが好適である。
【０１６２】
即ち、図７乃至図９の例では、変化起因情報が魚の餌とされ、また、変更対象情報が魚の餌の影の状態、および魚オブジェクトの動き（魚の餌を食べるための動き）とされているので、例えば、実物体１１１として、魚の餌の形状を有するものが利用されるとよい。
【０１６３】
図１０と図１１の例、および図１７と図１８の例では、変化起因情報が懐中電灯とされ、また、変更対象情報が懐中電灯の灯りの状態とされているので、例えば、実物体１１１として、懐中電灯の形状を有するものが利用されるとよい。
【０１６４】
図１２乃至図１４の例では、変化起因情報が、釣り針を有する釣竿とされ、変更対象情報が、魚オブジェクトの動き（仮想釣り針にかかった場合の第１のモードと、かからない場合の第２のモードのうちのいずれかのモード）とされているので、例えば、実物体１１１として、釣竿の形状を有するものが利用されるとよい。
【０１６５】
これにより、いずれの例の場合であっても、ユーザは、実物体１１１を見ることにより、これから起こる３次元仮想空間の状態変化をさらに容易かつ直感的に認識することが可能になる。
【０１６６】
以上、説明したように、本発明の実施の形態の情報処理装置は、表示部を指標として実空間における第１の座標系（例えば、実空間座標系（ｘ，ｙ，ｚ））を定義し、それを実空間のみならず３次元仮想空間の座標系としても利用する。その結果、例えば、実空間が表示部の表示面の奥に延長された空間として、３次元仮想空間が構築される。これにより、ユーザは、表示部の表示面を実空間と３次元仮想空間のインタフェースとして、３次元仮想空間と直接的なインタラクションができ、容易かつ直感的に３次元仮想空間内の情報を取り扱うことが可能になる。
【０１６７】
換言すると、上述したように、従来、ユーザは、３次元仮想空間の座標系とは関連のない入力装置独自の第２の座標系（例えば、入力装置が３次元位置角度センサである場合、センサ座標系（ｓｘ，ｓｙ，ｓｚ））に基づいて、入力装置の操作を行っていたため、直感的な操作ができず、３次元仮想空間内の情報の操作が非常に困難であった。
【０１６８】
これに対して、本実施の形態においては表示部の表示面が界面（境界）とされて、第１の座標系で定義される実空間と３次元仮想空間の連続空間が形成される。従って、ユーザは、第１の座標系に基いて、連続空間（そのうちの実空間側）に存在する入力装置の操作を行うことができるので（入力装置自体は、従来と同様に、独自の第２の座標系を利用するが、ユーザは、第２の座標系を意識することなく入力装置の操作を行うことができるので）、容易かつ直感的に３次元仮想空間内の情報を操作することが可能になる。
【０１６９】
なお、上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１７０】
この記録媒体は、図１に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フロッピディスクを含む）、光ディスク（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）を含む）、光磁気ディスク（ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）を含む）、もしくは半導体メモリなどよりなるリムーバブル記録媒体（パッケージメディア）２９により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭ２２や、記憶部２６に含まれるハードディスクなどで構成される。
【０１７１】
また、上述した図３の座標系設定モジュール３１、仮想空間情報変更モジュール３２、仮想空間構築モジュール３３、および表示制御モジュール３４のそれぞれは、対応する機能を果たすものであれば、その形態は限定されない。即ち、ハードウエアなどでモジュールが構成されてもよい。この場合、例えば、製造者等は、座標系設定モジュール３１、仮想空間情報変更モジュール３２、仮想空間構築モジュール３３、および表示制御モジュール３４のそれぞれに対応する装置（ハードウエア）を製作し、それらを図３に示されるようにそれぞれ接続することで、本発明が適用される情報処理装置１を、図１の構成とは異なる構成で実現することも可能である。
【０１７２】
さらに、モジュールは、全体として上述した図４のフローチャート等に従って３次元表示制御処理の実行が可能なものであれば、図３の例に限定されず、様々なモジュールに分割可能であるし、或いは、モジュール構成とせずに、単なる１アルゴリズムを有するソフトウエアプログラムとして扱ってもよい。
【０１７３】
さらにまた、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１７４】
【発明の効果】
以上のごとく、本発明によれば、３次元仮想空間を構築し、構築した３次元仮想空間に対応する画像を表示させることができる。特に、ユーザに対して容易かつ直感的な操作で３次元仮想空間内の所定の情報を操作させることができる。
【図面の簡単な説明】
【図１】本実施の形態が適用される情報処理装置のハードウエアの構成例を示すブロック図である。
【図２】図１の情報処理装置の外観の構成例を示す図である。
【図３】図１の情報処理装置のソフトウエアの構成例を示すブロック図である。
【図４】図３の情報処理装置の３次元表示制御処理例を説明するフローチャートである。
【図５】図３の情報処理装置が表示部を指標として定義した実空間の座標系、並びに、実空間の座標系により構築される実空間および３次元仮想空間の構成例を示す図である。
【図６】図５の３次元仮想空間として、地面を含む空間が構築された例を示す図である。
【図７】図６の３次元仮想空間の表示例を説明する図である。
【図８】ユーザが表示部を指標として入力部を配置した場合における、図７の状態から状態が変化した３次元仮想空間の表示例を説明する図である。
【図９】ユーザが表示部を指標として入力部を図８とは異なる位置に配置した場合における、図７の状態から状態が変化した３次元仮想空間の表示例を説明する図である。
【図１０】図６の３次元仮想空間の他の表示例を説明する図である。
【図１１】ユーザが表示部を指標として入力部を図１０とは異なる位置に配置した場合における、図１０の状態から状態が変化した３次元仮想空間の表示例を説明する図である。
【図１２】図５の３次元仮想空間として、表示部の表示面が水面とされ、水が満たされた空間が構築された例を示す図である。
【図１３】図１２の３次元仮想空間の表示例を説明する図である。
【図１４】ユーザが表示部を指標として入力部を配置した場合における、図１３の状態から状態が変化した３次元仮想空間の表示例を説明する図である。
【図１５】図１の情報処理装置の外観の他の構成例を示す図である。
【図１６】図１５の情報処理装置が表示部を指標として定義した実空間の座標系、並びに、実空間の座標系により構築される実空間および３次元仮想空間の構成例を示す図である。
【図１７】図１６の３次元仮想空間の表示例を説明する図である。
【図１８】ユーザが表示部を指標として入力部を配置した場合における、図１７の状態から状態が変化した３次元仮想空間の表示例を説明する図である。
【図１９】図１の情報処理装置の外観のさらに他の構成例を示す図である。
【符号の説明】
１  情報処理装置，  １１  入力部，  １１−１  ３次元位置角度センサ，  １１−２  カメラ，  １２  主制御部，  １３  表示部，  １３−１  表示面，２１  ＣＰＵ，  ３１  座標系設定モジュール，  ３２  仮想空間情報変更モジュール，  ３３  仮想空間構築モジュール，  ３４  表示制御モジュール，  ４１  界面（境界），  ４２  実空間４２  ３次元仮想空間，  ５１  地面，  ６２−１乃至６２−４  魚オブジェクト，  ６３  ３次元位置角度センサの影の領域，  ７１  懐中電灯の灯りの領域，  ８１  水面，  ９１−１乃至９１−４  魚オブジェクト，  ９２  仮想釣り針，  １０１  懐中電灯の灯りの領域，  １１１  実物体（人形）
【図１】
2004213583.tif 000004
【図２】
2004213583.tif 000005
【図３】
2004213583.tif 000006
【図４】
2004213583.tif 000007
【図５】
2004213583.tif 000008
【図６】
2004213583.tif 000009
【図７】
2004213583.tif 000010
【図８】
2004213583.tif 000011
【図９】
2004213583.tif 000012
【図１０】
2004213583.tif 000013
【図１１】
2004213583.tif 000014
【図１２】
2004213583.tif 000015
【図１３】
2004213583.tif 000016
【図１４】
2004213583.tif 000017
【図１５】
2004213583.tif 000018
【図１６】
2004213583.tif 000019
【図１７】
2004213583.tif 000020
【図１８】
2004213583.tif 000021
【図１９】
2004213583.tif 000022