JP2004213583A - 情報処理装置および方法、並びにプログラム - Google Patents
情報処理装置および方法、並びにプログラム Download PDFInfo
- Publication number
- JP2004213583A JP2004213583A JP2003002783A JP2003002783A JP2004213583A JP 2004213583 A JP2004213583 A JP 2004213583A JP 2003002783 A JP2003002783 A JP 2003002783A JP 2003002783 A JP2003002783 A JP 2003002783A JP 2004213583 A JP2004213583 A JP 2004213583A
- Authority
- JP
- Japan
- Prior art keywords
- virtual space
- coordinate system
- dimensional virtual
- information
- space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Position Input By Displaying (AREA)
Abstract
【課題】ユーザに対して容易かつ直感的な操作で3次元仮想空間内の所定の情報を操作させることができるようにする。
【解決手段】情報処理装置は、予め入力された表示装置13の所定の情報に基づいて、表示装置13を含む実空間42における実空間座標系(x,y,z)を設定し、設定した実空間座標系(x,y,z)と同一の座標系を利用して、表示装置13の表示面13−1を境界41とする実空間42と連続した3次元仮想空間43を構築し、3次元仮想空間43を表す画像を表示装置13に表示させるように制御する。さらに、情報処理装置は、3次元位置角度センサ11−1の実空間座標系(x,y,z)における位置および角度に基づいて、3次元仮想空間43の所定の情報を変更する。本発明は、パーソナルコンピュータに適用可能である。
【選択図】 図5
【解決手段】情報処理装置は、予め入力された表示装置13の所定の情報に基づいて、表示装置13を含む実空間42における実空間座標系(x,y,z)を設定し、設定した実空間座標系(x,y,z)と同一の座標系を利用して、表示装置13の表示面13−1を境界41とする実空間42と連続した3次元仮想空間43を構築し、3次元仮想空間43を表す画像を表示装置13に表示させるように制御する。さらに、情報処理装置は、3次元位置角度センサ11−1の実空間座標系(x,y,z)における位置および角度に基づいて、3次元仮想空間43の所定の情報を変更する。本発明は、パーソナルコンピュータに適用可能である。
【選択図】 図5
Description
【0001】
【発明の属する技術分野】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、ユーザが、3次元仮想空間内の所定の情報を容易かつ直感的に操作することができるようにした情報処理装置および方法、並びにプログラムに関する。
【0002】
【従来の技術】
近年、情報処理技術の発達が著しく、パーソナルコンピュータに代表される、一般ユーザが利用する汎用的な情報処理装置においても、コンピュータグラフィックス(以下、CGと称する)による3次元仮想空間の表現およびその利用が容易に実現可能となっている。
【0003】
また、近年、情報通信技術の発達が著しく、インターネット等のネットワーク上のサーバを利用することで、複数のクライアント(例えば、上述した汎用的な情報処理装置)によるデータの共有や、複数のクライアントのそれぞれに対するデータの配信が容易に実現可能となっている。
【0004】
さらに、最近では、これらの情報処理および通信技術の融合により、複数のクライアントのそれぞれが、サーバ上に構築された3次元仮想空間内のデータを共有して利用するといった技術(例えば、特許文献1参照)も普及し、この技術を利用した様々なサービスが行われるようになっている。
【0005】
従来、このようなCGによって表現された3次元仮想空間の座標系は、その3次元仮想空間をサーバ等に実装した開発者によって設定されることが多い。従って、ユーザは、所定の入力装置を利用して、そのような3次元仮想空間内の情報を操作する場合、開発者によって予め設定された座標系に従って操作することになる。
【0006】
【特許文献1】
特開2002−279284
【0007】
【発明が解決しようとする課題】
しかしながら、開発者によって予め設定された座標系により構築される3次元仮想空間と、ユーザが入力装置を操作する周辺の実空間との間には対応関係がほとんど存在しない。従って、ユーザは、非直感的なインタフェースで3次元仮想空間内の情報を操作することになり、ユーザにとって非常に困難な操作が必要になるという第1の課題がある。
【0008】
具体的には、例えば、3次元仮想空間内の情報を操作する入力装置として、パーソナルコンピュータに接続されたマウスが利用される場合、実空間内のマウス本体の移動距離と、画面内(3次元仮想空間内)のマウスポインタの移動距離が大きく異なることが多い。
【0009】
従って、例えば、ユーザは、マウスポインタを画面(3次元仮想空間)の端から端まで移動させるのに、マウスを実空間内でどれだけ移動させる必要があるのかを直感的に理解することができず、その結果、実際にマウスを何度も移動させてその移動距離を覚えなければならない。
【0010】
さらに、3次元仮想空間の視点の変化も考慮すると(通常、3次元仮想空間の視点は自由に変更できるので)、ユーザは、マウスをどのように動かしたらいいのかさえ直感的に理解することができず、その結果、マウスをあらゆる方向に何度も動かすといった、試行錯誤を重ねることが多々ある。
【0011】
また、近年、実空間の状態を変化させる操作と同様な操作で、3次元仮想空間の状態を実空間と同様に変化させたいと要望するユーザの数が増加している。例えば、ユーザが、実際の懐中電灯を手に持って動かすことで、実空間の所望の位置を照らすのと同様に、模擬懐中電灯を手に持って動かすことで、3次元仮想空間内の所望の場所を照らしたいといった要望が存在する。或いは、ユーザが、実際の釣竿を手に持って動かすことで、実際の魚を釣りあげるのと同様に、模擬釣竿を手に持って動かすことで、3次元仮想空間中の仮想の魚を釣り上げたいといった要望も存在する。
【0012】
しかしながら、上述したように、従来の3次元仮想空間とユーザの周囲の実空間との間に対応関係がほとんど存在しないため、そのような要望に応えることは非常に困難であるという第2の課題もある。
【0013】
本発明は、このような状況に鑑みてなされたものであり、ユーザが、3次元仮想空間内の所定の情報を容易かつ直感的に操作することができるようにするものである。
【0014】
【課題を解決するための手段】
本発明の情報処理装置は、3次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する情報処理装置であって、予め入力された表示装置の所定の情報に基づいて、表示装置を含む実空間における第1の座標系を設定する設定手段と、設定手段により設定された第1の座標系と同一の座標系を用いて3次元仮想空間を構築する構築手段と、構築手段により構築された3次元仮想空間に対応する画像を、表示装置に表示させるように制御する表示制御手段とを備えることを特徴とする。
【0015】
構築手段は、表示装置の表示面を3次元仮想空間と実空間の界面として、3次元仮想空間と実空間が連続した空間となるように3次元仮想空間を構築するようにすることができる。
【0016】
構築手段により構築された3次元仮想空間の状態を変化させる指令を入力する入力手段と、入力手段より入力された指令に基づいて、構築手段により構築された3次元仮想空間が有する複数の情報のうちの第1の情報の内容を変更する変更手段とをさらに設け、構築手段は、さらに、変更手段により変更された第1の情報の内容に基づいて3次元仮想空間を再構築し、表示制御手段は、さらに、構築手段により再構築された3次元仮想空間に対応する画像を、表示装置に表示させるように制御するようにすることができる。
【0017】
入力手段は、所定の実物体が実空間内に配置された場合、実物体の実空間における位置および角度を第1の座標系とは異なる第2の座標系で測定し、その測定結果を指令として入力し、変更手段は、入力手段より入力された実物体の位置および角度の座標系を第2の座標系から第1の座標系に変換し、第1の座標系に変換した実物体の位置および角度に基づいて第1の情報の内容を変更するようにすることができる。
【0018】
入力手段は、実物体として、入力手段自身のうちの少なくとも一部分を利用するようにすることができる。
【0019】
入力手段は、実物体として、3次元仮想空間と実空間が連続した空間に含まれる情報であって、第1の情報の内容を変化させることが可能な第2の情報の所定の特徴が表現された実物体を利用するようにすることができる。
【0020】
本発明の情報処理方法は、3次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する情報処理方法であって、予め入力された表示装置の所定の情報に基づいて、表示装置を含む実空間における座標系を設定する設定ステップと、設定ステップにより設定された座標系と同一の座標系を利用して3次元仮想空間を構築する構築ステップと、構築ステップの処理により構築された3次元仮想空間に対応する画像を、表示装置に表示させるように制御する表示制御ステップとを含むことを特徴とする。
【0021】
本発明のプログラムは、3次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する処理を、コンピュータに実行させるプログラムであって、予め入力された表示装置の所定の情報に基づいて、表示装置を含む実空間における座標系を設定する設定ステップと、設定ステップにより設定された座標系と同一の座標系を利用して3次元仮想空間を構築する構築ステップと、構築ステップの処理により構築された3次元仮想空間に対応する画像を、表示装置に表示させるように制御する表示制御ステップとを含むことを特徴とする。
【0022】
本発明の情報処理装置および方法、並びにプログラムにおいては、予め入力された所定の表示装置の所定の情報に基づいて表示装置を含む実空間における座標系が設定され、設定された座標系と同一の座標系で3次元仮想空間が構築され、構築された3次元仮想空間に対応する画像が上述した表示装置に表示される。
【0023】
本発明の情報処理装置により表示が制御される画像を表示する表示装置は、情報処理装置に搭載されているものでもよいし、情報処理装置の外部の装置でもよい。同様に、本発明の情報処理装置に情報を入力する入力装置は、情報処理装置に搭載されているものでもよいし、情報処理装置の外部の装置でもよい。
【0024】
【発明の実施の形態】
図1は、本実施の形態が適用される情報処理装置のハードウエアの構成例を表している。
【0025】
図1に示されるように、情報処理装置1は、入力部11、主制御部12、および表示部13により構成される。
【0026】
本実施の形態においては、例えば、主制御部12が、表示部13の所定の情報(例えば、大きさ、位置、および角度等)に基づいて3次元仮想空間を構築し、それに対応する画像を表示部13に表示させる。さらに、ユーザが入力部11を操作した場合、主制御部12は、その操作に応じて3次元仮想空間の状態を変化させ(再構築し)、それに対応する画像を表示部13に表示させる。ただし、情報処理装置1の用途は、本実施の形態の例に限定されず、単に、後述する3次元仮想空間の座標系の定義方法を利用する用途であればよい。
【0027】
入力部11は、基本機能として、3次元仮想空間の状態を変化させる指令を主制御部12に入力する第1の機能を有している。即ち、ユーザは、入力部11の第1の機能を利用することで、3次元仮想空間の状態を変化させることができる。
【0028】
この入力部11が入力する指令は、変化の具体的な内容(即ち、3次元仮想空間の状態をどのように変化させるのかといった具体的な内容)を指令するものであってもよいし、3次元仮想空間の状態を単に変化させることを指令するもの(即ち、トリガ)であってもよい。
【0029】
前者の指令が主制御部12に入力された場合、主制御部12は、入力された指令に沿って3次元仮想空間の状態を変化させる。これに対して、後者の指令が主制御部12に入力された場合、主制御部12は、自分自身の判断(指令とは完全に独立した判断でもよいし、指令の内容に基づく判断でもよい)で3次元仮想空間の状態を変化させる。いずれの場合においても、その変化の内容は特に限定されず、主制御部12は、入力部11の第1の機能により入力された指令に基づいて、3次元仮想空間の状態を様々な状態に変化させることが可能である。なお、3次元仮想空間の状態が変化される具体的な例については後述する。
【0030】
換言すると、入力部11は、3次元仮想空間の状態を変化させる指令を主制御部12に入力させることが可能なものであれば、その形態は特に限定されない。例えば、入力部11は、3次元位置角度センサにより構成することが可能である。具体的には、例えば、磁気方式、光学方式、超音波方式、または機械方式といった様々な方式の3次元位置角度センサが、入力部11として利用可能である。勿論、入力部11は、3次元位置角度センサに限定されず、その他の入力装置、例えば、キーボードやマウスに代表される、オンオフ入力装置若しくは2次元位置入力装置により構成してもよい。
【0031】
ところで、情報処理装置1は、実空間に存在する入力部11の入力に基づいて3次元仮想空間内の情報を処理するため、少なくとも実空間の3次元座標系と3次元仮想空間を定義する座標系の2つの座標系を利用する。
【0032】
一般的には(従来においては)、これら2つの座標系のそれぞれは、対応関係がなく完全に独立して存在する。
【0033】
これに対して、本実施の形態においては、後述するように、これら2つの座標系の対応関係が、表示部13の所定の情報(例えば、大きさ、位置、および角度等)に基づいて定義される。具体的には、本実施の形態においては、これら2つの座標系として、表示部13を指標として定義された同一の(唯一の)座標系が利用されることになる。
【0034】
そのため、そのような実空間と3次元仮想空間で共有される座標系の定義が行われる前に、表示部13の情報が主制御部12に予め入力されている必要がある。そこで、入力部11は、上述した第1の機能に加えて、所定のデータを主制御部12に入力する第2の機能をさらに有し、ユーザは、入力部11の第2の機能を利用して、表示部13の情報を主制御部12に入力する。
【0035】
この場合、入力部11のうちの第1の機能を有する入力装置自身が第2の機能をさらに有してもよいし(入力部11が1つの入力装置で構成されてもよいし)、第1の機能を有する入力装置とは異なる、第2の機能を有する別の入力装置が入力部11に新たに設けられてもよい。具体的には、例えば、別の入力装置としてカメラ等の撮像装置が利用可能である。即ち、カメラが表示部13を撮影し、主制御部12が、撮影された表示部13の画像データに対して所定の画像処理を施すことで、表示部13の情報の取得が可能になる。このように、入力部11は、1つの入力装置で構成する必要はなく、上述した機能を実現可能なものであれば、その構成や個数は特に限定されない。
【0036】
なお、表示部13の形状等が予め規定されている場合には、表示部13の情報としてその規定された値を、ユーザの使用前(例えば、情報処理装置1の出荷前)に、情報処理装置1に予め入力しておくことができる。この場合、入力部11は、表示部13の情報を入力する第2の機能を有する必要がない。
【0037】
ただし、この場合、表示部13の情報の入力後は、表示部13は、その情報の入力時に設定された位置および角度で配置される必要がある。
【0038】
さらに、情報処理装置1が座標系定義のみを目的として利用される場合、第1の機能も必要なくなるので、情報処理装置1の構成として入力部11自身が必須なものでなくなる。
【0039】
また、第2の機能により入力されるデータは、上述した表示部13の情報に限定されない。例えば、後述するように、本実施の形態においては、表示部13には、所定の視点から3次元仮想空間を見た場合の風景に対応する画像が表示される。従って、その視点を指定する情報が第2の機能により主制御部12に入力されてもよい。
【0040】
主制御部12は、例えば、パーソナルコンピュータの本体部分(キーボート等の入力装置と、ディスプレイ等の出力装置を除いた部分)により構成される。主制御部12は、後述する座標系変換処理や3次元仮想空間の構築処理を行い、構築した3次元仮想空間に対応する画像信号を生成し、表示部13に出力する。
【0041】
主制御部12において、CPU(Central Processing Unit)21は、ROM(Read Only Memory)22に記録されているプログラム、または記憶部26からRAM(Random Access Memory)23にロードしたプログラムに従って各種の処理を実行する。RAM23にはまた、CPU21が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0042】
CPU21、ROM22、およびRAM23は、バス24を介して相互に接続されている。このバス24にはまた、入出力インタフェース25も接続されている。
【0043】
入出力インタフェース25には、上述した入力部11、および後述する表示部13が接続されている。
【0044】
入出力インタフェース25にはまた、ハードディスクなどより構成される記憶部26、および、インターネットを含むネットワークを介する他の情報処理装置(図示せず)との通信処理を実行する通信部27が接続されている。
【0045】
入出力インタフェース25にはさらに、必要に応じてドライブ28が接続される。ドライブ28には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブル記録媒体29が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部26にインストールされる。
【0046】
表示部13は、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、またはプロジェクタ等により構成される。表示部13は、主制御部12からの出力に応じて、3次元仮想空間に対応する画像を表示する。
【0047】
図2は、情報処理装置1の外観構成の1例を表している。
【0048】
図2の例では、主制御部12は、デスクトップ型のパーソナルコンピュータの本体部分とされている。主制御部12は、表示部13の表示面13−1を界面(境界)として、実空間と連続した空間となるような3次元仮想空間を構築する。表示装置13は、液晶ディスプレイとされている。表示装置13は、主制御部12により構築された3次元仮想空間に対応する画像を表示面13−1に表示する。なお、図2の例では、表示面13−1が垂直上方向を向くように表示部13が配置されているので、ユーザは、表示部13の表示面13−1を上から覗き込むようにして、3次元仮想空間に対応する画像を見ることになる。
【0049】
入力部11のうちの上述した第1の機能を有する部分は、3次元位置角度センサ11−1とされている。3次元位置角度センサ11−1は、実空間における測定対象物体(図2の例では、3次元位置角度センサ11−1自身)の位置および角度を測定し、その測定結果を主制御部12に供給する。
【0050】
即ち、ユーザが、表示部13を指標として3次元位置角度センサ11−1を実空間内の任意の場所に配置すると、3次元仮想空間の状態を変化させる指令として、3次元位置角度センサ11−1の測定結果(3次元位置角度センサ11−1自身の実空間における位置および角度)が主制御部12に入力される。なお、図2の例では、表示部13の表示面13−1に接するように3次元位置角度センサ11−1が配置されているが、後述するように、3次元位置角度センサ11−1は、表示部13と接しない空間中に配置されてもよい。
【0051】
主制御部12は、入力された指令(3次元位置角度センサ11−1の測定結果)に基づいて3次元仮想空間の状態を変化させる。表示部13は、状態が変化した3次元仮想空間に対応する画像を表示する。
【0052】
このように、ユーザは、実空間と3次元仮想空間のインタフェースとして表示部13を利用し、3次元位置角度センサ11−1を操作することで、3次元仮想空間内の所定の情報を容易かつ直感的に操作することができる(状態が変化した3次元仮想空間に対応する画像を、表示部13に表示させることができる)。
【0053】
図3は、情報処理装置1の主制御部12(図2)が有している機能のうちの、3次元仮想空間の座標系を定義し、定義した座標系により3次元仮想空間を構築し、それに対応する画像の表示を制御する処理(以下、そのような処理を、3次元表示制御処理と称する)を行う機能を実現するソフトウエアプログラムの構成例を表している。
【0054】
即ち、図3の例のソフトウエアプログラムは、座標系設定モジュール31、仮想空間情報変更モジュール32、仮想空間構築モジュール33、および表示制御モジュール34といった複数のモジュールにより構成される。これらの各モジュールのそれぞれは、1つの独立したアルゴリズムを持ち、かつ、そのアルゴリズムに従って固有の動作を実行する。各モジュールのそれぞれは、CPU21(図1)により適宜読み出され、実行される。
【0055】
座標系設定モジュール31は、予め入力された表示部13の所定の情報(例えば、大きさ、位置、および角度等)に基づいて、表示部13を含む実空間における第1の座標系(例えば、後述する図5の座標系(x,y,z))を設定(定義)する。また、3次元位置角度センサ11−1が第1の座標系とは異なる独自の第2の座標系(例えば、後述する図5の座標系(sx,sy,sz))を利用するので、座標系設定モジュール31は、第1の座標系と第2の座標系の対応関係(座標系変換関数)も演算する。
【0056】
仮想空間情報変更モジュール32は、上述した入力部11の第1の機能が利用されて入力された情報(以下、第1の機能が利用されて入力された情報を、第2の機能のそれと区別するため、位置角度情報と称する。図3の例では、位置角度情報は、3次元位置角度センサ11−1の測定結果とされる)に基づいて、後述する仮想空間構築モジュール33により構築された3次元仮想空間が有する複数の情報のうちの所定の情報の内容を変更する。なお、以下、このような仮想空間情報変更モジュール32によりその内容が変更される情報を、他の情報と区別するために、変更対象情報と称する。
【0057】
この場合、変更対象情報、その個数、およびその変更内容等は、特に限定されず、主制御部12は、3次元仮想空間が有する複数の情報のうちの任意の個数の任意の情報を変更対象情報とすることが可能である。さらに、主制御部12は、変更対象情報の任意の内容を、任意の変更方法で変更することが可能である。なお、変更対象情報、およびその変更方法の具体例については後述する。
【0058】
仮想空間構築モジュール33は、所定の視点から、座標系設定モジュール31により設定された第1の座標系により定義される3次元仮想空間を見た場合の風景に対応する画像データを生成し、表示制御モジュール34に供給する。なお、以下、このような3次元仮想空間の画像データを生成することを、3次元仮想空間を構築すると称する。換言すると、仮想空間構築モジュール33は、座標系設定モジュール31により定義された第1の座標系を用いて3次元仮想空間を構築する。即ち、第1の座標系が、実空間と仮想空間で共有されることになる。
【0059】
さらに、仮想空間構築モジュール33は、仮想空間情報変更モジュール32により変更対象情報の内容が変更された場合、その変更内容に基づいて3次元仮想空間を再構築し、表示制御モジュール34に供給する。
【0060】
表示制御モジュール34は、仮想空間構築モジュール33により構築された3次元仮想空間に対応する画像を、表示部13に表示させるように制御する。換言すると、表示制御モジュール34は、仮想空間構築モジュール33より供給された画像データを、表示部13のフォーマットの画像信号に変換して、表示部13に供給する。表示部13は、供給された画像信号に対応する画像(3次元仮想空間に対応する画像)を表示する。
【0061】
次に、図4のフローチャートを参照して、情報処理装置1の主制御部12(図3)の3次元表示制御処理例について説明する。
【0062】
なお、この例においては、例えば、情報処理装置1は、上述した図2の構成とされている。即ち、入力部11の第1の機能を有する部分は、所定の方式の3次元位置角度センサ11−1で構成されている。また、この例においては、例えば、3次元位置角度センサ11−1は、自分自身の位置および角度(位置角度情報)を、図5に示されるような3次元位置角度センサ11−1独自の座標系(sx,sy,sz)(以下、センサ座標系(sx,sy,sz)と称する)で主制御部12に入力する。
【0063】
そこで、はじめに図4のステップS1において、座標系設定モジュール31は、3次元位置角度センサ11−1のセンサ情報に基づいて、図5のセンサ座標系(sx,sy,sz)を設定する。即ち、初期設定として、これから利用される3次元位置角度センサ11−1の独自のセンサ座標系(sx,sy,sz)が登録される。
【0064】
次に、ステップS2において、座標系設定モジュール31は、表示部13の情報(大きさ、位置、および角度等)に基づいて、実空間における座標系(x,y,z)(以下、このような座標系を、センサ座標系と区別するため、実空間座標系(x,y,z)と称する)を設定する。
【0065】
この例においては、例えば、表示部13の大きさ、位置、および角度は予め規定されており、その規定された情報が主制御部12に予め入力されているとする(例えば、図1の記憶部26等に予め記憶されているとする)。
【0066】
ただし、上述したように、表示部13の情報は、特に限定されず、例えば、ステップS2の処理の時点で、ユーザが、入力部11(3次元位置角度センサ11−1とは異なるキーボード等の入力装置)を操作して入力した情報そのものが、表示部13の情報として使用されてもよい。或いは、例えば、3次元位置角度センサ11−1とは異なるカメラ等の入力部11より入力され、所定の認識手法によって表示部13を認識した情報が、表示部13の情報として使用されてもよい。
【0067】
また、この例においては、例えば、図5に示される実空間42における実空間座標系(x,y,z)が定義(設定)されるとする。即ち、図5の実空間座標系(x,y,z)では、表示部13の表示面13−1が、X−Y平面とされ、表示面13−1の法線方向が、Z軸と定義されている。また、原点(図5中の0点)は、図5中、表示面13−1の左手前の端点とされている。勿論、原点、X−Y平面の方向、およびz軸の方向のそれぞれは、図5の例に限定されず、また、その座標系の定義方法も上述した例に限定されない。
【0068】
図4に戻り、ステップS3において、座標系設定モジュール31は、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)への座標系変換関数を演算する。この座標系変換関数によって、センサ座標系(sx,sy,sz)と実空間座標系(x,y,z)の対応関係が数式で記述されることになる。
【0069】
具体的には、例えば、この例においては、次の式(1)に示されるような座標系変換関数が演算される。
【0070】
【数1】
【0071】
式(1)は、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)に変換する関数を表している。式(1)において、m11乃至m44は、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)に変換する変換行列の各成分を表している。
【0072】
即ち、この例においては、例えば、座標系設定モジュール31は、最小二乗法等を利用してm11乃至m44の各値を演算することで、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)への座標系変換関数を演算する。
【0073】
なお、ステップS3の処理で演算される座標系変換関数や、その演算方法は、上述した例に限定されず、その他、例えば、人間の脳の機能を模擬したニューラルネットワークなどの非線形変換により、座標系変換関数が演算されてもよい。
【0074】
このように、座標系設定モジュール31は、ステップS1乃至S3の処理を実行することで、表示部13を用いて実空間座標系(x,y,z)を定義することができる。上述したように、この実空間座標系(x,y,z)は、図5の実空間42の座標系としてのみならず、これから構築される3次元仮想空間43の座標系としても利用される。従って、座標系設定モジュール31は、ステップS1乃至S3の処理を実行することで、表示部13を用いて3次元仮想空間43における座標系を定義することができるとも言える。
【0075】
座標系設定モジュール31により実空間座標系(x,y,z)の定義が行われると、図4のステップS4において、仮想空間構築モジュール33が視点を設定する。
【0076】
なお、視点の設定方法は、特に限定されず、例えば、入力部11の第2の機能により上述した視点を設定する情報が入力された場合、その情報に指定されている視点が設定される。ただし、この例においては、例えば、予め登録された視点が設定されるとする。即ち、この例においては、例えば、後述するステップS5の処理で、図5に示されるように、表示部13の表示面13−1が実空間42との界面(境界)41とされて、実空間42と連続した空間となるように3次元仮想空間43が構築される。従って、この例においては、例えば、表示部13の表示面13−1の中心(対角線の交点)を通る表示面13−1の法線方向(実空間座標系(x,y,z)のz軸の負方向)、即ち、ユーザが表示面13−1を見下ろす方向が予め登録されており、その方向が図4のステップS4の処理で視点として設定される。
【0077】
次に、ステップS5において、仮想空間構築モジュール33は、設定された実空間座標系(x,y,z)と視点を利用して、3次元仮想空間を構築する。
【0078】
この例においては、上述したように、図5に示されるような、実空間座標系(x,y,z)により定義された3次元仮想空間43が構築される。換言すると、実空間座標系(x,y,z)で定義される所定の空間を、表示部13の表示面13−1を境界(界面)41として、実空間42と3次元仮想空間43の2つの空間に区分した状態となるように、3次元仮想空間43が構築される。なお、以下、このような実空間42と3次元仮想空間43が連続して形成される空間を、実空間42や3次元仮想空間43の単体の空間と区別するために、実空間42と3次元仮想空間43の連続空間と称する。
【0079】
図4に戻り、ステップS6において、表示制御モジュール34は、ステップS5の処理で仮想空間構築モジュール33により構築された3次元仮想空間43の画像を、初期画像として表示部13に表示させる。
【0080】
いまの場合、上述したように、ユーザが表示面13−1を見下ろす方向を視点として、3次元仮想空間43が構築されているので、表示部13には、ユーザが3次元仮想空間43を見下ろした場合の風景に対応する画像が、初期画像として表示される。
【0081】
具体的には、この例においては、例えば、図6に示されるように、地面51が、表示部13の表示面13−1(即ち、実空間42と3次元仮想空間43の界面(境界)41)と一致するか、または表示面13−1よりも下方(3次元仮想空間43内)に配置されるように、3次元仮想空間43が構築されたとする。
【0082】
この場合、表示部13には、例えば、図7に示されるような、ユーザが地面51を見下ろした場合の風景に対応する画像が、初期画像として表示される。図7の例では、地面51には、池を表す領域(以下、単に池と称する)61が存在している。池61は、図7の例では、2次元的に描画されているが、勿論、実際の池と同様に深さ(実空間座標系(x,y,z)のz軸負方向に対する長さ)を有している。
【0083】
池61には、魚の形状をしたオブジェクト(以下、魚オブジェクトと称する)62−1乃至62−4が存在している。魚オブジェクト62−1乃至62−4のそれぞれは、池61を外れない範囲で自在に移動可能とされている。
【0084】
魚オブジェクト62−1乃至62−4のそれぞれの移動(動き)の表現方法は、特に限定されないが、この例においては、次の通りとされる。即ち、魚オブジェクト62−1乃至62−4のそれぞれは、実空間座標系(x、y、z)のX−Y平面に対して平行移動および回転を行うアニメーションで表現されるとする。また、魚オブジェクト62−1乃至62−4のそれぞれは、実際の魚と同様に、上下方向(実空間座標系(x,y,z)のz軸方向)にも移動可能であり、上下方向の移動については、池61の水面(地面51と同レベル)からの深さに応じて相対的な大きさが変化する(ユーザから見た場合、あたかも大きさが変化して見える)ように表示されるとする。
【0085】
ところで、魚オブジェクト62−1乃至62−4のうちの少なくとも1つが移動することは、3次元仮想空間43の状態が変化することに相当する。従って、実際には、魚オブジェクト62−1乃至62−4のそれぞれが移動する毎に、3次元仮想空間43も再構築されることになる。換言すると、実際には、3次元位置角度センサ11−1からの入力の有無に関わらず、魚オブジェクト62−1乃至62−4のそれぞれの位置が刻々と変化する動画像が表示部13に表示されるように、動画像を構成する複数のフレームのそれぞれに対応する画像データ(所定の1フレームを表す3次元仮想空間に対応する画像データ)が刻々と生成されていく。
【0086】
ただし、この例においては、説明の簡略上、例えば、3次元位置角度センサ11−1からの入力に伴う3次元仮想空間43の状態変化以外の状態変化は起こらないとする。即ち、ユーザが3次元位置角度センサ11−1を操作しない限り、表示部13には静止画像が表示されるとする。従って、いまの場合、後述するように、3次元位置角度センサ11−1が操作されない限り、図7に示される画像が静止画像として表示部13に表示され続ける。
【0087】
さらに、図7の例では、表示面13−1の上方(実空間座標系(x,y,z)のz軸正方向)の無限遠の位置に平行光源が存在するとする。なお、視点と同様に光源についても、任意の設定が可能であり、予め設定された光源が利用されてもよいし、ユーザが、入力部11の第2の機能を利用して入力した光源が利用されてもよい。
【0088】
このような初期画像が表示部13に表示された状態(いまの場合、図7に示される状態)で、3次元位置角度センサ11−1(図5)が実空間42内を移動すると、上述したように、3次元位置角度センサ11−1の動きに応じて、3次元仮想空間43の状態も変化する。このような3次元位置角度センサ11−1の移動(ユーザ操作)に応じて3次元仮想空間43の状態を変化させる処理が、図4のステップS7乃至S11の処理で実行される。
【0089】
即ち、例えば、いま、図7に示される状態で、ユーザが、3次元位置角度センサ11−1を、表示部13の表示面13−1の図中右下端部の近傍であって、表示面13−1の上方(実空間座標系(x,y,z)のz軸正方向)に配置したとする。
【0090】
この場合、ステップS7において、仮想空間情報変更モジュール32が、3次元位置角度センサ11−1からの位置角度情報(いまの場合、センサ座標系(sx,sy,sz)における3次元位置角度センサ11−1自身の位置および角度)を入力する。
【0091】
ステップS8において、仮想空間情報変更モジュール32は、入力された位置角度情報の座標系を、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)に変換する。いまの場合、上述した式(1)が利用されて、位置角度情報の座標系が、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)に変換される。
【0092】
ステップS9において、仮想空間情報変更モジュール32は、実空間座標系(x,y,z)に座標変換された位置角度情報に基づいて、3次元仮想空間の変更対象情報の内容を変更する。
【0093】
上述したように、変更対象情報やその変更内容は、特に限定されないが、この例においては、例えば、変更対象情報は、3次元位置角度センサ11−1の影の状態とされる。なお、上述したように、変更対象情報の数も特に限定されないが、説明の簡略上、いまの時点においては、3次元位置角度センサ11−1の影の状態の1つのみとされる。
【0094】
この場合、仮想空間情報変更モジュール32は、実空間座標系(x,y,z)における3次元位置角度センサ11−1の位置および角度に基づいて、上述した平行光源によって地面51に生成される3次元位置角度センサ11−1の影の状態(その形状や位置等)を演算する。即ち、3次元位置角度センサ11−1が移動される度に、その位置や角度(位置角度情報)が変化するので、影の状態も変更される(再演算される)ことになる。
【0095】
そして、ステップS10において、仮想空間構築モジュール33が、仮想空間情報変更モジュール32によりその内容が変更された変更対象情報(再演算された3次元位置角度センサ11−1の影の状態)に基づいて、3次元仮想空間43を再構築する。
【0096】
ステップS11において、表示制御モジュール34は、ステップS10の処理で仮想空間構築モジュール33により再構築された3次元仮想空間43の画像を表示部13に表示させる。
【0097】
いまの場合、上述したように、3次元位置角度センサ11−1が、表示部13の表示面13−1の右下端部の近傍であって、表示面13−1の上方(実空間座標系(x,y,z)のz軸正方向)に配置されている。従って、表示部13には、図8に示されるような、3次元位置角度センサ11−1の配置状態(位置および角度)に対応する3次元位置角度センサ11−1の影の領域63が表示される。
【0098】
即ち、表示部13の表示面13−1の上方に何も配置されていない状態から、3次元位置角度センサ11−1が配置された状態に変化すると、その変化に応じて、3次元仮想空間43(それに対応する画像)の状態も、図7に示される状態から図8に示される状態に変化する。
【0099】
そして、ステップS12において、表示制御モジュール34は、処理の終了条件が満たされたか否かを判定する。
【0100】
ステップS12における処理の終了条件は、特に限定されず、様々な条件が使用可能である。具体的には、例えば、ユーザからの終了コマンドが入力された場合、若しくは記憶部26(図1)の残量が不足する場合等によるソフトウエアまたはハードウエア上の制約条件が使用可能である。
【0101】
ステップS12において、処理の終了条件が満たされたと判定された場合、その処理は終了される。
【0102】
これに対して、ステップS12において、処理の終了条件がまだ満たされていないと判定された場合、処理はステップS7に戻され、それ以降の処理が繰り返される。
【0103】
即ち、例えば、この状態(図8に示される状態)で、ユーザが、3次元位置角度センサ11−1を池61の上に配置した(表示面13−1と接するように配置した)とする。この場合、ステップS12において、処理の終了条件がまだ満たされていないと判定され、ステップS7乃至S11の処理が再度繰り返される。
【0104】
具体的には、仮想空間情報変更モジュール32が、新たに取得した3次元位置角度センサ11−1の位置角度情報の座標系を実空間座標系(x,y,z)に変換し、それに基づいて、3次元仮想空間43の変更対象情報の内容を変更する。
【0105】
上述した例では、変更対象情報は、3次元位置角度センサ11−1の影の状態のみであったが、ここでは、それとともに、魚オブジェクト62−1乃至62−4のそれぞれの動きの情報(配置位置)も加えられるとする。
【0106】
いまの場合、地面51が表示部13の表示面13−1と一致しているとすると、3次元位置角度センサ11−1の最下部が地面51と同一レベル(池61の水面上)に配置されているので、仮想空間情報変更モジュール32は、3次元位置角度センサ11−1の影の状態を、その配置位置に対応する状態に変更する。
【0107】
具体的には、例えば、3次元位置角度センサ11−1の形状が直方体の場合、ユーザから見て影の領域63が見えない状態に変更される。なお、このような場合、影の領域63がない状態としてもよい。
【0108】
また、この例においては、例えば、3次元位置角度センサ11−1が、魚の模擬餌としてみなされており、仮想空間情報変更モジュール32は、魚オブジェクト62−1乃至62−4のそれぞれの動きの情報を、模擬餌(3次元位置角度センサ11−1)に近寄ってくるような動きの情報に変化させる。即ち、いまの場合、魚オブジェクト62−1乃至62−4のそれぞれの位置が、図8に示される位置から、3次元位置角度センサ11−1の近傍の位置(例えば、後述する図9に示される位置)となるように再設定される。
【0109】
次に、仮想空間構築モジュール33が、内容が変更された変更対象情報(影の領域63が表示されない状態、および、魚オブジェクト62−1乃至62−4のそれぞれが、3次元位置角度センサ11−1の近傍の位置に移動する状態)に基づいて、3次元仮想空間43を再構築する。そして、表示制御モジュール34が、再構築された3次元仮想空間43の画像を、表示部13に表示させる。
【0110】
いまの場合、表示部13には、図9に示されるような、影の領域63が消えるとともに、魚オブジェクト62−1乃至62−4のそれぞれが模擬餌(3次元位置角度センサ11−1)に近寄った状態を表す画像が表示されることになる。
【0111】
このように、本実施の形態においては、表示装置の表示面によって座標系を定義し、定義した座標系を実空間と3次元仮想空間の座標系として共有して利用するようにしたので、ユーザは、表示装置の表示面を実空間と3次元仮想空間のインタフェースとして、3次元仮想空間内の変更対象情報を容易かつ直感的に操作することが可能になる。
【0112】
以上、本発明の実施の形態として、ユーザが、魚の餌に見立てた3次元位置角度センサ11−1を操作することで、情報処理装置1が、3次元仮想空間43内の地面51にうつる影の状態や、池61内にいる魚オブジェクト62−1乃至62−4の位置が変化する画像を、表示部13に表示させる例について説明した。
【0113】
本発明の実施の形態は、上述した例に限定されず、様々な形態をとることが可能である。具体的には、例えば、図10に示されるように、ユーザが3次元位置角度センサ11−1を懐中電灯に見立て、3次元位置角度センサ11−1を操作することで3次元仮想空間43内の地面51に灯りをともすという設定で、情報処理装置1が、3次元位置角度センサ11−1の位置や角度に応じて懐中電灯の灯りの状態が変化する画像を、表示部13に表示させることも可能である。
【0114】
以下、図10と図11を参照して、このような実施の形態の例の詳細について説明する。
【0115】
3次元位置角度センサ11−1には、上述したように、独自のセンサ座標系(sx,sy,sz)が存在する。そこで、この例においては、例えば、3次元位置角度センサ11−1は、図10に示されるように、sz軸の正方向に光を照射する懐中電灯とみなされている。従って、以下、この例の3次元位置角度センサ11−1を、模擬懐中電灯11−1とも称する。
【0116】
また、この例においても、上述した図4のステップS1乃至S6の処理が実行されると、上述した図5に示される仮想空間43が構築される。ただし、図示はしないが、初期画像として、上述した図7に対応する風景と同一の風景であって、夜の時刻の風景に対応する画像(例えば、画像全域に渡って、灰色等の同一色に塗りつぶされた画像)が表示部13の表示面13−1に表示されるとする。即ち、図7の例では、表示面13−1の上方(実空間座標系のz軸正方向)の無限遠の位置に平行光源が存在したが、この例においては、そのような光源(模擬懐中電灯11−1以外の光源)は存在しない。
【0117】
例えば、いま、このような初期画像が表示されている状態で、ユーザが模擬懐中電灯11−1を図10に示される位置および角度に配置したとする。
【0118】
この場合、上述した図4のステップS7乃至S11の処理が実行されて、図10に示されるような、模擬懐中電灯11−1の灯りの領域(白色の領域)71が表示部13に表示される。
【0119】
具体的には、仮想空間情報変更モジュール32(図3)が、取得した模擬懐中電灯11−1の位置角度情報の座標系を実空間座標系(x,y,z)に変換し、それに基づいて、模擬懐中電灯11−1の灯りの状態を変更する。
【0120】
即ち、この例においては、変更対象情報は、模擬懐中電灯11−1の灯りの状態とされている。従って、例えば、仮想空間情報変更モジュール32は、模擬懐中電灯11−1の光の照射方向(センサ座標系(sx,sy,sz)におけるsz座標の正方向)を、実空間座標系(x,y,z)での光の照射方向として演算する。そして、仮想空間情報変更モジュール32は、実空間座標系(x,y,z)における模擬懐中電灯11−1の光の照射方向と3次元仮想空間43の地面51との交差判定を行うことで、地面51に光(模擬懐中電灯11−1の灯り)が当たる状態を演算する。
【0121】
次に、仮想空間構築モジュール33(図3)が、内容が変更された変更対象情報(演算された模擬懐中電灯11−1の灯りが地面51に当たる状態)に基づいて3次元仮想空間43を再構築する。そして、表示制御モジュール34(図3)が、再構築された3次元仮想空間43に対応する画像として、図10に示されるような画像を表示部13に表示させる。
【0122】
このように、この例においては、ユーザが模擬懐中電灯11−1のsz軸方向を変化させるように操作すると、その操作に応じて、表示部13に表示される模擬懐中電灯11−1の灯りの領域71の状態(形状や位置)も変化する。例えば、ユーザが、模擬懐中電灯11−1のsz軸方向と、表示部13の表示面13−1の法線方向が一致するように、模擬懐中電灯11−1を操作すると、今度は、図11に示されるような画像が表示部13に表示される。
【0123】
ところで、この例においては、3次元仮想空間43の状態変化の対象は、3次元仮想空間43のうちの地面51といった1平面(2次元)に限定されている。従って、このような場合、情報処理装置1は、地面51を3次元仮想空間43の一部と捉えずに、2次元平面と捉えることもできる。即ち、当然のことながら、情報処理装置1は、定義された実空間座標系(x,y,z)を用いて、3次元仮想空間43のみならず2次元平面を対象とする画像の表示制御を行うことも可能である。
【0124】
また、例えば、図12に示されるように、ユーザが、3次元位置角度センサ11−1を釣竿に見立て、3次元位置角度センサ11−1を操作することで、魚オブジェクト91−1乃至91−4のうちのいずれかを釣り上げるという設定で、情報処理装置1が、3次元位置角度センサ11−1の位置や角度によって魚オブジェクト91−1乃至91−4のそれぞれが移動する(例えば、釣り上げられる)画像を、表示部13に表示させることも可能である。
【0125】
以下、図12乃至図14を参照して、このような実施の形態の例の詳細について説明する。
【0126】
この例においても、上述した図4のステップS1乃至S6の処理が実行されると、上述した図5に示される3次元仮想空間43が構築される。ただし、上述した例においては、界面(境界)41は地面51とされ、池62のみに水が満たされていた。これに対して、この例においては、例えば、図12に示されるように、界面(境界)41は水面81とされ、3次元仮想空間43全体が水で満たされているとする。また、3次元仮想空間43には、上述したように、魚オブジェクト91−1乃至91−4が存在する。
【0127】
魚オブジェクト91−1乃至91−4の移動(動き)の表現方法は、特に限定されないが、この例においては、上述した図7の魚オブジェクト62−1乃至62−4のそれらと同様とされる。即ち、魚オブジェクト91−1乃至91−4のそれぞれは、実空間座標系(x、y、z)のX−Y平面に対して平行移動および回転を行うアニメーションで表現されるとする。また、魚オブジェクト91−1乃至91−4のそれぞれは、実際の魚と同様に、上下方向(実空間座標系(x,y,z)のz軸方向)にも移動可能であり、上下方向の移動については、水面81からの深さ(実空間座標系(x,y,z)のz軸負方向の長さ)に応じて相対的な大きさが変化する(ユーザから見た場合、あたかも大きさが変化して見える)ように表示されるとする。
【0128】
また、図12の例では、表示面13−1の上方(実空間座標系のz軸正方向)の無限遠の位置に平行光源が存在するとする。
【0129】
例えば、いま、初期画像(図示せず)が表示された状態で(ステップS6の処理が完了した状態で)、図12に示されるように、ユーザが、釣竿に見立てた3次元位置角度センサ11−1(以下、この例の3次元位置角度センサ11−1を、模擬釣竿11−1とも称する)を、仮想釣り針92を垂らすかのように表示部13の表示面13−1の所定の場所の上に置いたとする。
【0130】
この場合、上述した図4のステップS7乃至S11の処理が繰り返し実行されて、例えば、図13または図14に示されるような画像が、表示部13に表示される。
【0131】
具体的には、仮想空間情報変更モジュール32(図3)が、取得した模擬釣竿11−1の位置角度情報の座標系を実空間座標系(x,y,z)に変換し、それに基づいて、魚オブジェクト91−1乃至91−4のそれぞれの動きの情報を変更する。
【0132】
即ち、この例においては、例えば、変更対象情報は、魚オブジェクト91−1乃至91−4のそれぞれの動きの情報とされており、釣り上げられた場合の動きに対応する第1のモードと、釣り上げられていない場合の動きに対応する第2のモードのうちのいずれかに設定される(変更される)とする。
【0133】
この場合、例えば、仮想空間情報変更モジュール32は、模擬釣竿11−1の配置された位置(取得した位置角度情報)によって、仮想釣り針92の仮想空間43における位置を確定する。そして、仮想空間情報変更モジュール32は、確定した仮想釣り針92の位置(その近傍)に魚オブジェクト91−1乃至91−4のうちのいずれかが存在するか否かを判定する。
【0134】
例えば、魚オブジェクト91−1乃至91−4のいずれも仮想釣り針92の位置(その近傍)に存在しないと判定したとすると、仮想空間情報変更モジュール32は、魚オブジェクト91−1乃至91−4の全ての動きのモードを第2のモードに設定する。
【0135】
この場合、仮想空間構築モジュール33(図3)が、変更対象情報(魚オブジェクト91−1乃至91−4の全ての動きが第2のモードの動き)に基づいて3次元仮想空間43を構築する。そして、表示制御モジュール34(図3)が、図13に示されるような画像(3次元仮想空間43を真上から見た風景に対応する画像)を、表示部13に表示させる。
【0136】
即ち、魚オブジェクト91−1乃至91−4のそれぞれは、3次元位置角度センサ11−1の動きとは独立した動き(第2のモードの動き)をする。従って、ユーザが、模擬釣竿11−1を上方向(実空間座標系(x,y,z)のz軸正方向)に動かしても(仮想釣り針92をあたかも引き上げるように動かしても)、その動きに対応する3次元仮想空間43の状態変化は特に起こらず、図13に示されるような画像が表示部13に表示される。
【0137】
これに対して、例えば、魚オブジェクト91−1乃至91−4のうちの魚オブジェクト91−2が仮想釣り針92の位置(その近傍)に存在すると判定したとすると、仮想空間情報変更モジュール32は、魚オブジェクト91−2の動きのモードを第1のモードに設定する(変更する)とともに、それ以外の魚オブジェクト91−1、魚オブジェクト91−3、および魚オブジェクト91−4のそれぞれの動きのモードを第2のモードに設定する。
【0138】
この場合、仮想空間構築モジュール33(図3)が、内容が変更された変更対象情報(魚オブジェクト91−2の動きが第1のモードの動き)に基づいて3次元仮想空間43を再構築する。そして、表示制御モジュール34(図3)が、図14に示されるような画像(3次元仮想空間43を真上から見た風景に対応する画像)を、表示部13に表示させる。
【0139】
即ち、魚オブジェクト91−2は、仮想釣り針92にかかったとみなされ、3次元位置角度センサ11−1の動きに連動する動き(第1のモードの動き)をする。従って、ユーザが、3次元位置角度センサ11−1を上方向に動かすと(仮想釣り針92をあたかも引き上げるように動かすと)、その動きに応じて、魚オブジェクト91−2も徐々に大きく(ユーザから見て相対的に大きく)表示されていく。そして、最終的に、図14に示されるような、魚オブジェクト91−2が水面81に姿を表す画像が表示部13に表示される。
【0140】
なお、情報処理装置1は、水中(3次元仮想空間43)の仮想物体(いまの場合、魚オブジェクト91−2)が仮想釣り針92にかかったというイベントを、ユーザに対して通知する必要がある。イベントをユーザに通知する方法は、特に限定されず、例えば、情報処理装置1は、イベントが発生したことを表す画像を表示部13に表示させることでユーザに通知してもよいし、イベントが発生したことを表す音声を出力する(音声出力部は図示せず)ことでユーザに通知してもよい。
【0141】
以上、本発明の実施の形態が適用される情報処理装置として、図2の構成の情報処理装置1について説明したが、本発明の実施の形態が適用される情報処理装置は、図2の例に限定されず、様々な形態を取ることが可能である。例えば、図15は、本発明の実施の形態が適用される情報処理装置のうちの、図2とは異なる外観の構成を有する情報処理装置の例を表している。
【0142】
即ち、図2の例では、表示部13は、液晶ディスプレイで構成され、その表示面13−1が垂直上方向を向くように配置されていた。これに対して、図15の例では、表示部13は、CRTディスプレイで構成され、その表示面13−1が水平方向を向くように配置されている。なお、その他の構成は、図2の構成と同様の構成とされている。
【0143】
図15の例においても、情報処理装置1は、上述した図4のフローチャートに従って、3次元表示制御処理を実行することができる。
【0144】
即ち、この例においても、上述した図4のステップS1乃至S6の処理が実行されると、例えば、図16に示されるような3次元仮想空間43が構築される。図16の例では、表示部13の表示面13−1がX−Y平面に、表示面13−1の垂線方向がZ軸に、原点(図16中0点)が表示部13の表示面13−1の図16中左下端に、それぞれ設定されることで、実空間座標系(x,y,z)が定義されている。そして、定義された実空間座標系(x,y,z)により3次元仮想空間43が構築されている。換言すると、図16の例においても、表示部13の表示面13−1が界面(境界)とされて、表示部13によって定義された実空間42と、構築された3次元仮想空間43が同一座標系(実空間座標系(x,y,z))で連結する連続空間が形成される。なお、上述した他の例と同様に、実空間座標系(x,y,z)の定義方法や、3次元仮想空間43の構築方法は、図16の例に限定されない。
【0145】
従って、この例においても、上述した他の例と同様に、ユーザは、3次元位置角度センサ11−1を懐中電灯等の所定の機能を有する実物体に見立て、3次元位置角度センサ11−1を操作することで、実物体の実際の機能を実行したときに実空間で実際に起こる状態変化と同様の変化を、3次元仮想空間43内に対しても仮想的に起こすことが可能になる。
【0146】
具体的には、例えば、図10や図11と同様に、図17や図18に示されるように、ユーザが3次元位置角度センサ11−1を懐中電灯に見立て、3次元位置角度センサ11−1(以下、図10や図11と同様に、図17や図18の例の3次元位置角度センサ11−1も、模擬懐中電灯11−1と称する)を操作することで3次元仮想空間43内(仮想の部屋の中)に灯りをともすという設定で、情報処理装置1が、模擬懐中電灯11−1の位置や角度によって模擬懐中電灯11−1の灯りの状態が変化する画像を、表示部13に表示させることも可能である。
【0147】
即ち、ユーザが模擬懐中電灯11−1のsz軸方向を変化させるように操作する毎に、上述した図4のステップS7乃至S11の処理が繰り返し実行されて、表示部13に表示される模擬懐中電灯11−1の灯りの領域101の状態(形状や位置)が変化した画像(例えば、図17や図18に示される画像)が表示される。
【0148】
このように、この例においては、状態変化の対象は、図10や図11に示されるような地面51といった2次元平面に限定されず、3次元仮想空間43全体(3次元の部屋の中)とされている。
【0149】
従って、上述したように、図10や図11に示されるような、地面51(2次元平面)に対する模擬懐中電灯11−1の灯りの領域71が変化していく様子(画像)を表示させることは、2次元平面の画像しか扱えない情報処理装置であっても、地面51を3次元仮想空間43の一部と捉えずに2次元平面と捉えて処理することで可能である。
【0150】
しかしながら、図17や図18に示されるような、3次元仮想空間43全体(3次元の部屋)に対する模擬懐中電灯11−1の灯りの領域101が変化していく様子(画像)を表示させることは、2次元平面の画像を扱うことが前提とされた情報処理装置では不可能であり、上述した情報処理装置1のような本発明の実施の形態が適用される装置を利用することではじめて可能になる。
【0151】
ところで、上述したように、表示部13のみならず第1の機能を有する入力部11も、様々な実施の形態を取ることが可能である。
【0152】
例えば、図2の例では、3次元位置角度センサ11−1が出力する位置角度情報の座標系(センサ座標系(sx,sy,sz))と、表示部13に基づいて定義される実空間31の座標系(実空間座標系(x,y,z))は異なっているため、情報処理装置1は、上述した図4のステップS1、ステップS3、およびS8の処理のような、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)への変換に伴う処理を実行する。
【0153】
これにより、上述したように、独自のセンサ座標系(sx,sy,sz)を有する3次元位置角度センサ11−1を操作する場合であっても、ユーザは、センサ座標系(sx,sy,sz)を意識することなく、表示部13を指標として(実空間座標系(x,y,z)を利用して)操作することが可能になる。
【0154】
一方、第1の機能を有する入力部11として、それが出力する位置角度情報の座標系(センサ座標系(sx,sy,sz))が、実空間31の座標系(実空間座標系(x,y,z))と同一の座標系となるような入力装置を利用した場合には、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)への変換に伴う処理を省略することができる。
【0155】
或いは、例えば、図19に示されるように、3次元位置角度センサとは独立した任意の実物体111を利用して、カメラ11−2等により実物体111の位置および角度を、カメラ11−2独自の座標系(図示はしないが、実空間座標系(x,y,z)とは異なる座標系)で入力してもよい。即ち、図19の例では、カメラ11−2が、第1の機能を有する入力部11とされており、主制御部12が、カメラ11−2により撮影された実物体111の画像に対して所定の画像処理を施すことで、実空間における実物体111の位置および角度を測定する。
【0156】
なお、この場合、実物体111の形状が主制御部12に予め入力されている必要がある。
【0157】
また、実物体111として、任意の実物体の利用が可能であるが、実物体111の位置および角度が、上述した変更対象情報を変更させる指令に相当する(3次元仮想空間内に所定の作用を与える)ことを考慮すると、ユーザがそれを見て指令(変更対象情報に対する作用)を直感的に連想できる実物体が好適である。即ち、実物体111として、3次元仮想空間と実空間の連続空間(例えば、上述した図5に示されるような、実空間座標系(x,y,z)で形成される実空間42と3次元仮想空間43の連続空間)に含まれる情報であって、3次元仮想空間内の変更対象情報の内容を変更させることが可能な情報(以下、このような情報を、変更対象情報と区別するために、変化起因情報と称する)の所定の特徴が表現された実物体が利用されるとよい。
【0158】
具体的には、例えば、図19の例では、変化起因情報が人間とされ、変更対象情報が、人間が歩行した場合における景色(図示はしないが、例えば、道路や、その道路の周囲環境)とされているので、実物体111として、人間の形状が模擬された人形が用いられている。勿論、人間の特徴は、その形状以外にも、色(例えば、肌の色や服装の色)や、大きさ(3次元仮想空間内の周囲の仮想物体に対する相対的な大きさ)といった様々な特徴を有しており、実物体111として、これら様々な特徴のうちのいずれの特徴が表現されたものが利用されてもよい。
【0159】
換言すると、実物体111は、単体では情報処理装置1に対して特定の機能を有していないが、変化起因情報の所定の特徴を表現していることを考慮すると、ユーザに対して変化起因情報、または変更対象情報を直感的に連想させる機能を有しているとも言える。また、ユーザが実物体111の実空間における位置や角度を変えることで、変更対象情報が変更されるので、カメラ11−2を補助的な入力装置とみなし、実物体111を実質上の入力装置(上述した3次元位置角度センサ11−1の代わりとなる装置)とみなすことも可能である。即ち、第1の機能を有する入力部11は、カメラ11−2のみではなく、実物体111とカメラ11−2をあわせた入力装置であるとも言える。
【0160】
このような観点に立つと、上述した図7乃至図9の例、図10と図11の例、図12乃至図14の例、および図17と図18の例のいずれの例においても、第1の機能を有する入力部11として、実物体111とカメラ11−2からなる入力装置を利用することが可能である。
【0161】
この場合、実物体111は、上述したように特に限定されないが、例えば、次のようなものが好適である。
【0162】
即ち、図7乃至図9の例では、変化起因情報が魚の餌とされ、また、変更対象情報が魚の餌の影の状態、および魚オブジェクトの動き(魚の餌を食べるための動き)とされているので、例えば、実物体111として、魚の餌の形状を有するものが利用されるとよい。
【0163】
図10と図11の例、および図17と図18の例では、変化起因情報が懐中電灯とされ、また、変更対象情報が懐中電灯の灯りの状態とされているので、例えば、実物体111として、懐中電灯の形状を有するものが利用されるとよい。
【0164】
図12乃至図14の例では、変化起因情報が、釣り針を有する釣竿とされ、変更対象情報が、魚オブジェクトの動き(仮想釣り針にかかった場合の第1のモードと、かからない場合の第2のモードのうちのいずれかのモード)とされているので、例えば、実物体111として、釣竿の形状を有するものが利用されるとよい。
【0165】
これにより、いずれの例の場合であっても、ユーザは、実物体111を見ることにより、これから起こる3次元仮想空間の状態変化をさらに容易かつ直感的に認識することが可能になる。
【0166】
以上、説明したように、本発明の実施の形態の情報処理装置は、表示部を指標として実空間における第1の座標系(例えば、実空間座標系(x,y,z))を定義し、それを実空間のみならず3次元仮想空間の座標系としても利用する。その結果、例えば、実空間が表示部の表示面の奥に延長された空間として、3次元仮想空間が構築される。これにより、ユーザは、表示部の表示面を実空間と3次元仮想空間のインタフェースとして、3次元仮想空間と直接的なインタラクションができ、容易かつ直感的に3次元仮想空間内の情報を取り扱うことが可能になる。
【0167】
換言すると、上述したように、従来、ユーザは、3次元仮想空間の座標系とは関連のない入力装置独自の第2の座標系(例えば、入力装置が3次元位置角度センサである場合、センサ座標系(sx,sy,sz))に基づいて、入力装置の操作を行っていたため、直感的な操作ができず、3次元仮想空間内の情報の操作が非常に困難であった。
【0168】
これに対して、本実施の形態においては表示部の表示面が界面(境界)とされて、第1の座標系で定義される実空間と3次元仮想空間の連続空間が形成される。従って、ユーザは、第1の座標系に基いて、連続空間(そのうちの実空間側)に存在する入力装置の操作を行うことができるので(入力装置自体は、従来と同様に、独自の第2の座標系を利用するが、ユーザは、第2の座標系を意識することなく入力装置の操作を行うことができるので)、容易かつ直感的に3次元仮想空間内の情報を操作することが可能になる。
【0169】
なお、上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【0170】
この記録媒体は、図1に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini−Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブル記録媒体(パッケージメディア)29により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM22や、記憶部26に含まれるハードディスクなどで構成される。
【0171】
また、上述した図3の座標系設定モジュール31、仮想空間情報変更モジュール32、仮想空間構築モジュール33、および表示制御モジュール34のそれぞれは、対応する機能を果たすものであれば、その形態は限定されない。即ち、ハードウエアなどでモジュールが構成されてもよい。この場合、例えば、製造者等は、座標系設定モジュール31、仮想空間情報変更モジュール32、仮想空間構築モジュール33、および表示制御モジュール34のそれぞれに対応する装置(ハードウエア)を製作し、それらを図3に示されるようにそれぞれ接続することで、本発明が適用される情報処理装置1を、図1の構成とは異なる構成で実現することも可能である。
【0172】
さらに、モジュールは、全体として上述した図4のフローチャート等に従って3次元表示制御処理の実行が可能なものであれば、図3の例に限定されず、様々なモジュールに分割可能であるし、或いは、モジュール構成とせずに、単なる1アルゴリズムを有するソフトウエアプログラムとして扱ってもよい。
【0173】
さらにまた、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0174】
【発明の効果】
以上のごとく、本発明によれば、3次元仮想空間を構築し、構築した3次元仮想空間に対応する画像を表示させることができる。特に、ユーザに対して容易かつ直感的な操作で3次元仮想空間内の所定の情報を操作させることができる。
【図面の簡単な説明】
【図1】本実施の形態が適用される情報処理装置のハードウエアの構成例を示すブロック図である。
【図2】図1の情報処理装置の外観の構成例を示す図である。
【図3】図1の情報処理装置のソフトウエアの構成例を示すブロック図である。
【図4】図3の情報処理装置の3次元表示制御処理例を説明するフローチャートである。
【図5】図3の情報処理装置が表示部を指標として定義した実空間の座標系、並びに、実空間の座標系により構築される実空間および3次元仮想空間の構成例を示す図である。
【図6】図5の3次元仮想空間として、地面を含む空間が構築された例を示す図である。
【図7】図6の3次元仮想空間の表示例を説明する図である。
【図8】ユーザが表示部を指標として入力部を配置した場合における、図7の状態から状態が変化した3次元仮想空間の表示例を説明する図である。
【図9】ユーザが表示部を指標として入力部を図8とは異なる位置に配置した場合における、図7の状態から状態が変化した3次元仮想空間の表示例を説明する図である。
【図10】図6の3次元仮想空間の他の表示例を説明する図である。
【図11】ユーザが表示部を指標として入力部を図10とは異なる位置に配置した場合における、図10の状態から状態が変化した3次元仮想空間の表示例を説明する図である。
【図12】図5の3次元仮想空間として、表示部の表示面が水面とされ、水が満たされた空間が構築された例を示す図である。
【図13】図12の3次元仮想空間の表示例を説明する図である。
【図14】ユーザが表示部を指標として入力部を配置した場合における、図13の状態から状態が変化した3次元仮想空間の表示例を説明する図である。
【図15】図1の情報処理装置の外観の他の構成例を示す図である。
【図16】図15の情報処理装置が表示部を指標として定義した実空間の座標系、並びに、実空間の座標系により構築される実空間および3次元仮想空間の構成例を示す図である。
【図17】図16の3次元仮想空間の表示例を説明する図である。
【図18】ユーザが表示部を指標として入力部を配置した場合における、図17の状態から状態が変化した3次元仮想空間の表示例を説明する図である。
【図19】図1の情報処理装置の外観のさらに他の構成例を示す図である。
【符号の説明】
1 情報処理装置, 11 入力部, 11−1 3次元位置角度センサ, 11−2 カメラ, 12 主制御部, 13 表示部, 13−1 表示面,21 CPU, 31 座標系設定モジュール, 32 仮想空間情報変更モジュール, 33 仮想空間構築モジュール, 34 表示制御モジュール, 41 界面(境界), 42 実空間42 3次元仮想空間, 51 地面, 62−1乃至62−4 魚オブジェクト, 63 3次元位置角度センサの影の領域, 71 懐中電灯の灯りの領域, 81 水面, 91−1乃至91−4 魚オブジェクト, 92 仮想釣り針, 101 懐中電灯の灯りの領域, 111 実物体(人形)
【発明の属する技術分野】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、ユーザが、3次元仮想空間内の所定の情報を容易かつ直感的に操作することができるようにした情報処理装置および方法、並びにプログラムに関する。
【0002】
【従来の技術】
近年、情報処理技術の発達が著しく、パーソナルコンピュータに代表される、一般ユーザが利用する汎用的な情報処理装置においても、コンピュータグラフィックス(以下、CGと称する)による3次元仮想空間の表現およびその利用が容易に実現可能となっている。
【0003】
また、近年、情報通信技術の発達が著しく、インターネット等のネットワーク上のサーバを利用することで、複数のクライアント(例えば、上述した汎用的な情報処理装置)によるデータの共有や、複数のクライアントのそれぞれに対するデータの配信が容易に実現可能となっている。
【0004】
さらに、最近では、これらの情報処理および通信技術の融合により、複数のクライアントのそれぞれが、サーバ上に構築された3次元仮想空間内のデータを共有して利用するといった技術(例えば、特許文献1参照)も普及し、この技術を利用した様々なサービスが行われるようになっている。
【0005】
従来、このようなCGによって表現された3次元仮想空間の座標系は、その3次元仮想空間をサーバ等に実装した開発者によって設定されることが多い。従って、ユーザは、所定の入力装置を利用して、そのような3次元仮想空間内の情報を操作する場合、開発者によって予め設定された座標系に従って操作することになる。
【0006】
【特許文献1】
特開2002−279284
【0007】
【発明が解決しようとする課題】
しかしながら、開発者によって予め設定された座標系により構築される3次元仮想空間と、ユーザが入力装置を操作する周辺の実空間との間には対応関係がほとんど存在しない。従って、ユーザは、非直感的なインタフェースで3次元仮想空間内の情報を操作することになり、ユーザにとって非常に困難な操作が必要になるという第1の課題がある。
【0008】
具体的には、例えば、3次元仮想空間内の情報を操作する入力装置として、パーソナルコンピュータに接続されたマウスが利用される場合、実空間内のマウス本体の移動距離と、画面内(3次元仮想空間内)のマウスポインタの移動距離が大きく異なることが多い。
【0009】
従って、例えば、ユーザは、マウスポインタを画面(3次元仮想空間)の端から端まで移動させるのに、マウスを実空間内でどれだけ移動させる必要があるのかを直感的に理解することができず、その結果、実際にマウスを何度も移動させてその移動距離を覚えなければならない。
【0010】
さらに、3次元仮想空間の視点の変化も考慮すると(通常、3次元仮想空間の視点は自由に変更できるので)、ユーザは、マウスをどのように動かしたらいいのかさえ直感的に理解することができず、その結果、マウスをあらゆる方向に何度も動かすといった、試行錯誤を重ねることが多々ある。
【0011】
また、近年、実空間の状態を変化させる操作と同様な操作で、3次元仮想空間の状態を実空間と同様に変化させたいと要望するユーザの数が増加している。例えば、ユーザが、実際の懐中電灯を手に持って動かすことで、実空間の所望の位置を照らすのと同様に、模擬懐中電灯を手に持って動かすことで、3次元仮想空間内の所望の場所を照らしたいといった要望が存在する。或いは、ユーザが、実際の釣竿を手に持って動かすことで、実際の魚を釣りあげるのと同様に、模擬釣竿を手に持って動かすことで、3次元仮想空間中の仮想の魚を釣り上げたいといった要望も存在する。
【0012】
しかしながら、上述したように、従来の3次元仮想空間とユーザの周囲の実空間との間に対応関係がほとんど存在しないため、そのような要望に応えることは非常に困難であるという第2の課題もある。
【0013】
本発明は、このような状況に鑑みてなされたものであり、ユーザが、3次元仮想空間内の所定の情報を容易かつ直感的に操作することができるようにするものである。
【0014】
【課題を解決するための手段】
本発明の情報処理装置は、3次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する情報処理装置であって、予め入力された表示装置の所定の情報に基づいて、表示装置を含む実空間における第1の座標系を設定する設定手段と、設定手段により設定された第1の座標系と同一の座標系を用いて3次元仮想空間を構築する構築手段と、構築手段により構築された3次元仮想空間に対応する画像を、表示装置に表示させるように制御する表示制御手段とを備えることを特徴とする。
【0015】
構築手段は、表示装置の表示面を3次元仮想空間と実空間の界面として、3次元仮想空間と実空間が連続した空間となるように3次元仮想空間を構築するようにすることができる。
【0016】
構築手段により構築された3次元仮想空間の状態を変化させる指令を入力する入力手段と、入力手段より入力された指令に基づいて、構築手段により構築された3次元仮想空間が有する複数の情報のうちの第1の情報の内容を変更する変更手段とをさらに設け、構築手段は、さらに、変更手段により変更された第1の情報の内容に基づいて3次元仮想空間を再構築し、表示制御手段は、さらに、構築手段により再構築された3次元仮想空間に対応する画像を、表示装置に表示させるように制御するようにすることができる。
【0017】
入力手段は、所定の実物体が実空間内に配置された場合、実物体の実空間における位置および角度を第1の座標系とは異なる第2の座標系で測定し、その測定結果を指令として入力し、変更手段は、入力手段より入力された実物体の位置および角度の座標系を第2の座標系から第1の座標系に変換し、第1の座標系に変換した実物体の位置および角度に基づいて第1の情報の内容を変更するようにすることができる。
【0018】
入力手段は、実物体として、入力手段自身のうちの少なくとも一部分を利用するようにすることができる。
【0019】
入力手段は、実物体として、3次元仮想空間と実空間が連続した空間に含まれる情報であって、第1の情報の内容を変化させることが可能な第2の情報の所定の特徴が表現された実物体を利用するようにすることができる。
【0020】
本発明の情報処理方法は、3次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する情報処理方法であって、予め入力された表示装置の所定の情報に基づいて、表示装置を含む実空間における座標系を設定する設定ステップと、設定ステップにより設定された座標系と同一の座標系を利用して3次元仮想空間を構築する構築ステップと、構築ステップの処理により構築された3次元仮想空間に対応する画像を、表示装置に表示させるように制御する表示制御ステップとを含むことを特徴とする。
【0021】
本発明のプログラムは、3次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する処理を、コンピュータに実行させるプログラムであって、予め入力された表示装置の所定の情報に基づいて、表示装置を含む実空間における座標系を設定する設定ステップと、設定ステップにより設定された座標系と同一の座標系を利用して3次元仮想空間を構築する構築ステップと、構築ステップの処理により構築された3次元仮想空間に対応する画像を、表示装置に表示させるように制御する表示制御ステップとを含むことを特徴とする。
【0022】
本発明の情報処理装置および方法、並びにプログラムにおいては、予め入力された所定の表示装置の所定の情報に基づいて表示装置を含む実空間における座標系が設定され、設定された座標系と同一の座標系で3次元仮想空間が構築され、構築された3次元仮想空間に対応する画像が上述した表示装置に表示される。
【0023】
本発明の情報処理装置により表示が制御される画像を表示する表示装置は、情報処理装置に搭載されているものでもよいし、情報処理装置の外部の装置でもよい。同様に、本発明の情報処理装置に情報を入力する入力装置は、情報処理装置に搭載されているものでもよいし、情報処理装置の外部の装置でもよい。
【0024】
【発明の実施の形態】
図1は、本実施の形態が適用される情報処理装置のハードウエアの構成例を表している。
【0025】
図1に示されるように、情報処理装置1は、入力部11、主制御部12、および表示部13により構成される。
【0026】
本実施の形態においては、例えば、主制御部12が、表示部13の所定の情報(例えば、大きさ、位置、および角度等)に基づいて3次元仮想空間を構築し、それに対応する画像を表示部13に表示させる。さらに、ユーザが入力部11を操作した場合、主制御部12は、その操作に応じて3次元仮想空間の状態を変化させ(再構築し)、それに対応する画像を表示部13に表示させる。ただし、情報処理装置1の用途は、本実施の形態の例に限定されず、単に、後述する3次元仮想空間の座標系の定義方法を利用する用途であればよい。
【0027】
入力部11は、基本機能として、3次元仮想空間の状態を変化させる指令を主制御部12に入力する第1の機能を有している。即ち、ユーザは、入力部11の第1の機能を利用することで、3次元仮想空間の状態を変化させることができる。
【0028】
この入力部11が入力する指令は、変化の具体的な内容(即ち、3次元仮想空間の状態をどのように変化させるのかといった具体的な内容)を指令するものであってもよいし、3次元仮想空間の状態を単に変化させることを指令するもの(即ち、トリガ)であってもよい。
【0029】
前者の指令が主制御部12に入力された場合、主制御部12は、入力された指令に沿って3次元仮想空間の状態を変化させる。これに対して、後者の指令が主制御部12に入力された場合、主制御部12は、自分自身の判断(指令とは完全に独立した判断でもよいし、指令の内容に基づく判断でもよい)で3次元仮想空間の状態を変化させる。いずれの場合においても、その変化の内容は特に限定されず、主制御部12は、入力部11の第1の機能により入力された指令に基づいて、3次元仮想空間の状態を様々な状態に変化させることが可能である。なお、3次元仮想空間の状態が変化される具体的な例については後述する。
【0030】
換言すると、入力部11は、3次元仮想空間の状態を変化させる指令を主制御部12に入力させることが可能なものであれば、その形態は特に限定されない。例えば、入力部11は、3次元位置角度センサにより構成することが可能である。具体的には、例えば、磁気方式、光学方式、超音波方式、または機械方式といった様々な方式の3次元位置角度センサが、入力部11として利用可能である。勿論、入力部11は、3次元位置角度センサに限定されず、その他の入力装置、例えば、キーボードやマウスに代表される、オンオフ入力装置若しくは2次元位置入力装置により構成してもよい。
【0031】
ところで、情報処理装置1は、実空間に存在する入力部11の入力に基づいて3次元仮想空間内の情報を処理するため、少なくとも実空間の3次元座標系と3次元仮想空間を定義する座標系の2つの座標系を利用する。
【0032】
一般的には(従来においては)、これら2つの座標系のそれぞれは、対応関係がなく完全に独立して存在する。
【0033】
これに対して、本実施の形態においては、後述するように、これら2つの座標系の対応関係が、表示部13の所定の情報(例えば、大きさ、位置、および角度等)に基づいて定義される。具体的には、本実施の形態においては、これら2つの座標系として、表示部13を指標として定義された同一の(唯一の)座標系が利用されることになる。
【0034】
そのため、そのような実空間と3次元仮想空間で共有される座標系の定義が行われる前に、表示部13の情報が主制御部12に予め入力されている必要がある。そこで、入力部11は、上述した第1の機能に加えて、所定のデータを主制御部12に入力する第2の機能をさらに有し、ユーザは、入力部11の第2の機能を利用して、表示部13の情報を主制御部12に入力する。
【0035】
この場合、入力部11のうちの第1の機能を有する入力装置自身が第2の機能をさらに有してもよいし(入力部11が1つの入力装置で構成されてもよいし)、第1の機能を有する入力装置とは異なる、第2の機能を有する別の入力装置が入力部11に新たに設けられてもよい。具体的には、例えば、別の入力装置としてカメラ等の撮像装置が利用可能である。即ち、カメラが表示部13を撮影し、主制御部12が、撮影された表示部13の画像データに対して所定の画像処理を施すことで、表示部13の情報の取得が可能になる。このように、入力部11は、1つの入力装置で構成する必要はなく、上述した機能を実現可能なものであれば、その構成や個数は特に限定されない。
【0036】
なお、表示部13の形状等が予め規定されている場合には、表示部13の情報としてその規定された値を、ユーザの使用前(例えば、情報処理装置1の出荷前)に、情報処理装置1に予め入力しておくことができる。この場合、入力部11は、表示部13の情報を入力する第2の機能を有する必要がない。
【0037】
ただし、この場合、表示部13の情報の入力後は、表示部13は、その情報の入力時に設定された位置および角度で配置される必要がある。
【0038】
さらに、情報処理装置1が座標系定義のみを目的として利用される場合、第1の機能も必要なくなるので、情報処理装置1の構成として入力部11自身が必須なものでなくなる。
【0039】
また、第2の機能により入力されるデータは、上述した表示部13の情報に限定されない。例えば、後述するように、本実施の形態においては、表示部13には、所定の視点から3次元仮想空間を見た場合の風景に対応する画像が表示される。従って、その視点を指定する情報が第2の機能により主制御部12に入力されてもよい。
【0040】
主制御部12は、例えば、パーソナルコンピュータの本体部分(キーボート等の入力装置と、ディスプレイ等の出力装置を除いた部分)により構成される。主制御部12は、後述する座標系変換処理や3次元仮想空間の構築処理を行い、構築した3次元仮想空間に対応する画像信号を生成し、表示部13に出力する。
【0041】
主制御部12において、CPU(Central Processing Unit)21は、ROM(Read Only Memory)22に記録されているプログラム、または記憶部26からRAM(Random Access Memory)23にロードしたプログラムに従って各種の処理を実行する。RAM23にはまた、CPU21が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0042】
CPU21、ROM22、およびRAM23は、バス24を介して相互に接続されている。このバス24にはまた、入出力インタフェース25も接続されている。
【0043】
入出力インタフェース25には、上述した入力部11、および後述する表示部13が接続されている。
【0044】
入出力インタフェース25にはまた、ハードディスクなどより構成される記憶部26、および、インターネットを含むネットワークを介する他の情報処理装置(図示せず)との通信処理を実行する通信部27が接続されている。
【0045】
入出力インタフェース25にはさらに、必要に応じてドライブ28が接続される。ドライブ28には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブル記録媒体29が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部26にインストールされる。
【0046】
表示部13は、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、またはプロジェクタ等により構成される。表示部13は、主制御部12からの出力に応じて、3次元仮想空間に対応する画像を表示する。
【0047】
図2は、情報処理装置1の外観構成の1例を表している。
【0048】
図2の例では、主制御部12は、デスクトップ型のパーソナルコンピュータの本体部分とされている。主制御部12は、表示部13の表示面13−1を界面(境界)として、実空間と連続した空間となるような3次元仮想空間を構築する。表示装置13は、液晶ディスプレイとされている。表示装置13は、主制御部12により構築された3次元仮想空間に対応する画像を表示面13−1に表示する。なお、図2の例では、表示面13−1が垂直上方向を向くように表示部13が配置されているので、ユーザは、表示部13の表示面13−1を上から覗き込むようにして、3次元仮想空間に対応する画像を見ることになる。
【0049】
入力部11のうちの上述した第1の機能を有する部分は、3次元位置角度センサ11−1とされている。3次元位置角度センサ11−1は、実空間における測定対象物体(図2の例では、3次元位置角度センサ11−1自身)の位置および角度を測定し、その測定結果を主制御部12に供給する。
【0050】
即ち、ユーザが、表示部13を指標として3次元位置角度センサ11−1を実空間内の任意の場所に配置すると、3次元仮想空間の状態を変化させる指令として、3次元位置角度センサ11−1の測定結果(3次元位置角度センサ11−1自身の実空間における位置および角度)が主制御部12に入力される。なお、図2の例では、表示部13の表示面13−1に接するように3次元位置角度センサ11−1が配置されているが、後述するように、3次元位置角度センサ11−1は、表示部13と接しない空間中に配置されてもよい。
【0051】
主制御部12は、入力された指令(3次元位置角度センサ11−1の測定結果)に基づいて3次元仮想空間の状態を変化させる。表示部13は、状態が変化した3次元仮想空間に対応する画像を表示する。
【0052】
このように、ユーザは、実空間と3次元仮想空間のインタフェースとして表示部13を利用し、3次元位置角度センサ11−1を操作することで、3次元仮想空間内の所定の情報を容易かつ直感的に操作することができる(状態が変化した3次元仮想空間に対応する画像を、表示部13に表示させることができる)。
【0053】
図3は、情報処理装置1の主制御部12(図2)が有している機能のうちの、3次元仮想空間の座標系を定義し、定義した座標系により3次元仮想空間を構築し、それに対応する画像の表示を制御する処理(以下、そのような処理を、3次元表示制御処理と称する)を行う機能を実現するソフトウエアプログラムの構成例を表している。
【0054】
即ち、図3の例のソフトウエアプログラムは、座標系設定モジュール31、仮想空間情報変更モジュール32、仮想空間構築モジュール33、および表示制御モジュール34といった複数のモジュールにより構成される。これらの各モジュールのそれぞれは、1つの独立したアルゴリズムを持ち、かつ、そのアルゴリズムに従って固有の動作を実行する。各モジュールのそれぞれは、CPU21(図1)により適宜読み出され、実行される。
【0055】
座標系設定モジュール31は、予め入力された表示部13の所定の情報(例えば、大きさ、位置、および角度等)に基づいて、表示部13を含む実空間における第1の座標系(例えば、後述する図5の座標系(x,y,z))を設定(定義)する。また、3次元位置角度センサ11−1が第1の座標系とは異なる独自の第2の座標系(例えば、後述する図5の座標系(sx,sy,sz))を利用するので、座標系設定モジュール31は、第1の座標系と第2の座標系の対応関係(座標系変換関数)も演算する。
【0056】
仮想空間情報変更モジュール32は、上述した入力部11の第1の機能が利用されて入力された情報(以下、第1の機能が利用されて入力された情報を、第2の機能のそれと区別するため、位置角度情報と称する。図3の例では、位置角度情報は、3次元位置角度センサ11−1の測定結果とされる)に基づいて、後述する仮想空間構築モジュール33により構築された3次元仮想空間が有する複数の情報のうちの所定の情報の内容を変更する。なお、以下、このような仮想空間情報変更モジュール32によりその内容が変更される情報を、他の情報と区別するために、変更対象情報と称する。
【0057】
この場合、変更対象情報、その個数、およびその変更内容等は、特に限定されず、主制御部12は、3次元仮想空間が有する複数の情報のうちの任意の個数の任意の情報を変更対象情報とすることが可能である。さらに、主制御部12は、変更対象情報の任意の内容を、任意の変更方法で変更することが可能である。なお、変更対象情報、およびその変更方法の具体例については後述する。
【0058】
仮想空間構築モジュール33は、所定の視点から、座標系設定モジュール31により設定された第1の座標系により定義される3次元仮想空間を見た場合の風景に対応する画像データを生成し、表示制御モジュール34に供給する。なお、以下、このような3次元仮想空間の画像データを生成することを、3次元仮想空間を構築すると称する。換言すると、仮想空間構築モジュール33は、座標系設定モジュール31により定義された第1の座標系を用いて3次元仮想空間を構築する。即ち、第1の座標系が、実空間と仮想空間で共有されることになる。
【0059】
さらに、仮想空間構築モジュール33は、仮想空間情報変更モジュール32により変更対象情報の内容が変更された場合、その変更内容に基づいて3次元仮想空間を再構築し、表示制御モジュール34に供給する。
【0060】
表示制御モジュール34は、仮想空間構築モジュール33により構築された3次元仮想空間に対応する画像を、表示部13に表示させるように制御する。換言すると、表示制御モジュール34は、仮想空間構築モジュール33より供給された画像データを、表示部13のフォーマットの画像信号に変換して、表示部13に供給する。表示部13は、供給された画像信号に対応する画像(3次元仮想空間に対応する画像)を表示する。
【0061】
次に、図4のフローチャートを参照して、情報処理装置1の主制御部12(図3)の3次元表示制御処理例について説明する。
【0062】
なお、この例においては、例えば、情報処理装置1は、上述した図2の構成とされている。即ち、入力部11の第1の機能を有する部分は、所定の方式の3次元位置角度センサ11−1で構成されている。また、この例においては、例えば、3次元位置角度センサ11−1は、自分自身の位置および角度(位置角度情報)を、図5に示されるような3次元位置角度センサ11−1独自の座標系(sx,sy,sz)(以下、センサ座標系(sx,sy,sz)と称する)で主制御部12に入力する。
【0063】
そこで、はじめに図4のステップS1において、座標系設定モジュール31は、3次元位置角度センサ11−1のセンサ情報に基づいて、図5のセンサ座標系(sx,sy,sz)を設定する。即ち、初期設定として、これから利用される3次元位置角度センサ11−1の独自のセンサ座標系(sx,sy,sz)が登録される。
【0064】
次に、ステップS2において、座標系設定モジュール31は、表示部13の情報(大きさ、位置、および角度等)に基づいて、実空間における座標系(x,y,z)(以下、このような座標系を、センサ座標系と区別するため、実空間座標系(x,y,z)と称する)を設定する。
【0065】
この例においては、例えば、表示部13の大きさ、位置、および角度は予め規定されており、その規定された情報が主制御部12に予め入力されているとする(例えば、図1の記憶部26等に予め記憶されているとする)。
【0066】
ただし、上述したように、表示部13の情報は、特に限定されず、例えば、ステップS2の処理の時点で、ユーザが、入力部11(3次元位置角度センサ11−1とは異なるキーボード等の入力装置)を操作して入力した情報そのものが、表示部13の情報として使用されてもよい。或いは、例えば、3次元位置角度センサ11−1とは異なるカメラ等の入力部11より入力され、所定の認識手法によって表示部13を認識した情報が、表示部13の情報として使用されてもよい。
【0067】
また、この例においては、例えば、図5に示される実空間42における実空間座標系(x,y,z)が定義(設定)されるとする。即ち、図5の実空間座標系(x,y,z)では、表示部13の表示面13−1が、X−Y平面とされ、表示面13−1の法線方向が、Z軸と定義されている。また、原点(図5中の0点)は、図5中、表示面13−1の左手前の端点とされている。勿論、原点、X−Y平面の方向、およびz軸の方向のそれぞれは、図5の例に限定されず、また、その座標系の定義方法も上述した例に限定されない。
【0068】
図4に戻り、ステップS3において、座標系設定モジュール31は、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)への座標系変換関数を演算する。この座標系変換関数によって、センサ座標系(sx,sy,sz)と実空間座標系(x,y,z)の対応関係が数式で記述されることになる。
【0069】
具体的には、例えば、この例においては、次の式(1)に示されるような座標系変換関数が演算される。
【0070】
【数1】
【0071】
式(1)は、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)に変換する関数を表している。式(1)において、m11乃至m44は、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)に変換する変換行列の各成分を表している。
【0072】
即ち、この例においては、例えば、座標系設定モジュール31は、最小二乗法等を利用してm11乃至m44の各値を演算することで、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)への座標系変換関数を演算する。
【0073】
なお、ステップS3の処理で演算される座標系変換関数や、その演算方法は、上述した例に限定されず、その他、例えば、人間の脳の機能を模擬したニューラルネットワークなどの非線形変換により、座標系変換関数が演算されてもよい。
【0074】
このように、座標系設定モジュール31は、ステップS1乃至S3の処理を実行することで、表示部13を用いて実空間座標系(x,y,z)を定義することができる。上述したように、この実空間座標系(x,y,z)は、図5の実空間42の座標系としてのみならず、これから構築される3次元仮想空間43の座標系としても利用される。従って、座標系設定モジュール31は、ステップS1乃至S3の処理を実行することで、表示部13を用いて3次元仮想空間43における座標系を定義することができるとも言える。
【0075】
座標系設定モジュール31により実空間座標系(x,y,z)の定義が行われると、図4のステップS4において、仮想空間構築モジュール33が視点を設定する。
【0076】
なお、視点の設定方法は、特に限定されず、例えば、入力部11の第2の機能により上述した視点を設定する情報が入力された場合、その情報に指定されている視点が設定される。ただし、この例においては、例えば、予め登録された視点が設定されるとする。即ち、この例においては、例えば、後述するステップS5の処理で、図5に示されるように、表示部13の表示面13−1が実空間42との界面(境界)41とされて、実空間42と連続した空間となるように3次元仮想空間43が構築される。従って、この例においては、例えば、表示部13の表示面13−1の中心(対角線の交点)を通る表示面13−1の法線方向(実空間座標系(x,y,z)のz軸の負方向)、即ち、ユーザが表示面13−1を見下ろす方向が予め登録されており、その方向が図4のステップS4の処理で視点として設定される。
【0077】
次に、ステップS5において、仮想空間構築モジュール33は、設定された実空間座標系(x,y,z)と視点を利用して、3次元仮想空間を構築する。
【0078】
この例においては、上述したように、図5に示されるような、実空間座標系(x,y,z)により定義された3次元仮想空間43が構築される。換言すると、実空間座標系(x,y,z)で定義される所定の空間を、表示部13の表示面13−1を境界(界面)41として、実空間42と3次元仮想空間43の2つの空間に区分した状態となるように、3次元仮想空間43が構築される。なお、以下、このような実空間42と3次元仮想空間43が連続して形成される空間を、実空間42や3次元仮想空間43の単体の空間と区別するために、実空間42と3次元仮想空間43の連続空間と称する。
【0079】
図4に戻り、ステップS6において、表示制御モジュール34は、ステップS5の処理で仮想空間構築モジュール33により構築された3次元仮想空間43の画像を、初期画像として表示部13に表示させる。
【0080】
いまの場合、上述したように、ユーザが表示面13−1を見下ろす方向を視点として、3次元仮想空間43が構築されているので、表示部13には、ユーザが3次元仮想空間43を見下ろした場合の風景に対応する画像が、初期画像として表示される。
【0081】
具体的には、この例においては、例えば、図6に示されるように、地面51が、表示部13の表示面13−1(即ち、実空間42と3次元仮想空間43の界面(境界)41)と一致するか、または表示面13−1よりも下方(3次元仮想空間43内)に配置されるように、3次元仮想空間43が構築されたとする。
【0082】
この場合、表示部13には、例えば、図7に示されるような、ユーザが地面51を見下ろした場合の風景に対応する画像が、初期画像として表示される。図7の例では、地面51には、池を表す領域(以下、単に池と称する)61が存在している。池61は、図7の例では、2次元的に描画されているが、勿論、実際の池と同様に深さ(実空間座標系(x,y,z)のz軸負方向に対する長さ)を有している。
【0083】
池61には、魚の形状をしたオブジェクト(以下、魚オブジェクトと称する)62−1乃至62−4が存在している。魚オブジェクト62−1乃至62−4のそれぞれは、池61を外れない範囲で自在に移動可能とされている。
【0084】
魚オブジェクト62−1乃至62−4のそれぞれの移動(動き)の表現方法は、特に限定されないが、この例においては、次の通りとされる。即ち、魚オブジェクト62−1乃至62−4のそれぞれは、実空間座標系(x、y、z)のX−Y平面に対して平行移動および回転を行うアニメーションで表現されるとする。また、魚オブジェクト62−1乃至62−4のそれぞれは、実際の魚と同様に、上下方向(実空間座標系(x,y,z)のz軸方向)にも移動可能であり、上下方向の移動については、池61の水面(地面51と同レベル)からの深さに応じて相対的な大きさが変化する(ユーザから見た場合、あたかも大きさが変化して見える)ように表示されるとする。
【0085】
ところで、魚オブジェクト62−1乃至62−4のうちの少なくとも1つが移動することは、3次元仮想空間43の状態が変化することに相当する。従って、実際には、魚オブジェクト62−1乃至62−4のそれぞれが移動する毎に、3次元仮想空間43も再構築されることになる。換言すると、実際には、3次元位置角度センサ11−1からの入力の有無に関わらず、魚オブジェクト62−1乃至62−4のそれぞれの位置が刻々と変化する動画像が表示部13に表示されるように、動画像を構成する複数のフレームのそれぞれに対応する画像データ(所定の1フレームを表す3次元仮想空間に対応する画像データ)が刻々と生成されていく。
【0086】
ただし、この例においては、説明の簡略上、例えば、3次元位置角度センサ11−1からの入力に伴う3次元仮想空間43の状態変化以外の状態変化は起こらないとする。即ち、ユーザが3次元位置角度センサ11−1を操作しない限り、表示部13には静止画像が表示されるとする。従って、いまの場合、後述するように、3次元位置角度センサ11−1が操作されない限り、図7に示される画像が静止画像として表示部13に表示され続ける。
【0087】
さらに、図7の例では、表示面13−1の上方(実空間座標系(x,y,z)のz軸正方向)の無限遠の位置に平行光源が存在するとする。なお、視点と同様に光源についても、任意の設定が可能であり、予め設定された光源が利用されてもよいし、ユーザが、入力部11の第2の機能を利用して入力した光源が利用されてもよい。
【0088】
このような初期画像が表示部13に表示された状態(いまの場合、図7に示される状態)で、3次元位置角度センサ11−1(図5)が実空間42内を移動すると、上述したように、3次元位置角度センサ11−1の動きに応じて、3次元仮想空間43の状態も変化する。このような3次元位置角度センサ11−1の移動(ユーザ操作)に応じて3次元仮想空間43の状態を変化させる処理が、図4のステップS7乃至S11の処理で実行される。
【0089】
即ち、例えば、いま、図7に示される状態で、ユーザが、3次元位置角度センサ11−1を、表示部13の表示面13−1の図中右下端部の近傍であって、表示面13−1の上方(実空間座標系(x,y,z)のz軸正方向)に配置したとする。
【0090】
この場合、ステップS7において、仮想空間情報変更モジュール32が、3次元位置角度センサ11−1からの位置角度情報(いまの場合、センサ座標系(sx,sy,sz)における3次元位置角度センサ11−1自身の位置および角度)を入力する。
【0091】
ステップS8において、仮想空間情報変更モジュール32は、入力された位置角度情報の座標系を、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)に変換する。いまの場合、上述した式(1)が利用されて、位置角度情報の座標系が、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)に変換される。
【0092】
ステップS9において、仮想空間情報変更モジュール32は、実空間座標系(x,y,z)に座標変換された位置角度情報に基づいて、3次元仮想空間の変更対象情報の内容を変更する。
【0093】
上述したように、変更対象情報やその変更内容は、特に限定されないが、この例においては、例えば、変更対象情報は、3次元位置角度センサ11−1の影の状態とされる。なお、上述したように、変更対象情報の数も特に限定されないが、説明の簡略上、いまの時点においては、3次元位置角度センサ11−1の影の状態の1つのみとされる。
【0094】
この場合、仮想空間情報変更モジュール32は、実空間座標系(x,y,z)における3次元位置角度センサ11−1の位置および角度に基づいて、上述した平行光源によって地面51に生成される3次元位置角度センサ11−1の影の状態(その形状や位置等)を演算する。即ち、3次元位置角度センサ11−1が移動される度に、その位置や角度(位置角度情報)が変化するので、影の状態も変更される(再演算される)ことになる。
【0095】
そして、ステップS10において、仮想空間構築モジュール33が、仮想空間情報変更モジュール32によりその内容が変更された変更対象情報(再演算された3次元位置角度センサ11−1の影の状態)に基づいて、3次元仮想空間43を再構築する。
【0096】
ステップS11において、表示制御モジュール34は、ステップS10の処理で仮想空間構築モジュール33により再構築された3次元仮想空間43の画像を表示部13に表示させる。
【0097】
いまの場合、上述したように、3次元位置角度センサ11−1が、表示部13の表示面13−1の右下端部の近傍であって、表示面13−1の上方(実空間座標系(x,y,z)のz軸正方向)に配置されている。従って、表示部13には、図8に示されるような、3次元位置角度センサ11−1の配置状態(位置および角度)に対応する3次元位置角度センサ11−1の影の領域63が表示される。
【0098】
即ち、表示部13の表示面13−1の上方に何も配置されていない状態から、3次元位置角度センサ11−1が配置された状態に変化すると、その変化に応じて、3次元仮想空間43(それに対応する画像)の状態も、図7に示される状態から図8に示される状態に変化する。
【0099】
そして、ステップS12において、表示制御モジュール34は、処理の終了条件が満たされたか否かを判定する。
【0100】
ステップS12における処理の終了条件は、特に限定されず、様々な条件が使用可能である。具体的には、例えば、ユーザからの終了コマンドが入力された場合、若しくは記憶部26(図1)の残量が不足する場合等によるソフトウエアまたはハードウエア上の制約条件が使用可能である。
【0101】
ステップS12において、処理の終了条件が満たされたと判定された場合、その処理は終了される。
【0102】
これに対して、ステップS12において、処理の終了条件がまだ満たされていないと判定された場合、処理はステップS7に戻され、それ以降の処理が繰り返される。
【0103】
即ち、例えば、この状態(図8に示される状態)で、ユーザが、3次元位置角度センサ11−1を池61の上に配置した(表示面13−1と接するように配置した)とする。この場合、ステップS12において、処理の終了条件がまだ満たされていないと判定され、ステップS7乃至S11の処理が再度繰り返される。
【0104】
具体的には、仮想空間情報変更モジュール32が、新たに取得した3次元位置角度センサ11−1の位置角度情報の座標系を実空間座標系(x,y,z)に変換し、それに基づいて、3次元仮想空間43の変更対象情報の内容を変更する。
【0105】
上述した例では、変更対象情報は、3次元位置角度センサ11−1の影の状態のみであったが、ここでは、それとともに、魚オブジェクト62−1乃至62−4のそれぞれの動きの情報(配置位置)も加えられるとする。
【0106】
いまの場合、地面51が表示部13の表示面13−1と一致しているとすると、3次元位置角度センサ11−1の最下部が地面51と同一レベル(池61の水面上)に配置されているので、仮想空間情報変更モジュール32は、3次元位置角度センサ11−1の影の状態を、その配置位置に対応する状態に変更する。
【0107】
具体的には、例えば、3次元位置角度センサ11−1の形状が直方体の場合、ユーザから見て影の領域63が見えない状態に変更される。なお、このような場合、影の領域63がない状態としてもよい。
【0108】
また、この例においては、例えば、3次元位置角度センサ11−1が、魚の模擬餌としてみなされており、仮想空間情報変更モジュール32は、魚オブジェクト62−1乃至62−4のそれぞれの動きの情報を、模擬餌(3次元位置角度センサ11−1)に近寄ってくるような動きの情報に変化させる。即ち、いまの場合、魚オブジェクト62−1乃至62−4のそれぞれの位置が、図8に示される位置から、3次元位置角度センサ11−1の近傍の位置(例えば、後述する図9に示される位置)となるように再設定される。
【0109】
次に、仮想空間構築モジュール33が、内容が変更された変更対象情報(影の領域63が表示されない状態、および、魚オブジェクト62−1乃至62−4のそれぞれが、3次元位置角度センサ11−1の近傍の位置に移動する状態)に基づいて、3次元仮想空間43を再構築する。そして、表示制御モジュール34が、再構築された3次元仮想空間43の画像を、表示部13に表示させる。
【0110】
いまの場合、表示部13には、図9に示されるような、影の領域63が消えるとともに、魚オブジェクト62−1乃至62−4のそれぞれが模擬餌(3次元位置角度センサ11−1)に近寄った状態を表す画像が表示されることになる。
【0111】
このように、本実施の形態においては、表示装置の表示面によって座標系を定義し、定義した座標系を実空間と3次元仮想空間の座標系として共有して利用するようにしたので、ユーザは、表示装置の表示面を実空間と3次元仮想空間のインタフェースとして、3次元仮想空間内の変更対象情報を容易かつ直感的に操作することが可能になる。
【0112】
以上、本発明の実施の形態として、ユーザが、魚の餌に見立てた3次元位置角度センサ11−1を操作することで、情報処理装置1が、3次元仮想空間43内の地面51にうつる影の状態や、池61内にいる魚オブジェクト62−1乃至62−4の位置が変化する画像を、表示部13に表示させる例について説明した。
【0113】
本発明の実施の形態は、上述した例に限定されず、様々な形態をとることが可能である。具体的には、例えば、図10に示されるように、ユーザが3次元位置角度センサ11−1を懐中電灯に見立て、3次元位置角度センサ11−1を操作することで3次元仮想空間43内の地面51に灯りをともすという設定で、情報処理装置1が、3次元位置角度センサ11−1の位置や角度に応じて懐中電灯の灯りの状態が変化する画像を、表示部13に表示させることも可能である。
【0114】
以下、図10と図11を参照して、このような実施の形態の例の詳細について説明する。
【0115】
3次元位置角度センサ11−1には、上述したように、独自のセンサ座標系(sx,sy,sz)が存在する。そこで、この例においては、例えば、3次元位置角度センサ11−1は、図10に示されるように、sz軸の正方向に光を照射する懐中電灯とみなされている。従って、以下、この例の3次元位置角度センサ11−1を、模擬懐中電灯11−1とも称する。
【0116】
また、この例においても、上述した図4のステップS1乃至S6の処理が実行されると、上述した図5に示される仮想空間43が構築される。ただし、図示はしないが、初期画像として、上述した図7に対応する風景と同一の風景であって、夜の時刻の風景に対応する画像(例えば、画像全域に渡って、灰色等の同一色に塗りつぶされた画像)が表示部13の表示面13−1に表示されるとする。即ち、図7の例では、表示面13−1の上方(実空間座標系のz軸正方向)の無限遠の位置に平行光源が存在したが、この例においては、そのような光源(模擬懐中電灯11−1以外の光源)は存在しない。
【0117】
例えば、いま、このような初期画像が表示されている状態で、ユーザが模擬懐中電灯11−1を図10に示される位置および角度に配置したとする。
【0118】
この場合、上述した図4のステップS7乃至S11の処理が実行されて、図10に示されるような、模擬懐中電灯11−1の灯りの領域(白色の領域)71が表示部13に表示される。
【0119】
具体的には、仮想空間情報変更モジュール32(図3)が、取得した模擬懐中電灯11−1の位置角度情報の座標系を実空間座標系(x,y,z)に変換し、それに基づいて、模擬懐中電灯11−1の灯りの状態を変更する。
【0120】
即ち、この例においては、変更対象情報は、模擬懐中電灯11−1の灯りの状態とされている。従って、例えば、仮想空間情報変更モジュール32は、模擬懐中電灯11−1の光の照射方向(センサ座標系(sx,sy,sz)におけるsz座標の正方向)を、実空間座標系(x,y,z)での光の照射方向として演算する。そして、仮想空間情報変更モジュール32は、実空間座標系(x,y,z)における模擬懐中電灯11−1の光の照射方向と3次元仮想空間43の地面51との交差判定を行うことで、地面51に光(模擬懐中電灯11−1の灯り)が当たる状態を演算する。
【0121】
次に、仮想空間構築モジュール33(図3)が、内容が変更された変更対象情報(演算された模擬懐中電灯11−1の灯りが地面51に当たる状態)に基づいて3次元仮想空間43を再構築する。そして、表示制御モジュール34(図3)が、再構築された3次元仮想空間43に対応する画像として、図10に示されるような画像を表示部13に表示させる。
【0122】
このように、この例においては、ユーザが模擬懐中電灯11−1のsz軸方向を変化させるように操作すると、その操作に応じて、表示部13に表示される模擬懐中電灯11−1の灯りの領域71の状態(形状や位置)も変化する。例えば、ユーザが、模擬懐中電灯11−1のsz軸方向と、表示部13の表示面13−1の法線方向が一致するように、模擬懐中電灯11−1を操作すると、今度は、図11に示されるような画像が表示部13に表示される。
【0123】
ところで、この例においては、3次元仮想空間43の状態変化の対象は、3次元仮想空間43のうちの地面51といった1平面(2次元)に限定されている。従って、このような場合、情報処理装置1は、地面51を3次元仮想空間43の一部と捉えずに、2次元平面と捉えることもできる。即ち、当然のことながら、情報処理装置1は、定義された実空間座標系(x,y,z)を用いて、3次元仮想空間43のみならず2次元平面を対象とする画像の表示制御を行うことも可能である。
【0124】
また、例えば、図12に示されるように、ユーザが、3次元位置角度センサ11−1を釣竿に見立て、3次元位置角度センサ11−1を操作することで、魚オブジェクト91−1乃至91−4のうちのいずれかを釣り上げるという設定で、情報処理装置1が、3次元位置角度センサ11−1の位置や角度によって魚オブジェクト91−1乃至91−4のそれぞれが移動する(例えば、釣り上げられる)画像を、表示部13に表示させることも可能である。
【0125】
以下、図12乃至図14を参照して、このような実施の形態の例の詳細について説明する。
【0126】
この例においても、上述した図4のステップS1乃至S6の処理が実行されると、上述した図5に示される3次元仮想空間43が構築される。ただし、上述した例においては、界面(境界)41は地面51とされ、池62のみに水が満たされていた。これに対して、この例においては、例えば、図12に示されるように、界面(境界)41は水面81とされ、3次元仮想空間43全体が水で満たされているとする。また、3次元仮想空間43には、上述したように、魚オブジェクト91−1乃至91−4が存在する。
【0127】
魚オブジェクト91−1乃至91−4の移動(動き)の表現方法は、特に限定されないが、この例においては、上述した図7の魚オブジェクト62−1乃至62−4のそれらと同様とされる。即ち、魚オブジェクト91−1乃至91−4のそれぞれは、実空間座標系(x、y、z)のX−Y平面に対して平行移動および回転を行うアニメーションで表現されるとする。また、魚オブジェクト91−1乃至91−4のそれぞれは、実際の魚と同様に、上下方向(実空間座標系(x,y,z)のz軸方向)にも移動可能であり、上下方向の移動については、水面81からの深さ(実空間座標系(x,y,z)のz軸負方向の長さ)に応じて相対的な大きさが変化する(ユーザから見た場合、あたかも大きさが変化して見える)ように表示されるとする。
【0128】
また、図12の例では、表示面13−1の上方(実空間座標系のz軸正方向)の無限遠の位置に平行光源が存在するとする。
【0129】
例えば、いま、初期画像(図示せず)が表示された状態で(ステップS6の処理が完了した状態で)、図12に示されるように、ユーザが、釣竿に見立てた3次元位置角度センサ11−1(以下、この例の3次元位置角度センサ11−1を、模擬釣竿11−1とも称する)を、仮想釣り針92を垂らすかのように表示部13の表示面13−1の所定の場所の上に置いたとする。
【0130】
この場合、上述した図4のステップS7乃至S11の処理が繰り返し実行されて、例えば、図13または図14に示されるような画像が、表示部13に表示される。
【0131】
具体的には、仮想空間情報変更モジュール32(図3)が、取得した模擬釣竿11−1の位置角度情報の座標系を実空間座標系(x,y,z)に変換し、それに基づいて、魚オブジェクト91−1乃至91−4のそれぞれの動きの情報を変更する。
【0132】
即ち、この例においては、例えば、変更対象情報は、魚オブジェクト91−1乃至91−4のそれぞれの動きの情報とされており、釣り上げられた場合の動きに対応する第1のモードと、釣り上げられていない場合の動きに対応する第2のモードのうちのいずれかに設定される(変更される)とする。
【0133】
この場合、例えば、仮想空間情報変更モジュール32は、模擬釣竿11−1の配置された位置(取得した位置角度情報)によって、仮想釣り針92の仮想空間43における位置を確定する。そして、仮想空間情報変更モジュール32は、確定した仮想釣り針92の位置(その近傍)に魚オブジェクト91−1乃至91−4のうちのいずれかが存在するか否かを判定する。
【0134】
例えば、魚オブジェクト91−1乃至91−4のいずれも仮想釣り針92の位置(その近傍)に存在しないと判定したとすると、仮想空間情報変更モジュール32は、魚オブジェクト91−1乃至91−4の全ての動きのモードを第2のモードに設定する。
【0135】
この場合、仮想空間構築モジュール33(図3)が、変更対象情報(魚オブジェクト91−1乃至91−4の全ての動きが第2のモードの動き)に基づいて3次元仮想空間43を構築する。そして、表示制御モジュール34(図3)が、図13に示されるような画像(3次元仮想空間43を真上から見た風景に対応する画像)を、表示部13に表示させる。
【0136】
即ち、魚オブジェクト91−1乃至91−4のそれぞれは、3次元位置角度センサ11−1の動きとは独立した動き(第2のモードの動き)をする。従って、ユーザが、模擬釣竿11−1を上方向(実空間座標系(x,y,z)のz軸正方向)に動かしても(仮想釣り針92をあたかも引き上げるように動かしても)、その動きに対応する3次元仮想空間43の状態変化は特に起こらず、図13に示されるような画像が表示部13に表示される。
【0137】
これに対して、例えば、魚オブジェクト91−1乃至91−4のうちの魚オブジェクト91−2が仮想釣り針92の位置(その近傍)に存在すると判定したとすると、仮想空間情報変更モジュール32は、魚オブジェクト91−2の動きのモードを第1のモードに設定する(変更する)とともに、それ以外の魚オブジェクト91−1、魚オブジェクト91−3、および魚オブジェクト91−4のそれぞれの動きのモードを第2のモードに設定する。
【0138】
この場合、仮想空間構築モジュール33(図3)が、内容が変更された変更対象情報(魚オブジェクト91−2の動きが第1のモードの動き)に基づいて3次元仮想空間43を再構築する。そして、表示制御モジュール34(図3)が、図14に示されるような画像(3次元仮想空間43を真上から見た風景に対応する画像)を、表示部13に表示させる。
【0139】
即ち、魚オブジェクト91−2は、仮想釣り針92にかかったとみなされ、3次元位置角度センサ11−1の動きに連動する動き(第1のモードの動き)をする。従って、ユーザが、3次元位置角度センサ11−1を上方向に動かすと(仮想釣り針92をあたかも引き上げるように動かすと)、その動きに応じて、魚オブジェクト91−2も徐々に大きく(ユーザから見て相対的に大きく)表示されていく。そして、最終的に、図14に示されるような、魚オブジェクト91−2が水面81に姿を表す画像が表示部13に表示される。
【0140】
なお、情報処理装置1は、水中(3次元仮想空間43)の仮想物体(いまの場合、魚オブジェクト91−2)が仮想釣り針92にかかったというイベントを、ユーザに対して通知する必要がある。イベントをユーザに通知する方法は、特に限定されず、例えば、情報処理装置1は、イベントが発生したことを表す画像を表示部13に表示させることでユーザに通知してもよいし、イベントが発生したことを表す音声を出力する(音声出力部は図示せず)ことでユーザに通知してもよい。
【0141】
以上、本発明の実施の形態が適用される情報処理装置として、図2の構成の情報処理装置1について説明したが、本発明の実施の形態が適用される情報処理装置は、図2の例に限定されず、様々な形態を取ることが可能である。例えば、図15は、本発明の実施の形態が適用される情報処理装置のうちの、図2とは異なる外観の構成を有する情報処理装置の例を表している。
【0142】
即ち、図2の例では、表示部13は、液晶ディスプレイで構成され、その表示面13−1が垂直上方向を向くように配置されていた。これに対して、図15の例では、表示部13は、CRTディスプレイで構成され、その表示面13−1が水平方向を向くように配置されている。なお、その他の構成は、図2の構成と同様の構成とされている。
【0143】
図15の例においても、情報処理装置1は、上述した図4のフローチャートに従って、3次元表示制御処理を実行することができる。
【0144】
即ち、この例においても、上述した図4のステップS1乃至S6の処理が実行されると、例えば、図16に示されるような3次元仮想空間43が構築される。図16の例では、表示部13の表示面13−1がX−Y平面に、表示面13−1の垂線方向がZ軸に、原点(図16中0点)が表示部13の表示面13−1の図16中左下端に、それぞれ設定されることで、実空間座標系(x,y,z)が定義されている。そして、定義された実空間座標系(x,y,z)により3次元仮想空間43が構築されている。換言すると、図16の例においても、表示部13の表示面13−1が界面(境界)とされて、表示部13によって定義された実空間42と、構築された3次元仮想空間43が同一座標系(実空間座標系(x,y,z))で連結する連続空間が形成される。なお、上述した他の例と同様に、実空間座標系(x,y,z)の定義方法や、3次元仮想空間43の構築方法は、図16の例に限定されない。
【0145】
従って、この例においても、上述した他の例と同様に、ユーザは、3次元位置角度センサ11−1を懐中電灯等の所定の機能を有する実物体に見立て、3次元位置角度センサ11−1を操作することで、実物体の実際の機能を実行したときに実空間で実際に起こる状態変化と同様の変化を、3次元仮想空間43内に対しても仮想的に起こすことが可能になる。
【0146】
具体的には、例えば、図10や図11と同様に、図17や図18に示されるように、ユーザが3次元位置角度センサ11−1を懐中電灯に見立て、3次元位置角度センサ11−1(以下、図10や図11と同様に、図17や図18の例の3次元位置角度センサ11−1も、模擬懐中電灯11−1と称する)を操作することで3次元仮想空間43内(仮想の部屋の中)に灯りをともすという設定で、情報処理装置1が、模擬懐中電灯11−1の位置や角度によって模擬懐中電灯11−1の灯りの状態が変化する画像を、表示部13に表示させることも可能である。
【0147】
即ち、ユーザが模擬懐中電灯11−1のsz軸方向を変化させるように操作する毎に、上述した図4のステップS7乃至S11の処理が繰り返し実行されて、表示部13に表示される模擬懐中電灯11−1の灯りの領域101の状態(形状や位置)が変化した画像(例えば、図17や図18に示される画像)が表示される。
【0148】
このように、この例においては、状態変化の対象は、図10や図11に示されるような地面51といった2次元平面に限定されず、3次元仮想空間43全体(3次元の部屋の中)とされている。
【0149】
従って、上述したように、図10や図11に示されるような、地面51(2次元平面)に対する模擬懐中電灯11−1の灯りの領域71が変化していく様子(画像)を表示させることは、2次元平面の画像しか扱えない情報処理装置であっても、地面51を3次元仮想空間43の一部と捉えずに2次元平面と捉えて処理することで可能である。
【0150】
しかしながら、図17や図18に示されるような、3次元仮想空間43全体(3次元の部屋)に対する模擬懐中電灯11−1の灯りの領域101が変化していく様子(画像)を表示させることは、2次元平面の画像を扱うことが前提とされた情報処理装置では不可能であり、上述した情報処理装置1のような本発明の実施の形態が適用される装置を利用することではじめて可能になる。
【0151】
ところで、上述したように、表示部13のみならず第1の機能を有する入力部11も、様々な実施の形態を取ることが可能である。
【0152】
例えば、図2の例では、3次元位置角度センサ11−1が出力する位置角度情報の座標系(センサ座標系(sx,sy,sz))と、表示部13に基づいて定義される実空間31の座標系(実空間座標系(x,y,z))は異なっているため、情報処理装置1は、上述した図4のステップS1、ステップS3、およびS8の処理のような、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)への変換に伴う処理を実行する。
【0153】
これにより、上述したように、独自のセンサ座標系(sx,sy,sz)を有する3次元位置角度センサ11−1を操作する場合であっても、ユーザは、センサ座標系(sx,sy,sz)を意識することなく、表示部13を指標として(実空間座標系(x,y,z)を利用して)操作することが可能になる。
【0154】
一方、第1の機能を有する入力部11として、それが出力する位置角度情報の座標系(センサ座標系(sx,sy,sz))が、実空間31の座標系(実空間座標系(x,y,z))と同一の座標系となるような入力装置を利用した場合には、センサ座標系(sx,sy,sz)から実空間座標系(x,y,z)への変換に伴う処理を省略することができる。
【0155】
或いは、例えば、図19に示されるように、3次元位置角度センサとは独立した任意の実物体111を利用して、カメラ11−2等により実物体111の位置および角度を、カメラ11−2独自の座標系(図示はしないが、実空間座標系(x,y,z)とは異なる座標系)で入力してもよい。即ち、図19の例では、カメラ11−2が、第1の機能を有する入力部11とされており、主制御部12が、カメラ11−2により撮影された実物体111の画像に対して所定の画像処理を施すことで、実空間における実物体111の位置および角度を測定する。
【0156】
なお、この場合、実物体111の形状が主制御部12に予め入力されている必要がある。
【0157】
また、実物体111として、任意の実物体の利用が可能であるが、実物体111の位置および角度が、上述した変更対象情報を変更させる指令に相当する(3次元仮想空間内に所定の作用を与える)ことを考慮すると、ユーザがそれを見て指令(変更対象情報に対する作用)を直感的に連想できる実物体が好適である。即ち、実物体111として、3次元仮想空間と実空間の連続空間(例えば、上述した図5に示されるような、実空間座標系(x,y,z)で形成される実空間42と3次元仮想空間43の連続空間)に含まれる情報であって、3次元仮想空間内の変更対象情報の内容を変更させることが可能な情報(以下、このような情報を、変更対象情報と区別するために、変化起因情報と称する)の所定の特徴が表現された実物体が利用されるとよい。
【0158】
具体的には、例えば、図19の例では、変化起因情報が人間とされ、変更対象情報が、人間が歩行した場合における景色(図示はしないが、例えば、道路や、その道路の周囲環境)とされているので、実物体111として、人間の形状が模擬された人形が用いられている。勿論、人間の特徴は、その形状以外にも、色(例えば、肌の色や服装の色)や、大きさ(3次元仮想空間内の周囲の仮想物体に対する相対的な大きさ)といった様々な特徴を有しており、実物体111として、これら様々な特徴のうちのいずれの特徴が表現されたものが利用されてもよい。
【0159】
換言すると、実物体111は、単体では情報処理装置1に対して特定の機能を有していないが、変化起因情報の所定の特徴を表現していることを考慮すると、ユーザに対して変化起因情報、または変更対象情報を直感的に連想させる機能を有しているとも言える。また、ユーザが実物体111の実空間における位置や角度を変えることで、変更対象情報が変更されるので、カメラ11−2を補助的な入力装置とみなし、実物体111を実質上の入力装置(上述した3次元位置角度センサ11−1の代わりとなる装置)とみなすことも可能である。即ち、第1の機能を有する入力部11は、カメラ11−2のみではなく、実物体111とカメラ11−2をあわせた入力装置であるとも言える。
【0160】
このような観点に立つと、上述した図7乃至図9の例、図10と図11の例、図12乃至図14の例、および図17と図18の例のいずれの例においても、第1の機能を有する入力部11として、実物体111とカメラ11−2からなる入力装置を利用することが可能である。
【0161】
この場合、実物体111は、上述したように特に限定されないが、例えば、次のようなものが好適である。
【0162】
即ち、図7乃至図9の例では、変化起因情報が魚の餌とされ、また、変更対象情報が魚の餌の影の状態、および魚オブジェクトの動き(魚の餌を食べるための動き)とされているので、例えば、実物体111として、魚の餌の形状を有するものが利用されるとよい。
【0163】
図10と図11の例、および図17と図18の例では、変化起因情報が懐中電灯とされ、また、変更対象情報が懐中電灯の灯りの状態とされているので、例えば、実物体111として、懐中電灯の形状を有するものが利用されるとよい。
【0164】
図12乃至図14の例では、変化起因情報が、釣り針を有する釣竿とされ、変更対象情報が、魚オブジェクトの動き(仮想釣り針にかかった場合の第1のモードと、かからない場合の第2のモードのうちのいずれかのモード)とされているので、例えば、実物体111として、釣竿の形状を有するものが利用されるとよい。
【0165】
これにより、いずれの例の場合であっても、ユーザは、実物体111を見ることにより、これから起こる3次元仮想空間の状態変化をさらに容易かつ直感的に認識することが可能になる。
【0166】
以上、説明したように、本発明の実施の形態の情報処理装置は、表示部を指標として実空間における第1の座標系(例えば、実空間座標系(x,y,z))を定義し、それを実空間のみならず3次元仮想空間の座標系としても利用する。その結果、例えば、実空間が表示部の表示面の奥に延長された空間として、3次元仮想空間が構築される。これにより、ユーザは、表示部の表示面を実空間と3次元仮想空間のインタフェースとして、3次元仮想空間と直接的なインタラクションができ、容易かつ直感的に3次元仮想空間内の情報を取り扱うことが可能になる。
【0167】
換言すると、上述したように、従来、ユーザは、3次元仮想空間の座標系とは関連のない入力装置独自の第2の座標系(例えば、入力装置が3次元位置角度センサである場合、センサ座標系(sx,sy,sz))に基づいて、入力装置の操作を行っていたため、直感的な操作ができず、3次元仮想空間内の情報の操作が非常に困難であった。
【0168】
これに対して、本実施の形態においては表示部の表示面が界面(境界)とされて、第1の座標系で定義される実空間と3次元仮想空間の連続空間が形成される。従って、ユーザは、第1の座標系に基いて、連続空間(そのうちの実空間側)に存在する入力装置の操作を行うことができるので(入力装置自体は、従来と同様に、独自の第2の座標系を利用するが、ユーザは、第2の座標系を意識することなく入力装置の操作を行うことができるので)、容易かつ直感的に3次元仮想空間内の情報を操作することが可能になる。
【0169】
なお、上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【0170】
この記録媒体は、図1に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini−Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブル記録媒体(パッケージメディア)29により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM22や、記憶部26に含まれるハードディスクなどで構成される。
【0171】
また、上述した図3の座標系設定モジュール31、仮想空間情報変更モジュール32、仮想空間構築モジュール33、および表示制御モジュール34のそれぞれは、対応する機能を果たすものであれば、その形態は限定されない。即ち、ハードウエアなどでモジュールが構成されてもよい。この場合、例えば、製造者等は、座標系設定モジュール31、仮想空間情報変更モジュール32、仮想空間構築モジュール33、および表示制御モジュール34のそれぞれに対応する装置(ハードウエア)を製作し、それらを図3に示されるようにそれぞれ接続することで、本発明が適用される情報処理装置1を、図1の構成とは異なる構成で実現することも可能である。
【0172】
さらに、モジュールは、全体として上述した図4のフローチャート等に従って3次元表示制御処理の実行が可能なものであれば、図3の例に限定されず、様々なモジュールに分割可能であるし、或いは、モジュール構成とせずに、単なる1アルゴリズムを有するソフトウエアプログラムとして扱ってもよい。
【0173】
さらにまた、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0174】
【発明の効果】
以上のごとく、本発明によれば、3次元仮想空間を構築し、構築した3次元仮想空間に対応する画像を表示させることができる。特に、ユーザに対して容易かつ直感的な操作で3次元仮想空間内の所定の情報を操作させることができる。
【図面の簡単な説明】
【図1】本実施の形態が適用される情報処理装置のハードウエアの構成例を示すブロック図である。
【図2】図1の情報処理装置の外観の構成例を示す図である。
【図3】図1の情報処理装置のソフトウエアの構成例を示すブロック図である。
【図4】図3の情報処理装置の3次元表示制御処理例を説明するフローチャートである。
【図5】図3の情報処理装置が表示部を指標として定義した実空間の座標系、並びに、実空間の座標系により構築される実空間および3次元仮想空間の構成例を示す図である。
【図6】図5の3次元仮想空間として、地面を含む空間が構築された例を示す図である。
【図7】図6の3次元仮想空間の表示例を説明する図である。
【図8】ユーザが表示部を指標として入力部を配置した場合における、図7の状態から状態が変化した3次元仮想空間の表示例を説明する図である。
【図9】ユーザが表示部を指標として入力部を図8とは異なる位置に配置した場合における、図7の状態から状態が変化した3次元仮想空間の表示例を説明する図である。
【図10】図6の3次元仮想空間の他の表示例を説明する図である。
【図11】ユーザが表示部を指標として入力部を図10とは異なる位置に配置した場合における、図10の状態から状態が変化した3次元仮想空間の表示例を説明する図である。
【図12】図5の3次元仮想空間として、表示部の表示面が水面とされ、水が満たされた空間が構築された例を示す図である。
【図13】図12の3次元仮想空間の表示例を説明する図である。
【図14】ユーザが表示部を指標として入力部を配置した場合における、図13の状態から状態が変化した3次元仮想空間の表示例を説明する図である。
【図15】図1の情報処理装置の外観の他の構成例を示す図である。
【図16】図15の情報処理装置が表示部を指標として定義した実空間の座標系、並びに、実空間の座標系により構築される実空間および3次元仮想空間の構成例を示す図である。
【図17】図16の3次元仮想空間の表示例を説明する図である。
【図18】ユーザが表示部を指標として入力部を配置した場合における、図17の状態から状態が変化した3次元仮想空間の表示例を説明する図である。
【図19】図1の情報処理装置の外観のさらに他の構成例を示す図である。
【符号の説明】
1 情報処理装置, 11 入力部, 11−1 3次元位置角度センサ, 11−2 カメラ, 12 主制御部, 13 表示部, 13−1 表示面,21 CPU, 31 座標系設定モジュール, 32 仮想空間情報変更モジュール, 33 仮想空間構築モジュール, 34 表示制御モジュール, 41 界面(境界), 42 実空間42 3次元仮想空間, 51 地面, 62−1乃至62−4 魚オブジェクト, 63 3次元位置角度センサの影の領域, 71 懐中電灯の灯りの領域, 81 水面, 91−1乃至91−4 魚オブジェクト, 92 仮想釣り針, 101 懐中電灯の灯りの領域, 111 実物体(人形)
Claims (8)
- 3次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する情報処理装置において、
予め入力された前記表示装置の所定の情報に基づいて、前記表示装置を含む実空間における第1の座標系を設定する設定手段と、
前記設定手段により設定された前記第1の座標系と同一の座標系を用いて前記3次元仮想空間を構築する構築手段と、
前記構築手段により構築された前記3次元仮想空間に対応する画像を、前記表示装置に表示させるように制御する表示制御手段と
を備えることを特徴とする情報処理装置。 - 前記構築手段は、前記表示装置の表示面を前記3次元仮想空間と前記実空間の界面として、前記3次元仮想空間と前記実空間が連続した空間となるように前記3次元仮想空間を構築する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記構築手段により構築された前記3次元仮想空間の状態を変化させる指令を入力する入力手段と、
前記入力手段より入力された前記指令に基づいて、前記構築手段により構築された前記3次元仮想空間が有する複数の情報のうちの第1の情報の内容を変更する変更手段と
をさらに備え、
前記構築手段は、さらに、前記変更手段により変更された前記第1の情報の内容に基づいて前記3次元仮想空間を再構築し、
前記表示制御手段は、さらに、前記構築手段により再構築された前記3次元仮想空間に対応する画像を、前記表示装置に表示させるように制御する
ことを特徴とする請求項2に記載の情報処理装置。 - 前記入力手段は、所定の実物体が前記実空間内に配置された場合、前記実物体の前記実空間における位置および角度を前記第1の座標系とは異なる第2の座標系で測定し、その測定結果を前記指令として入力し、
前記変更手段は、前記入力手段より入力された前記実物体の前記位置および前記角度の座標系を前記第2の座標系から前記第1の座標系に変換し、前記第1の座標系に変換した前記実物体の前記位置および前記角度に基づいて前記第1の情報の内容を変更する
ことを特徴とする請求項3に記載の情報処理装置。 - 前記入力手段は、前記実物体として、前記入力手段自身のうちの少なくとも一部分を利用する
ことを特徴とする請求項4に記載の情報処理装置。 - 前記入力手段は、前記実物体として、前記3次元仮想空間と前記実空間が連続した前記空間に含まれる情報であって、前記第1の情報の内容を変化させることが可能な第2の情報の所定の特徴が表現された実物体を利用する
ことを特徴とする請求項4に記載の情報処理装置。 - 3次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する情報処理方法において、
予め入力された前記表示装置の所定の情報に基づいて、前記表示装置を含む実空間における座標系を設定する設定ステップと、
前記設定ステップにより設定された前記座標系と同一の座標系を利用して3次元仮想空間を構築する構築ステップと、
前記構築ステップの処理により構築された前記3次元仮想空間に対応する画像を、前記表示装置に表示させるように制御する表示制御ステップと
を含むことを特徴とする情報処理方法。 - 3次元仮想空間に対応する画像を所定の表示装置に表示させるように制御する処理を、コンピュータに実行させるプログラムであって、
予め入力された前記表示装置の所定の情報に基づいて、前記表示装置を含む実空間における座標系を設定する設定ステップと、
前記設定ステップにより設定された前記座標系と同一の座標系を利用して3次元仮想空間を構築する構築ステップと、
前記構築ステップの処理により構築された前記3次元仮想空間に対応する画像を、前記表示装置に表示させるように制御する表示制御ステップと
を含むことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003002783A JP2004213583A (ja) | 2003-01-09 | 2003-01-09 | 情報処理装置および方法、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003002783A JP2004213583A (ja) | 2003-01-09 | 2003-01-09 | 情報処理装置および方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004213583A true JP2004213583A (ja) | 2004-07-29 |
Family
ID=32820419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003002783A Withdrawn JP2004213583A (ja) | 2003-01-09 | 2003-01-09 | 情報処理装置および方法、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004213583A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015531947A (ja) * | 2012-09-14 | 2015-11-05 | ワイドヴァンテージ インク | 磁場センサを用いて使用者入力を判断する電気装置 |
JP2016006627A (ja) * | 2014-05-28 | 2016-01-14 | ソニー株式会社 | 画像処理装置と画像処理方法 |
JP2017138907A (ja) * | 2016-02-05 | 2017-08-10 | 凸版印刷株式会社 | 三次元仮想空間提示システム、三次元仮想空間提示方法及びプログラム |
-
2003
- 2003-01-09 JP JP2003002783A patent/JP2004213583A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015531947A (ja) * | 2012-09-14 | 2015-11-05 | ワイドヴァンテージ インク | 磁場センサを用いて使用者入力を判断する電気装置 |
JP2016006627A (ja) * | 2014-05-28 | 2016-01-14 | ソニー株式会社 | 画像処理装置と画像処理方法 |
US10204404B2 (en) | 2014-05-28 | 2019-02-12 | Sony Corporation | Image processing device and image processing method |
JP2017138907A (ja) * | 2016-02-05 | 2017-08-10 | 凸版印刷株式会社 | 三次元仮想空間提示システム、三次元仮想空間提示方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3729381B1 (en) | Viewpoint dependent brick selection for fast volumetric reconstruction | |
US8154544B1 (en) | User specified contact deformations for computer graphics | |
JP5639646B2 (ja) | スケルトン・データーのゲーム・アバターへのリアル・タイム・リターゲティング | |
JP2022533207A (ja) | 稠密3d再構築データのキャッシュおよび更新 | |
JP2004199496A (ja) | 情報処理装置および方法、並びにプログラム | |
US9754398B1 (en) | Animation curve reduction for mobile application user interface objects | |
US20190026935A1 (en) | Method and system for providing virtual reality experience based on ultrasound data | |
US11989900B2 (en) | Object recognition neural network for amodal center prediction | |
WO2017017790A1 (ja) | 画像生成装置、画像生成システム及び画像生成方法 | |
CN111643899A (zh) | 一种虚拟物品显示方法、装置、电子设备和存储介质 | |
JP2022537817A (ja) | 動的オクルージョンのための高速の手のメッシュ化 | |
JP2022543593A (ja) | 深度情報を用いた高速3d再構築 | |
JP2001126085A (ja) | 画像生成システム、画像表示システム、画像生成プログラムを記録したコンピュータ読み取り可能な記録媒体および画像生成方法 | |
CN113129362B (zh) | 一种三维坐标数据的获取方法及装置 | |
WO2022026603A1 (en) | Object recognition neural network training using multiple data sources | |
CN109407824A (zh) | 人体模型的同步运动方法与装置 | |
JP2023171298A (ja) | 拡張現実及び複合現実のための空間とコンテンツの適合 | |
JP2004213583A (ja) | 情報処理装置および方法、並びにプログラム | |
JP2023527438A (ja) | リアルタイム深度マップを用いたジオメトリ認識拡張現実効果 | |
CN115035231A (zh) | 阴影烘焙方法、装置、电子设备和存储介质 | |
Williams | A method for viewing and interacting with medical volumes in virtual reality | |
Garcia et al. | Modifying a game interface to take advantage of advanced I/O devices | |
US12002165B1 (en) | Light probe placement for displaying objects in 3D environments on electronic devices | |
CN109716395A (zh) | 在虚拟现实中保持对象稳定性 | |
US12026835B2 (en) | Computer-implemented methods for simulating deformation in real-world scene, electronic devices, and computer-readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060404 |