【手続補正書】
【提出日】平成23年11月16日(2011.11.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
単数または複数の仮想物体が表示される仮想物理空間を表示手段に表示する仮想空間表示手段と、
現実空間の現実物体を撮像した画像から現実物体を切り出す画像認識手段と、
切り出した前記現実物体を前記仮想物理空間内に重ねて表示するとともに、前記現実空間内で操作された前記現実物体の動きを、前記仮想物理空間内の前記現実物体の動きで表す重畳表示手段と、
前記仮想物理空間内の前記現実物体によって、前記仮想物理空間内の前記仮想物体が受ける仮想的な力を演算し、演算した前記仮想的な力に基づいて、前記仮想物理空間内の前記仮想物体を前記仮想物理空間内にて物理挙動させる物理挙動演算手段と、
を備えるコンピュータであって、
前記物理挙動演算手段は、
前記仮想物体のそれぞれに、単数または複数のブロックに分割されて各ブロックのそれぞれに、それぞれ異なる力の方向と大きさを示すベクトルを割付けたテンプレートを、仮想的に重畳させる仮想テンプレート重畳手段と、
前記仮想物理空間内の前記現実物体と、前記テンプレートの各ブロックとにおいて、重なったブロックである重畳ブロックを検出する重畳ブロック検出手段と、
前記重畳ブロックにおける各ブロックに割付けられている各ベクトルと、前記仮想物理空間内に予め設定されているベクトルである物理空間ベクトルと、を合成した合成ベクトルに基づいて、前記仮想物理空間内の前記仮想物体を、前記仮想物理空間内の前記現実物体によって、前記仮想物理空間内にて物理挙動させるベクトル演算手段と、
を備えるコンピュータ。
【請求項２】
前記物理挙動演算手段は、前記ブロックに割付けるベクトルの方向と大きさの少なくとも一方、または前記物理空間ベクトルの方向と大きさの少なくとも一方を変更することで、前記仮想物理空間内における前記仮想物体の物理挙動を変更可能である、請求項１に記載のコンピュータ。
【請求項３】
前記仮想物体に重畳されたテンプレートは複数のブロックにて構成されており、
更に、
各ブロックに割付けられたベクトルの方向を前記テンプレートの内側に向かう方向に設定し、且つ前記テンプレートの四隅の近傍のブロックのベクトルの大きさを周囲のブロックのベクトルの大きさよりも小さく設定することで、前記仮想物体の形状を丸形状として表現することが可能である、
あるいは、前記テンプレートの外周部のブロックのベクトルの方向を前記テンプレートの内側から外側に向かう方向に設定し、且つ外周部のブロックに対して他のブロックのベクトルの方向を前記テンプレートの内側に向かう方向に設定することで、前記仮想物体を、表面張力を有する物体として表現することが可能である、
あるいは、表面張力を有する物体として表現した仮想物体を複数集めることで、粘性を有する流体を表現することが可能である、
あるいは、各ブロックに割付けられたベクトルの方向を前記テンプレートの内側に向かう方向に設定し、且つ前記テンプレートにおける中央近傍のブロックのベクトルの大きさを、周囲のブロックのベクトルの大きさよりも大きく設定することで、前記中央近傍のブロックに前記仮想物理空間内の前記現実物体が重畳した場合における前記仮想物体の物理挙動の速度を急激に大きくする表現が可能である、
あるいは、各ブロックに割付けられたベクトルの方向を前記テンプレート内に設定された集中位置の側に向かう方向に設定し、且つ前記集中位置を前記テンプレートに対応する仮想物体の重心位置からずれた位置に設定することで、重心位置の偏った仮想物体の物理挙動を表現することが可能である、
あるいは、各ブロックには、回転方向と力の大きさを示すベクトルが割付けられており、回転方向についてのベクトルの大きさを前記テンプレートの中央から離れるほど大きいベクトルに設定することで、前記仮想物理空間の表示面内で回転する仮想物体の物理挙動を表現することが可能である、
あるいは、各ブロックには、回転方向と力の大きさを示すベクトルが割付けられており、割付けられた回転方向は前記テンプレート内に設定された集中位置を通る所定の境界線を挟んで対称となる位置のブロックでは互いに反対方向となるように設定されており、前記仮想物理空間内における前記テンプレートに対応する仮想物体の状態に応じて、前記集中位置を前記テンプレートに対応する仮想物体の重心位置からずれた位置に設定することで、前記仮想物理空間内における前記仮想物体の状態に応じた回転体を表現することが可能である、
請求項２に記載のコンピュータ。
【請求項４】
前記物理挙動演算手段は、
複数の前記仮想物体を、前記仮想物理空間内において長さが変わらない仮想ジョイントにて連結することで、複数の仮想物体が連結された仮想連結剛体を構成させる仮想連結剛体構成手段と、
前記仮想連結剛体を構成している任意の前記仮想物体のテンプレートにおいて、前記仮想物理空間内の前記現実物体と重畳したブロックを有する重畳テンプレート対して、前記重畳ブロック検出手段及び前記ベクトル演算手段を用いて前記重畳テンプレートに対応する仮想物体を物理挙動させるとともに、前記重畳テンプレートに対応する仮想物体に前記仮想ジョイントにて連結されている連結仮想物体に対して、前記重畳テンプレートに対応する仮想物体の物理挙動と前記仮想ジョイントに基づいた連動ベクトルと前記物理空間ベクトルとを合成して、前記連結仮想物体を物理挙動させる連結仮想物体連動手段と、
を更に備える請求項１〜３の何れか一項に記載のコンピュータ。
【請求項５】
前記物理挙動演算手段は、
複数の前記仮想物体を、前記仮想物理空間内にて受けた力によって伸縮する仮想ダンパにて連結することで、複数の仮想物体が連結された仮想弾性体を構成させる仮想弾性体構成手段と、
前記仮想弾性体を構成している任意の前記仮想物体のテンプレートにおいて、前記仮想物理空間内の前記現実物体と重畳したブロックを有する重畳テンプレート対して、前記重畳ブロック検出手段及び前記ベクトル演算手段を用いて前記重畳テンプレートに対応する仮想物体を物理挙動させるとともに、前記重畳テンプレートに対応する仮想物体に前記仮想ダンパにて連結されている連結仮想物体に対して、前記重畳テンプレートに対応する仮想物体の物理挙動と前記仮想ダンパの伸縮に基づいた連動ベクトルと前記物理空間ベクトルとを合成して、前記連結仮想物体を物理挙動させる仮想弾性体連動手段と、
を更に備える請求項１〜３の何れか一項に記載のコンピュータ。
【請求項６】
前記仮想弾性体における各仮想物体の間隙に前記仮想物理空間内の前記現実物体を突き刺す、あるいは前記間隙を広げながら前記仮想物理空間内の前記現実物体を突き刺した後に一部の仮想物体を前記仮想物理空間内の前記現実物体の一部にて引っ掛ける表現が可能であり、
突き刺した前記仮想物理空間内の前記現実物体、あるいは引っ掛けた前記仮想物理空間内の前記現実物体、の動作に前記仮想弾性体の動作を追従させる表現が可能である、
請求項５に記載のコンピュータ。
【請求項７】
前記重畳ブロック検出手段は、まずテンプレートにおけるブロックの外周部を走査させ、走査させた外周部に前記仮想物理空間内の前記現実物体と重畳するブロックが存在しない場合は、前記外周部の内側のブロックの重畳の検出を打ち切って処理を軽減させる、請求項１〜６の何れか一項に記載のコンピュータ。
【請求項８】
前記重畳ブロック検出手段は、前記仮想物理空間内の前記現実物体と重畳するブロックの面積が所定面積以上であった場合は、重畳ブロックの面積に対するテンプレート面積の比率に応じた力の大きさの上方向の位置ベクトルを前記合成ベクトルに加える、請求項１〜７の何れか一項に記載のコンピュータ。
【請求項９】
前記仮想物体に対して、ブロックの分割数、割付けられたベクトル、の少なくとも一方が異なる複数のテンプレートが用意されており、
前記重畳ブロック検出手段は、前記仮想物理空間内の前記仮想物体の状態に応じて、テンプレートを切り替える、
請求項１〜８の何れか一項に記載のコンピュータ。
【請求項１０】
第１の撮像手段が接続された第１のコンピュータと、第２の撮像手段が接続された第２のコンピュータと、第３のコンピュータとを含むシステムであって、
第１のコンピュータは、
第１の撮像手段を用いて撮像した画像から現実空間の現実物体を切り出す画像認識手段と、前記現実物体を第１現実物体として第３のコンピュータに送信する第１送信手段を備え、
第２のコンピュータは、
第２の撮像手段を用いて撮像した画像から現実空間の現実物体を切り出す画像認識手段と、前記現実物体を第２現実物体として第３のコンピュータに送信する第２送信手段を備え、
第３のコンピュータは、
第３のコンピュータに設定されている仮想物理空間に、受信した第１現実物体と第２現実物体とを重畳させた共有仮想物理空間を作成する共有仮想物理空間作成手段と、
作成した共有仮想物理空間内の前記第１現実物体と前記第２現実物体によって、前記共有仮想物理空間内の仮想物体を、前記共有仮想物理空間内にて物理挙動させる共有物理挙動演算手段と、
前記共有仮想物理空間を前記第１のコンピュータと前記第２のコンピュータに送信する第３送信手段と、を備え、
前記共有物理挙動演算手段は、
前記仮想物体のそれぞれに、単数または複数のブロックに分割されて各ブロックのそれぞれに、それぞれ異なる力の方向と大きさを示すベクトルを割付けたテンプレートを、仮想的に重畳させる仮想テンプレート重畳手段と、
前記仮想物理空間内の前記第１現実物体及び前記第２現実物体と、前記テンプレートの各ブロックとにおいて、重なったブロックである重畳ブロックを検出する重畳ブロック検出手段と、
前記重畳ブロックにおける各ブロックに割付けられている各ベクトルと、前記仮想物理空間内に予め設定されているベクトルである物理空間ベクトルと、を合成した合成ベクトルに基づいて、前記仮想物理空間内の前記仮想物体を、前記仮想物理空間内の前記第１現実物体及び前記第２現実物体によって、前記仮想物理空間内にて物理挙動させるベクトル演算手段と、
を備え、
第１のコンピュータは、
受信した共有仮想物理空間を第１表示手段に表示する第１共有仮想物理空間表示手段を備え、
第２のコンピュータは、
受信した共有仮想物理空間を第２表示手段に表示する第２共有仮想物理空間表示手段を備える、
システム。
【請求項１１】
コンピュータによるシミュレーション方法であって、
単数または複数の仮想物体が表示される仮想物理空間を表示手段に表示する仮想空間表示ステップと、
現実空間の現実物体を撮像した画像から現実物体を切り出す画像認識ステップと、
切り出した前記現実物体を前記仮想物理空間内に重ねて表示するとともに、前記現実空間内で操作された前記現実物体の動きを、前記仮想物理空間内の前記現実物体の動きで表す重畳表示ステップと、
前記仮想物理空間内の前記現実物体によって、前記仮想物理空間内の前記仮想物体が受ける仮想的な力を演算し、演算した前記仮想的な力に基づいて、前記仮想物理空間内の前記仮想物体を前記仮想物理空間内にて物理挙動させる物理挙動演算ステップと、
を含み、
前記物理挙動演算ステップは、
前記仮想物体のそれぞれに、単数または複数のブロックに分割されて各ブロックのそれぞれに、それぞれ異なる力の方向と大きさを示すベクトルを割付けたテンプレートを、仮想的に重畳させる仮想テンプレート重畳ステップと、
前記仮想物理空間内の前記現実物体と、前記テンプレートの各ブロックとにおいて、重なったブロックである重畳ブロックを検出する重畳ブロック検出ステップと、
前記重畳ブロックにおける各ブロックに割付けられている各ベクトルと、前記仮想物理空間内に予め設定されているベクトルである物理空間ベクトルと、を合成した合成ベクトルに基づいて、前記仮想物理空間内の前記仮想物体を、前記仮想物理空間内の前記現実物体によって、前記仮想物理空間内にて物理挙動させるベクトル演算ステップと、
を含むシミュレーション方法。
【請求項１２】
コンピュータを、
単数または複数の仮想物体が表示される仮想物理空間を表示手段に表示する仮想空間表示手段、
現実空間の現実物体を撮像した画像から現実物体を切り出す画像認識手段、
切り出した前記現実物体を前記仮想物理空間内に重ねて表示するとともに、前記現実空間内で操作された前記現実物体の動きを、前記仮想物理空間内の前記現実物体の動きで表す重畳表示手段、
前記仮想物理空間内の前記現実物体によって、前記仮想物理空間内の前記仮想物体が受ける仮想的な力を演算し、演算した前記仮想的な力に基づいて、前記仮想物理空間内の前記仮想物体を前記仮想物理空間内にて物理挙動させる物理挙動演算手段、
として機能させるためのシミュレーションプログラムであって、
前記コンピュータを、
前記物理挙動演算手段にて、
前記仮想物体のそれぞれに、単数または複数のブロックに分割されて各ブロックのそれぞれに、それぞれ異なる力の方向と大きさを示すベクトルを割付けたテンプレートを、仮想的に重畳させる仮想テンプレート重畳手段、
前記仮想物理空間内の前記現実物体と、前記テンプレートの各ブロックとにおいて、重なったブロックである重畳ブロックを検出する重畳ブロック検出手段、
前記重畳ブロックにおける各ブロックに割付けられている各ベクトルと、前記仮想物理空間内に予め設定されているベクトルである物理空間ベクトルと、を合成した合成ベクトルに基づいて、前記仮想物理空間内の前記仮想物体を、前記仮想物理空間内の前記現実物体によって、前記仮想物理空間内にて物理挙動させるベクトル演算手段、
として機能させるためのシミュレーションプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正の内容】
【発明の名称】コンピュータ、システム、シミュレーション方法及びシミュレーションプログラム
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、コンピュータ、システム、シミュレーション方法及びシミュレーションプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
カメラ等から現実の物体の画像（例えば利用者の手の画像）を取り込んで仮想空間内の仮想物体を操作し、更に、操作された仮想物体に物理挙動をさせようとすると、以下に示すように種々の問題が発生する。
取り込んだ画像の運動方向や速度を解析し、更に、取り込んだ画像が仮想物体に物理的な力を与える位置や、与えた力の方向と大きさの解析すると、解析の処理負荷は非常に重く、リアルタイム性に欠ける可能性がある。
更に、上記の力が与えられた仮想物体に、種々の物理特性（粘性体や回転体、無重力空間等）を加えて物理挙動をさせようとしたり、複数の仮想物体を同時に物理挙動させようとしたりすると、更に処理負荷が重くなり、リアルタイム性が大きく欠ける可能性がある。
また、特許文献１に記載された従来技術は、利用者の腕の動きにより直感的な操作は可能であるが、カメラ等から入力した画像による腕の単純な位置関係からおおまかな操作を行うだけであるので、キャラクタの反応としての現実感は低く、複雑な操作を行うことができない。
また、特許文献２に記載された従来技術では、切り出した画像と背景画像との合成にとどまっており、切り出した画像で仮想物体を操作して物理挙動させることはできない。
また、特許文献３に記載された従来技術では、部屋内の画像（背景画像に相当）に合わせて家具の画像（切り出し画像に相当）を変形及び拡大または縮小して合成するのみであり、切り出した画像で仮想物体を操作して物理挙動させることはできない。また従来の、画像認識を利用したプログラムでは、カメラ等から入力した画像（利用者＋背景等）から利用者の画像を切り出して仮想物体を操作するゲーム等も存在し、操作を直感的に行うことはできるが、操作された仮想物体の物理挙動のリアリティが乏しい。
従来では、画像認識を利用してカメラ等にて撮像した画像から利用者の腕等を切り出して直感的に仮想物体を操作可能であり、且つ物理シミュレーションによって仮想物体にリアリティある物理挙動をさせるプログラムは開示されていない。
本発明は、このような点に鑑みて創案されたものであり、カメラ等から取り込んだ現実物体を用いて仮想物理空間内の仮想物体を操作するシミュレーションプログラムにおいて、仮想物理空間内の仮想物体に働く力の方向と大きさを、より短時間に求めることが可能であり、取り込んだ現実物体の画像にて仮想物体を直感的に、リアルタイムに、よりリアルな物理挙動をさせることができるコンピュータ、システム、シミュレーション方法及びシミュレーションプログラムを提供することを課題とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
上記課題を解決するために、本発明に係るコンピュータは、単数または複数の仮想物体が表示される仮想物理空間を表示手段に表示する仮想空間表示手段と、現実空間の現実物体を撮像した画像から現実物体を切り出す画像認識手段と、切り出した前記現実物体を前記仮想物理空間内に重ねて表示するとともに、前記現実空間内で操作された前記現実物体の動きを、前記仮想物理空間内の前記現実物体の動きで表す重畳表示手段と、前記仮想物理空間内の前記現実物体によって、前記仮想物理空間内の前記仮想物体が受ける仮想的な力を演算し、演算した前記仮想的な力に基づいて、前記仮想物理空間内の前記仮想物体を前記仮想物理空間内にて物理挙動させる物理挙動演算手段と、を備えるコンピュータであって、前記物理挙動演算手段は、前記仮想物体のそれぞれに、単数または複数のブロックに分割されて各ブロックのそれぞれに、それぞれ異なる力の方向と大きさを示すベクトルを割付けたテンプレートを、仮想的に重畳させる仮想テンプレート重畳手段と、前記仮想物理空間内の前記現実物体と、前記テンプレートの各ブロックとにおいて、重なったブロックである重畳ブロックを検出する重畳ブロック検出手段と、前記重畳ブロックにおける各ブロックに割付けられている各ベクトルと、前記仮想物理空間内に予め設定されているベクトルである物理空間ベクトルと、を合成した合成ベクトルに基づいて、前記仮想物理空間内の前記仮想物体を、前記仮想物理空間内の前記現実物体によって、前記仮想物理空間内にて物理挙動させるベクトル演算手段と、を備える。
本発明によると、単数または複数のブロックに分割されて各ブロックのそれぞれに、力の大きさと方向を示すベクトルを割付けたテンプレートを仮想物体に重畳させて、仮想物理空間内の現実物体と重畳するブロックのベクトルと、仮想物理空間に予め設定した物理空間ベクトル（重力等）と、の合成ベクトルを求めることで、複雑な解析処理を必要とせず、仮想物体に働く力（合成ベクトル）を、非常に短時間に求めることができる。
これにより、現実物体にて直感的に仮想物体を操作することが可能であり、リアルタイム性を損なうことなく仮想物体に、よりリアルな物理挙動をさせることができる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
前記物理挙動演算手段は、前記ブロックに割付けるベクトルの方向と大きさの少なくとも一方、または前記物理空間ベクトルの方向と大きさの少なくとも一方を変更することで、前記仮想物理空間内における前記仮想物体の物理挙動を変更可能である、ことが望ましい。
この構成によると、テンプレートの各ブロックに割付けるベクトルや、物理空間ベクトルを種々の設定に変更することで、仮想物体の物理特性を容易に変更することが可能であり、仮想物体に、よりリアルな物理挙動をさせることができる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
前記仮想物体に重畳されたテンプレートは複数のブロックにて構成されており、更に、各ブロックに割付けられたベクトルの方向を前記テンプレートの内側に向かう方向に設定し、且つ前記テンプレートの四隅の近傍のブロックのベクトルの大きさを周囲のブロックのベクトルの大きさよりも小さく設定することで、前記仮想物体の形状を丸形状として表現することが可能である、あるいは、前記テンプレートの外周部のブロックのベクトルの方向を前記テンプレートの内側から外側に向かう方向に設定し、且つ外周部のブロックに対して他のブロックのベクトルの方向を前記テンプレートの内側に向かう方向に設定することで、前記仮想物体を、表面張力を有する物体として表現することが可能である、あるいは、表面張力を有する物体として表現した仮想物体を複数集めることで、粘性を有する流体を表現することが可能である、あるいは、各ブロックに割付けられたベクトルの方向を前記テンプレートの内側に向かう方向に設定し、且つ前記テンプレートにおける中央近傍のブロックのベクトルの大きさを、周囲のブロックのベクトルの大きさよりも大きく設定することで、前記中央近傍のブロックに前記仮想物理空間内の前記現実物体が重畳した場合における前記仮想物体の物理挙動の速度を急激に大きくする表現が可能である、あるいは、各ブロックに割付けられたベクトルの方向を前記テンプレート内に設定された集中位置の側に向かう方向に設定し、且つ前記集中位置を前記テンプレートに対応する仮想物体の重心位置からずれた位置に設定することで、重心位置の偏った仮想物体の物理挙動を表現することが可能である、あるいは、各ブロックには、回転方向と力の大きさを示すベクトルが割付けられており、回転方向についてのベクトルの大きさを前記テンプレートの中央から離れるほど大きいベクトルに設定することで、前記仮想物理空間の表示面内で回転する仮想物体の物理挙動を表現することが可能である、あるいは、各ブロックには、回転方向と力の大きさを示すベクトルが割付けられており、割付けられた回転方向は前記テンプレート内に設定された集中位置を通る所定の境界線を挟んで対称となる位置のブロックでは互いに反対方向となるように設定されており、前記仮想物理空間内における前記テンプレートに対応する仮想物体の状態に応じて、前記集中位置を前記テンプレートに対応する仮想物体の重心位置からずれた位置に設定することで、前記仮想物理空間内における前記仮想物体の状態に応じた回転体を表現することが可能である、ことが望ましい。
この構成による具体的なテンプレートを用いることで、仮想物理空間内の仮想物体に、よりリアルな物理挙動をさせることができる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
前記物理挙動演算手段は、複数の前記仮想物体を、前記仮想物理空間内において長さが変わらない仮想ジョイントにて連結することで、複数の仮想物体が連結された仮想連結剛体を構成させる仮想連結剛体構成手段と、前記仮想連結剛体を構成している任意の前記仮想物体のテンプレートにおいて、前記仮想物理空間内の前記現実物体と重畳したブロックを有する重畳テンプレート対して、前記重畳ブロック検出手段及び前記ベクトル演算手段を用いて前記重畳テンプレートに対応する仮想物体を物理挙動させるとともに、前記重畳テンプレートに対応する仮想物体に前記仮想ジョイントにて連結されている連結仮想物体に対して、前記重畳テンプレートに対応する仮想物体の物理挙動と前記仮想ジョイントに基づいた連動ベクトルと前記物理空間ベクトルとを合成して、前記連結仮想物体を物理挙動させる連結仮想物体連動手段と、を更に備えることが望ましい。
この構成によると、例えば人形のように、仮想物体と仮想物体とを仮想ジョイントにて連結した仮想連結剛体を、よりリアルに物理挙動させることができる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
前記物理挙動演算手段は、複数の前記仮想物体を、前記仮想物理空間内にて受けた力によって伸縮する仮想ダンパにて連結することで、複数の仮想物体が連結された仮想弾性体を構成させる仮想弾性体構成手段と、前記仮想弾性体を構成している任意の前記仮想物体のテンプレートにおいて、前記仮想物理空間内の前記現実物体と重畳したブロックを有する重畳テンプレート対して、前記重畳ブロック検出手段及び前記ベクトル演算手段を用いて前記重畳テンプレートに対応する仮想物体を物理挙動させるとともに、前記重畳テンプレートに対応する仮想物体に前記仮想ダンパにて連結されている連結仮想物体に対して、前記重畳テンプレートに対応する仮想物体の物理挙動と前記仮想ダンパの伸縮に基づいた連動ベクトルと前記物理空間ベクトルとを合成して、前記連結仮想物体を物理挙動させる仮想弾性体連動手段と、を更に備えることが望ましい。
この構成によると、仮想物体と仮想物体とを仮想ダンパにて連結した仮想弾性体にて、仮想物体を弾性体として表現し、よりリアルな物理挙動をさせることができる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
前記仮想弾性体における各仮想物体の間隙に前記仮想物理空間内の前記現実物体を突き刺す、あるいは前記間隙を広げながら前記仮想物理空間内の前記現実物体を突き刺した後に一部の仮想物体を前記仮想物理空間内の前記現実物体の一部にて引っ掛ける表現が可能であり、突き刺した前記仮想物理空間内の前記現実物体、あるいは引っ掛けた前記仮想物理空間内の前記現実物体、の動作に前記仮想弾性体の動作を追従させる表現が可能である、ことが望ましい。
この構成によると、弾性体として物理挙動させる仮想弾性体に、串等を突き刺したり、鉤状物体を突き刺して引っ掛けたり、突き刺した状態で、串または鉤状物体とともに運動（物理挙動）させたりすることができる。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明に係るシステムは、第１の撮像手段が接続された第１のコンピュータと、第２の撮像手段が接続された第２のコンピュータと、第３のコンピュータとを含むシステムであって、第１のコンピュータは、第１の撮像手段を用いて撮像した画像から現実空間の現実物体を切り出す画像認識手段と、前記現実物体を第１現実物体として第３のコンピュータに送信する第１送信手段を備え、第２のコンピュータは、第２の撮像手段を用いて撮像した画像から現実空間の現実物体を切り出す画像認識手段と、前記現実物体を第２現実物体として第３のコンピュータに送信する第２送信手段を備え、第３のコンピュータは、第３のコンピュータに設定されている仮想物理空間に、受信した第１現実物体と第２現実物体とを重畳させた共有仮想物理空間を作成する共有仮想物理空間作成手段と、作成した共有仮想物理空間内の前記第１現実物体と前記第２現実物体によって、前記共有仮想物理空間内の仮想物体を、前記共有仮想物理空間内にて物理挙動させる共有物理挙動演算手段と、前記共有仮想物理空間を前記第１のコンピュータと前記第２のコンピュータに送信する第３送信手段と、を備え、前記共有物理挙動演算手段は、前記仮想物体のそれぞれに、単数または複数のブロックに分割されて各ブロックのそれぞれに、それぞれ異なる力の方向と大きさを示すベクトルを割付けたテンプレートを、仮想的に重畳させる仮想テンプレート重畳手段と、前記仮想物理空間内の前記第１現実物体及び前記第２現実物体と、前記テンプレートの各ブロックとにおいて、重なったブロックである重畳ブロックを検出する重畳ブロック検出手段と、前記重畳ブロックにおける各ブロックに割付けられている各ベクトルと、前記仮想物理空間内に予め設定されているベクトルである物理空間ベクトルと、を合成した合成ベクトルに基づいて、前記仮想物理空間内の前記仮想物体を、前記仮想物理空間内の前記第１現実物体及び前記第２現実物体によって、前記仮想物理空間内にて物理挙動させるベクトル演算手段と、を備え、第１のコンピュータは、受信した共有仮想物理空間を第１表示手段に表示する第１共有仮想物理空間表示手段を備え、第２のコンピュータは、受信した共有仮想物理空間を第２表示手段に表示する第２共有仮想物理空間表示手段を備える。
本発明によると、１つの仮想物理空間内の仮想物体を、異なる２台のコンピュータからの、それぞれの現実物体にて、物理挙動させることができる。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
前記重畳ブロック検出手段は、まずテンプレートにおけるブロックの外周部を走査させ、走査させた外周部に前記仮想物理空間内の前記現実物体と重畳するブロックが存在しない場合は、前記外周部の内側のブロックの重畳の検出を打ち切って処理を軽減させる、ことが望ましい。
この構成によると、コンピュータの処理負荷を軽減し、よりリアルタイムに仮想物体に物理挙動させることができる。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
前記重畳ブロック検出手段は、前記仮想物理空間内の前記現実物体と重畳するブロックの面積が所定面積以上であった場合は、重畳ブロックの面積に対するテンプレート面積の比率に応じた力の大きさの上方向の位置ベクトルを前記合成ベクトルに加える、ことが望ましい。
この構成によると、仮想物体の下から上に向かって仮想物理空間内の現実物体が比較的高速に移動した場合、仮想物体が現実物体を突き抜ける特殊な現象を回避し、仮想物体に、よりリアルな物理挙動をさせることができる。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
前記仮想物体に対して、ブロックの分割数、割付けられたベクトル、の少なくとも一方が異なる複数のテンプレートが用意されており、前記重畳ブロック検出手段は、前記仮想物理空間内の前記仮想物体の状態に応じて、テンプレートを切り替える、ことが望ましい。
この構成によると、仮想物体の状態に応じてテンプレートの切り替えを行うことで、複雑な物理挙動や、よりリアルな物理挙動等を表現することができる。
本発明に係るシミュレーション方法は、コンピュータによるシミュレーション方法であって、単数または複数の仮想物体が表示される仮想物理空間を表示手段に表示する仮想空間表示ステップと、現実空間の現実物体を撮像した画像から現実物体を切り出す画像認識ステップと、切り出した前記現実物体を前記仮想物理空間内に重ねて表示するとともに、前記現実空間内で操作された前記現実物体の動きを、前記仮想物理空間内の前記現実物体の動きで表す重畳表示ステップと、前記仮想物理空間内の前記現実物体によって、前記仮想物理空間内の前記仮想物体が受ける仮想的な力を演算し、演算した前記仮想的な力に基づいて、前記仮想物理空間内の前記仮想物体を前記仮想物理空間内にて物理挙動させる物理挙動演算ステップと、を含み、前記物理挙動演算ステップは、前記仮想物体のそれぞれに、単数または複数のブロックに分割されて各ブロックのそれぞれに、それぞれ異なる力の方向と大きさを示すベクトルを割付けたテンプレートを、仮想的に重畳させる仮想テンプレート重畳ステップと、前記仮想物理空間内の前記現実物体と、前記テンプレートの各ブロックとにおいて、重なったブロックである重畳ブロックを検出する重畳ブロック検出ステップと、前記重畳ブロックにおける各ブロックに割付けられている各ベクトルと、前記仮想物理空間内に予め設定されているベクトルである物理空間ベクトルと、を合成した合成ベクトルに基づいて、前記仮想物理空間内の前記仮想物体を、前記仮想物理空間内の前記現実物体によって、前記仮想物理空間内にて物理挙動させるベクトル演算ステップと、を含む。
本発明に係るシミュレーションプログラムは、コンピュータを、単数または複数の仮想物体が表示される仮想物理空間を表示手段に表示する仮想空間表示手段、現実空間の現実物体を撮像した画像から現実物体を切り出す画像認識手段、切り出した前記現実物体を前記仮想物理空間内に重ねて表示するとともに、前記現実空間内で操作された前記現実物体の動きを、前記仮想物理空間内の前記現実物体の動きで表す重畳表示手段、前記仮想物理空間内の前記現実物体によって、前記仮想物理空間内の前記仮想物体が受ける仮想的な力を演算し、演算した前記仮想的な力に基づいて、前記仮想物理空間内の前記仮想物体を前記仮想物理空間内にて物理挙動させる物理挙動演算手段、として機能させるためのシミュレーションプログラムであって、前記コンピュータを、前記物理挙動演算手段にて、前記仮想物体のそれぞれに、単数または複数のブロックに分割されて各ブロックのそれぞれに、それぞれ異なる力の方向と大きさを示すベクトルを割付けたテンプレートを、仮想的に重畳させる仮想テンプレート重畳手段、前記仮想物理空間内の前記現実物体と、前記テンプレートの各ブロックとにおいて、重なったブロックである重畳ブロックを検出する重畳ブロック検出手段、前記重畳ブロックにおける各ブロックに割付けられている各ベクトルと、前記仮想物理空間内に予め設定されているベクトルである物理空間ベクトルと、を合成した合成ベクトルに基づいて、前記仮想物理空間内の前記仮想物体を、前記仮想物理空間内の前記現実物体によって、前記仮想物理空間内にて物理挙動させるベクトル演算手段、として機能させる。