(57)【要約】【課題】  ３次元オブジェクトに対する処理を的確にかつ効率的に実行可能とした装置および方法を実現する。【解決手段】  画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合にオブジェクトの把持や結合などの処理を実行可能であることを示す識別情報を提示、例えば、オブジェクトの表示態様の変更や音声出力などを実行する。本構成により、ユーザはオブジェクトの把持や結合処理が可能な位置にあることを即座に把握することができ、ストレスを感じることなく、操作効率を高めた処理が可能となる。【選択図】  図１
2005038303.tif 000002
【特許請求の範囲】
【請求項１】
３次元オブジェクトをディスプレイに表示し、入力手段からの入力情報に基づいて表示オブジェクトに対する処理を実行する３次元モデル処理装置であり、
操作デバイスの３次元情報を計測する３次元情報計測部と、
前記３次元情報計測部から入力する前記操作デバイスの３次元情報に基づいて、前記操作デバイスに対応して画像表示部に表示する３次元オブジェクトの表示制御処理を実行する表示情報制御部と、
前記表示情報制御部の制御に基づいて、３次元オブジェクトを含む画像を表示する画像表示部とを有し、
前記表示情報制御部は、
前記画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合に処理実行可能であることを示す識別情報提示処理を実行する構成であることを特徴とする３次元モデル処理装置。
【請求項２】
前記処理実行条件は、
前記画像表示部に表示した異なる複数の３次元オブジェクト間の仮想空間における３次元的距離に基づいて設定される条件であることを特徴とする請求項１に記載の３次元モデル処理装置。
【請求項３】
前記処理実行条件は、
前記画像表示部に表示した異なる複数の３次元オブジェクト間の姿勢としての相対的傾きに基づいて設定される条件であることを特徴とする請求項１に記載の３次元モデル処理装置。
【請求項４】
前記表示情報制御部は、
前記処理実行条件を、前記３次元情報計測部における３次元情報計測精度または分解能に基づいて動的に変更する構成であることを特徴とする請求項１に記載の３次元モデル処理装置。
【請求項５】
前記表示情報制御部は、
前記識別情報提示処理として、処理実行条件を満足する３次元オブジェクトまたは処理実行条件を満足する３次元オブジェクトに一体化された３次元オブジェクトを他のオブジェクトと識別可能とする表示変更処理を実行する構成であることを特徴とする請求項１に記載の３次元モデル処理装置。
【請求項６】
前記表示変更処理は、前記３次元オブジェクトを構成する面、または線、または頂点の少なくとも１つの構成要素の、色、または大きさ、または形状、または動きの少なくともいずれか１つの属性を変更する処理であることを特徴とする請求項５に記載の３次元モデル処理装置。
【請求項７】
前記表示情報制御部は、
前記識別情報提示処理として、処理実行条件を満足する３次元オブジェクトまたは処理実行条件を満足する３次元オブジェクトに一体化された３次元オブジェクトを他のオブジェクトと識別可能とする音声出力処理を実行する構成であることを特徴とする請求項１に記載の３次元モデル処理装置。
【請求項８】
前記処理実行条件は、オブジェクトの把持処理の実行条件であり、
前記表示情報制御部は、
前記画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた把持処理実行条件を満足するか否かを判定し、把持処理実行条件を満足すると判定した場合に把持処理実行可能であることを示す識別情報提示処理を実行する構成であることを特徴とする請求項１に記載の３次元モデル処理装置。
【請求項９】
前記処理実行条件は、オブジェクトの結合処理の実行条件であり、
前記表示情報制御部は、
前記画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた結合処理実行条件を満足するか否かを判定し、結合処理実行条件を満足すると判定した場合に結合処理実行可能であることを示す識別情報提示処理を実行する構成であることを特徴とする請求項１に記載の３次元モデル処理装置。
【請求項１０】
前記表示情報制御部は、
オブジェクトの結合処理が実行可能であることを示す識別情報提示処理として、結合後の態様を示す仮想結合領域を表示する処理を実行する構成であることを特徴とする請求項９に記載の３次元モデル処理装置。
【請求項１１】
前記表示情報制御部は、
前記３次元情報計測部内に設定された実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に新たなオブジェクトの生成表示を実行する構成であることを特徴とする請求項１に記載の３次元モデル処理装置。
【請求項１２】
前記３次元モデル処理装置は、さらに、
前記３次元情報計測部内に設定されたネットワーク接続用実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に表示された前記操作デバイス対応のオブジェクト情報をネットワーク接続された外部機器に送信し、該外部機器の提供する３次元空間画像内に該オブジェクトを表示させるための通信処理を実行する構成であることを特徴とする請求項１に記載の３次元モデル処理装置。
【請求項１３】
前記３次元モデル処理装置は、さらに、
前記操作デバイス対応のオブジェクトの構成情報に対応して設定されるオブジェクトの動作を定義するプログラムあるいはプログラム指示情報を前記オブジェクト情報とともにネットワーク接続された外部機器に送信し、該外部機器の提供する３次元空間画像内において、オブジェクトの構成情報に対応した動作を行うオブジェクトを表示させるための通信処理を実行する構成であることを特徴とする請求項１２に記載の３次元モデル処理装置。
【請求項１４】
３次元オブジェクトをディスプレイに表示し、入力手段からの入力情報に基づいて表示オブジェクトに対する処理を実行する３次元モデル処理方法であり、
操作デバイスの３次元情報を計測する３次元情報計測ステップと、
前記３次元情報計測ステップにおいて計測された前記操作デバイスの３次元情報に基づいて、前記操作デバイスに対応して画像表示部に表示する３次元オブジェクトの表示制御処理を実行する表示情報制御ステップと、
前記表示情報制御ステップにおける制御に基づいて、３次元オブジェクトを含む画像を画像表示部に表示する画像表示ステップとを有し、
前記表示情報制御ステップは、
前記画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合に処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とする３次元モデル処理方法。
【請求項１５】
前記処理実行条件は、
前記画像表示部に表示した異なる複数の３次元オブジェクト間の仮想空間における３次元的距離に基づいて設定される条件であることを特徴とする請求項１４に記載の３次元モデル処理方法。
【請求項１６】
前記処理実行条件は、
前記画像表示部に表示した異なる複数の３次元オブジェクト間の姿勢としての相対的傾きに基づいて設定される条件であることを特徴とする請求項１４に記載の３次元モデル処理方法。
【請求項１７】
前記表示情報制御ステップは、
前記処理実行条件を、前記３次元情報計測部における３次元情報計測精度または分解能に基づいて動的に変更するステップを含むことを特徴とする請求項１４に記載の３次元モデル処理方法。
【請求項１８】
前記表示情報制御ステップは、
前記識別情報提示処理として、処理実行条件を満足する３次元オブジェクトまたは処理実行条件を満足する３次元オブジェクトに一体化された３次元オブジェクトを他のオブジェクトと識別可能とする表示変更処理を実行するステップを含むことを特徴とする請求項１４に記載の３次元モデル処理方法。
【請求項１９】
前記表示変更処理は、前記３次元オブジェクトを構成する面、または線、または頂点の少なくとも１つの構成要素の、色、または大きさ、または形状、または動きの少なくともいずれか１つの属性を変更する処理であることを特徴とする請求項１８に記載の３次元モデル処理方法。
【請求項２０】
前記表示情報制御ステップは、
前記識別情報提示処理として、処理実行条件を満足する３次元オブジェクトまたは処理実行条件を満足する３次元オブジェクトに一体化された３次元オブジェクトを他のオブジェクトと識別可能とする音声出力処理を実行するステップを含むことを特徴とする請求項１４に記載の３次元モデル処理方法。
【請求項２１】
前記処理実行条件は、オブジェクトの把持処理の実行条件であり、
前記表示情報制御ステップは、
前記画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた把持処理実行条件を満足するか否かを判定し、把持処理実行条件を満足すると判定した場合に把持処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とする請求項１４に記載の３次元モデル処理方法。
【請求項２２】
前記処理実行条件は、オブジェクトの結合処理の実行条件であり、
前記表示情報制御ステップは、
前記画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた結合処理実行条件を満足するか否かを判定し、結合処理実行条件を満足すると判定した場合に結合処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とする請求項１４に記載の３次元モデル処理方法。
【請求項２３】
前記表示情報制御ステップは、
オブジェクトの結合処理が実行可能であることを示す識別情報提示処理として、結合後の態様を示す仮想結合領域を表示する処理を実行するステップを含むことを特徴とする請求項２２に記載の３次元モデル処理方法。
【請求項２４】
前記表示情報制御ステップは、さらに、
３次元情報計測部内に設定された実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に新たなオブジェクトの生成表示を実行するステップを含むことを特徴とする請求項１４に記載の３次元モデル処理方法。
【請求項２５】
前記３次元モデル処理方法は、さらに、
３次元情報計測部内に設定されたネットワーク接続用実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に表示された前記操作デバイス対応のオブジェクト情報をネットワーク接続された外部機器に送信し、該外部機器の提供する３次元空間画像内に該オブジェクトを表示させるための通信処理を実行するステップを有することを特徴とする請求項１４に記載の３次元モデル処理方法。
【請求項２６】
前記３次元モデル処理方法は、さらに、
前記操作デバイス対応のオブジェクトの構成情報に対応して設定されるオブジェクトの動作を定義するプログラムあるいはプログラム指示情報を前記オブジェクト情報とともにネットワーク接続された外部機器に送信し、該外部機器の提供する３次元空間画像内において、オブジェクトの構成情報に対応した動作を行うオブジェクトを表示させるための通信処理を実行するステップを含むことを特徴とする請求項２５に記載の３次元モデル処理方法。
【請求項２７】
３次元オブジェクトをディスプレイに表示し、入力手段からの入力情報に基づいて表示オブジェクトに対する処理を実行するコンピュータ・プログラムであり、
操作デバイスの３次元情報を計測する３次元情報計測ステップと、
前記３次元情報計測ステップにおいて計測された前記操作デバイスの３次元情報に基づいて、前記操作デバイスに対応して画像表示部に表示する３次元オブジェクトの表示制御処理を実行する表示情報制御ステップと、
前記表示情報制御ステップにおける制御に基づいて、３次元オブジェクトを含む画像を画像表示部に表示する画像表示ステップとを有し、
前記表示情報制御ステップは、
前記画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合に処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元モデル処理装置、および３次元モデル処理方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、パーソナルコンピュータ等のディスプレイに３次元オブジェクトを表示し、表示した３次元オブジェクトの移動、形状変更などの様々な処理をユーザの操作に応じて実行するものであり、たとえばディスプレイに表示された複数の３次元オブジェクト相互の空間的位置関係等に基づき、実行可能な処理内容や処理結果をあらかじめ提示することにより、ユーザの操作性を向上させた３次元モデル処理装置、および３次元モデル処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
３次元画像をディスプレイに表示し、表示した３次元画像をユーザの入力手段により操作するシステムは、ゲーム機、コンピュータ、ＣＡＤ、ＣＧグラフィック処理装置等、様々な情報処理装置において利用されている。
【０００３】
ディスプレイに表示した３次元画像に含まれる様々なオブジェクト（３次元オブジェクト）に対する操作、例えば３次元オブジェクトの移動、回転や、３次元オブジェクト同士の結合や引き離し等、オブジェクトに対する様々な処理を行う場合、既存のコンピュータグラフィックスソフトや３次元ＣＡＤに代表される一般的なソフトウェアでは、処理対象の３次元オブジェクトを指定する際、マウスやキーボード、あるいは２次元タブレット等の入力デバイスによって特定のオブジェクトの指定処理がなされる。
【０００４】
従来の機器においては、このようなオブジェクト指定処理に際して利用される入力デバイスとして、マウスやキーボード、あるいは２次元タブレット等、２次元または１次元位置の指定情報の入力が可能なデバイスが用いられていた。従って、ユーザは、ディスプレイに表示された３次元オブジェクトを指定する際、２次元または１次元情報として３次元オブジェクトの表示位置を指示することになる。ユーザは、オブジェクトの指定の後、ディスプレイに表示された３次元モデルの把持、３次元モデルの移動や回転、あるいは他の３次元モデルとの結合等、表示オブジェクトに対する様々な処理を実行することになる。
【０００５】
しかしながら、マウスやキーボード、２次元タブレット等は、２次元あるいは１次元情報を入力するデバイスであり、ディスプレイに表示された３次元空間に対応した操作が困難となる。そのため、３次元オブジェクトの移動方向をある平面上に限定したり、回転軸を固定したりといった制約を設定した上で、ユーザ入力に基づくオブジェクト処理を行うことが必要となっていた。
【０００６】
このような制約の下での処理においては、例えば、あるオブジェクトを回転しながら移動するといった操作を行う場合、平面を制約し移動した後、軸を固定し回転し、再び平面を制約し移動するといった複数の操作を繰り返すことが必要となるなど、ユーザに対して現実世界の操作とは異なる違和感のある操作が求められる。
【０００７】
このような問題を解決する手法として、ユーザの入力手段を３次元位置および姿勢情報を入力可能な手段として構成した３次元モデル処理装置が、例えば特許文献１に記載されている。特許文献１に記載の技術は、ディスプレイに表示した３次元オブジェクトに対する形状変更、表面着色等の様々な処理を、３次元位置および姿勢情報入力手段を適用して実行するものである。
【０００８】
３次元位置および姿勢情報入力手段としては、複数の方式が提案されている。代表的なものとして磁気センサを用いた磁気方式がある。
【０００９】
これは、ユーザの手で自由に３次元空間を移動可能とした操作物体にコイルを内蔵し、磁界発生器によって発生させた磁界に基づいて構成した磁界空間内で操作物体を移動させ、その際にコイルに誘起される電流を計測することにより、操作物体の位置、姿勢を計測し、これらの情報を３次元情報として入力する方式である。
【００１０】
その他、超音波発信機を操作物体に内蔵し、操作物体から受信する超音波の音圧や到達時間から３次元計測を行う超音波方式、また、操作物体に多関節アームのような機械的な可動部を接続し、その動きから操作物体の３次元位置情報を求める機械方式、さらに、３点以上のマーカを操作物体に付与し、操作物体のマーカをカメラで撮影し、得られた撮影画像情報を基に操作物体の３次元情報を取得する光学方式等、様々な３次元位置および姿勢計測装置が提案されている。
【００１１】
このような３次元位置および姿勢計測システムを適用することにより、ディスプレイに提示した３次元空間に対応付けた３次元情報の入力が可能となり、ユーザは、違和感を抱くことなく実空間での処理と同様の感覚で、ディスプレイに表示した３次元オブジェクトに対する処理が可能となる。
【特許文献１】特開２００１−３０７１３４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかし、このような３次元情報入力デバイスを用いた操作においても、ディスプレイ自体は２次元平面であり、ディスプレイに表示されたオブジェクトに対する操作、処理を行うユーザにとって、ディスプレイに表示された画像についての奥行き方向の認識を正しく行うことが困難であるという問題がある。具体的には、例えばディスプレイに表示された複数の３次元オブジェクトの突合せ、結合などの処理を行う場合の操作が困難となる。
【００１３】
すなわち、ディスプレイに表示された複数の３次元オブジェクトの突合せや結合処理を行う場合、複数の３次元オブジェクトを、同一のＸＹＺ空間座標位置に設定することが必要となる。ディスプレイ平面をＸＹ平面とした場合、ユーザはディスプレイに表示された複数オブジェクトをディスプレイを見ながら、ＸＹ平面としては同一位置に移動させることは比較的容易であるが、ディスプレイを見ながらオブジェクトを移動させても、奥行き方向（Ｚ方向）について一致させることは容易ではない。例えばａ，ｂ２つのオブジェクトがある場合、ａが手前にあり、ｂが後方にあるといったことは画面上から容易に把握することはできないという問題がある。
【００１４】
また、複数のオブジェクトを結合させて合体した１つのオブジェクトを生成する処理を行う場合、様々な角度からオブジェクトを観察して、結合部位を決定して各オブジェクトの結合を行うといった処理が必要となる。従来の一般的な３次元情報入力デバイスによって操作できるオブジェクトは１つであり、３次元情報入力デバイスによって１つのオブジェクトを操作し、他のオブジェクトと結合させた後、異なる方向から結合の様子を表示させると、意図した外観とは異なる外観であることが多い。所望の結合を実現するには、操作対象となるオブジェクトと結合されるオブジェクトとを交互に操作し、また、視点を変更して結合結果を確認しながら処理をするなど複雑な処理工程が必要となり、非常に手間のかかる作業となっていた。
【００１５】
また、異なる方向から見た画像を複数同時に表示し、これらの画像を同時に参照しながら操作する方法も開示されているが、複数の画像を同時に見ながら操作するには熟練した技術が必要である。
【００１６】
また、上述した特許文献１の技術では、何らかの処理が施される対象オブジェクトと、対象オブジェクトへの処理を行う編集オブジェクトを両手で同時に操作するため、ユーザが見たい角度に対象オブジェクトを傾け、編集オブジェクトで操作するといった直感的な操作が可能であるが、両手を空中で操作するため、手の揺れ等の影響を受ける。また、自由度が増加する分、細かい制御は難しい。さらに、これらは３次元位置および姿勢計測システムの誤差に依存し、誤差が大きいほど操作の困難さが増加する。
【００１７】
本発明はこのような点に鑑みてなされたものであり、実際に３次元モデルを処理する前に、複数の３次元モデルの空間的関係に基づき、実行可能な処理内容あるいは処理結果をあらかじめ提示し、細かい動きの制御が困難な３次元位置および姿勢計測装置を用いた場合でも、ストレスなく処理を実行できる３次元モデル処理装置、および３次元モデル処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の第１の側面は、
３次元オブジェクトをディスプレイに表示し、入力手段からの入力情報に基づいて表示オブジェクトに対する処理を実行する３次元モデル処理装置であり、
操作デバイスの３次元情報を計測する３次元情報計測部と、
前記３次元情報計測部から入力する前記操作デバイスの３次元情報に基づいて、前記操作デバイスに対応して画像表示部に表示する３次元オブジェクトの表示制御処理を実行する表示情報制御部と、
前記表示情報制御部の制御に基づいて、３次元オブジェクトを含む画像を表示する画像表示部とを有し、
前記表示情報制御部は、
前記画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合に処理実行可能であることを示す識別情報提示処理を実行する構成であることを特徴とする３次元モデル処理装置にある。
【００１９】
さらに、本発明の３次元モデル処理装置の一実施態様において、前記処理実行条件は、前記画像表示部に表示した異なる複数の３次元オブジェクト間の仮想空間における３次元的距離に基づいて設定される条件であることを特徴とする。
【００２０】
さらに、本発明の３次元モデル処理装置の一実施態様において、前記処理実行条件は、前記画像表示部に表示した異なる複数の３次元オブジェクト間の姿勢としての相対的傾きに基づいて設定される条件であることを特徴とする。
【００２１】
さらに、本発明の３次元モデル処理装置の一実施態様において、前記表示情報制御部は、前記処理実行条件を、前記３次元情報計測部における３次元情報計測精度または分解能に基づいて動的に変更する構成であることを特徴とする。
【００２２】
さらに、本発明の３次元モデル処理装置の一実施態様において、前記表示情報制御部は、前記識別情報提示処理として、処理実行条件を満足する３次元オブジェクトまたは処理実行条件を満足する３次元オブジェクトに一体化された３次元オブジェクトを他のオブジェクトと識別可能とする表示変更処理を実行する構成であることを特徴とする。
【００２３】
さらに、本発明の３次元モデル処理装置の一実施態様において、前記表示変更処理は、前記３次元オブジェクトを構成する面、または線、または頂点の少なくとも１つの構成要素の、色、または大きさ、または形状、または動きの少なくともいずれか１つの属性を変更する処理であることを特徴とする。
【００２４】
さらに、本発明の３次元モデル処理装置の一実施態様において、前記表示情報制御部は、前記識別情報提示処理として、処理実行条件を満足する３次元オブジェクトまたは処理実行条件を満足する３次元オブジェクトに一体化された３次元オブジェクトを他のオブジェクトと識別可能とする音声出力処理を実行する構成であることを特徴とする。
【００２５】
さらに、本発明の３次元モデル処理装置の一実施態様において、前記処理実行条件は、オブジェクトの把持処理の実行条件であり、前記表示情報制御部は、前記画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた把持処理実行条件を満足するか否かを判定し、把持処理実行条件を満足すると判定した場合に把持処理実行可能であることを示す識別情報提示処理を実行する構成であることを特徴とする。
【００２６】
さらに、本発明の３次元モデル処理装置の一実施態様において、前記処理実行条件は、オブジェクトの結合処理の実行条件であり、前記表示情報制御部は、前記画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた結合処理実行条件を満足するか否かを判定し、結合処理実行条件を満足すると判定した場合に結合処理実行可能であることを示す識別情報提示処理を実行する構成であることを特徴とする。
【００２７】
さらに、本発明の３次元モデル処理装置の一実施態様において、前記表示情報制御部は、オブジェクトの結合処理が実行可能であることを示す識別情報提示処理として、結合後の態様を示す仮想結合領域を表示する処理を実行する構成であることを特徴とする。
【００２８】
さらに、本発明の３次元モデル処理装置の一実施態様において、前記表示情報制御部は、前記３次元情報計測部内に設定された実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に新たなオブジェクトの生成表示を実行する構成であることを特徴とする。
【００２９】
さらに、本発明の３次元モデル処理装置の一実施態様において、前記３次元モデル処理装置は、さらに、前記３次元情報計測部内に設定されたネットワーク接続用実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に表示された前記操作デバイス対応のオブジェクト情報をネットワーク接続された外部機器に送信し、該外部機器の提供する３次元空間画像内に該オブジェクトを表示させるための通信処理を実行する構成であることを特徴とする。
【００３０】
さらに、本発明の３次元モデル処理装置の一実施態様において、前記３次元モデル処理装置は、さらに、前記操作デバイス対応のオブジェクトの構成情報に対応して設定されるオブジェクトの動作を定義するプログラムあるいはプログラム指示情報を前記オブジェクト情報とともにネットワーク接続された外部機器に送信し、該外部機器の提供する３次元空間画像内において、オブジェクトの構成情報に対応した動作を行うオブジェクトを表示させるための通信処理を実行する構成であることを特徴とする。
【００３１】
さらに、本発明の第２の側面は、
３次元オブジェクトをディスプレイに表示し、入力手段からの入力情報に基づいて表示オブジェクトに対する処理を実行する３次元モデル処理方法であり、
操作デバイスの３次元情報を計測する３次元情報計測ステップと、
前記３次元情報計測ステップにおいて計測された前記操作デバイスの３次元情報に基づいて、前記操作デバイスに対応して画像表示部に表示する３次元オブジェクトの表示制御処理を実行する表示情報制御ステップと、
前記表示情報制御ステップにおける制御に基づいて、３次元オブジェクトを含む画像を画像表示部に表示する画像表示ステップとを有し、
前記表示情報制御ステップは、
前記画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合に処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とする３次元モデル処理方法にある。
【００３２】
さらに、本発明の３次元モデル処理方法の一実施態様において、前記処理実行条件は、前記画像表示部に表示した異なる複数の３次元オブジェクト間の仮想空間における３次元的距離に基づいて設定される条件であることを特徴とする。
【００３３】
さらに、本発明の３次元モデル処理方法の一実施態様において、前記処理実行条件は、前記画像表示部に表示した異なる複数の３次元オブジェクト間の姿勢としての相対的傾きに基づいて設定される条件であることを特徴とする。
【００３４】
さらに、本発明の３次元モデル処理方法の一実施態様において、前記表示情報制御ステップは、前記処理実行条件を、前記３次元情報計測部における３次元情報計測精度または分解能に基づいて動的に変更するステップを含むことを特徴とする。
【００３５】
さらに、本発明の３次元モデル処理方法の一実施態様において、前記表示情報制御ステップは、前記識別情報提示処理として、処理実行条件を満足する３次元オブジェクトまたは処理実行条件を満足する３次元オブジェクトに一体化された３次元オブジェクトを他のオブジェクトと識別可能とする表示変更処理を実行するステップを含むことを特徴とする。
【００３６】
さらに、本発明の３次元モデル処理方法の一実施態様において、前記表示変更処理は、前記３次元オブジェクトを構成する面、または線、または頂点の少なくとも１つの構成要素の、色、または大きさ、または形状、または動きの少なくともいずれか１つの属性を変更する処理であることを特徴とする。
【００３７】
さらに、本発明の３次元モデル処理方法の一実施態様において、前記表示情報制御ステップは、前記識別情報提示処理として、処理実行条件を満足する３次元オブジェクトまたは処理実行条件を満足する３次元オブジェクトに一体化された３次元オブジェクトを他のオブジェクトと識別可能とする音声出力処理を実行するステップを含むことを特徴とする。
【００３８】
さらに、本発明の３次元モデル処理方法の一実施態様において、前記処理実行条件は、オブジェクトの把持処理の実行条件であり、前記表示情報制御ステップは、前記画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた把持処理実行条件を満足するか否かを判定し、把持処理実行条件を満足すると判定した場合に把持処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とする。
【００３９】
さらに、本発明の３次元モデル処理方法の一実施態様において、前記処理実行条件は、オブジェクトの結合処理の実行条件であり、前記表示情報制御ステップは、前記画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた結合処理実行条件を満足するか否かを判定し、結合処理実行条件を満足すると判定した場合に結合処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とする。
【００４０】
さらに、本発明の３次元モデル処理方法の一実施態様において、前記表示情報制御ステップは、オブジェクトの結合処理が実行可能であることを示す識別情報提示処理として、結合後の態様を示す仮想結合領域を表示する処理を実行するステップを含むことを特徴とする。
【００４１】
さらに、本発明の３次元モデル処理方法の一実施態様において、前記表示情報制御ステップは、さらに、３次元情報計測部内に設定された実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に新たなオブジェクトの生成表示を実行するステップを含むことを特徴とする。
【００４２】
さらに、本発明の３次元モデル処理方法の一実施態様において、前記３次元モデル処理方法は、さらに、３次元情報計測部内に設定されたネットワーク接続用実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に表示された前記操作デバイス対応のオブジェクト情報をネットワーク接続された外部機器に送信し、該外部機器の提供する３次元空間画像内に該オブジェクトを表示させるための通信処理を実行するステップを有することを特徴とする。
【００４３】
さらに、本発明の３次元モデル処理方法の一実施態様において、前記３次元モデル処理方法は、さらに、前記操作デバイス対応のオブジェクトの構成情報に対応して設定されるオブジェクトの動作を定義するプログラムあるいはプログラム指示情報を前記オブジェクト情報とともにネットワーク接続された外部機器に送信し、該外部機器の提供する３次元空間画像内において、オブジェクトの構成情報に対応した動作を行うオブジェクトを表示させるための通信処理を実行するステップを含むことを特徴とする。
【００４４】
さらに、本発明の第３の側面は、
３次元オブジェクトをディスプレイに表示し、入力手段からの入力情報に基づいて表示オブジェクトに対する処理を実行するコンピュータ・プログラムであり、
操作デバイスの３次元情報を計測する３次元情報計測ステップと、
前記３次元情報計測ステップにおいて計測された前記操作デバイスの３次元情報に基づいて、前記操作デバイスに対応して画像表示部に表示する３次元オブジェクトの表示制御処理を実行する表示情報制御ステップと、
前記表示情報制御ステップにおける制御に基づいて、３次元オブジェクトを含む画像を画像表示部に表示する画像表示ステップとを有し、
前記表示情報制御ステップは、
前記画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合に処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とするコンピュータ・プログラムにある。
【００４５】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００４６】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００４７】
本発明の構成によれば、画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合にオブジェクトの把持や結合などの処理を実行可能であることを示す識別情報を提示、例えば、オブジェクトの表示態様の変更や音声出力などを実行する構成としたので、ユーザはオブジェクトの把持や結合処理が可能な位置にあることを即座に把握することができる。特にディスプレイ奥行き方向の距離感を正確に把握できない場合など、本発明の構成によれば、ユーザはオブジェクトに対する処理可能性を容易に把握することが可能となり、ユーザはストレスを感じることなく、操作効率を高めた処理が可能となる。
【００４８】
さらに、本発明の構成によれば、処理実行条件として、画像表示部に表示した異なる複数の３次元オブジェクト間の仮想空間における３次元的距離や３次元オブジェクト間の姿勢情報等、さまざまな情報を適用可能であり、さらに、処理実行条件を、３次元情報計測部における３次元情報計測精度または分解能に基づいて動的に変更する構成とするなど、状況に応じて最適な処理実行条件に基づく処理を行うことができる。
【００４９】
さらに、本発明の構成によれば、処理実行条件を満足する３次元オブジェクトまたは処理実行条件を満足する３次元オブジェクトに一体化された３次元オブジェクトを他のオブジェクトと識別可能とする表示変更処理や音声出力を実行する構成としたので、ユーザはオブジェクトに対する処理可能性を容易に把握することが可能となり、ユーザはストレスを感じることなく、操作効率を高めた処理が可能となる。
【００５０】
さらに、本発明の構成によれば、オブジェクトの生成、オブジェクトのネットワークを介した通信についても操作デバイスによる処理のみで実行可能な構成としたので、キーボード等を用いた複雑な入力操作を伴うことなく様々な処理を実現することが可能となる。
【発明を実施するための最良の形態】
【００５１】
以下、図面を参照しながら本発明の３次元モデル処理装置、および３次元モデル処理方法、並びにコンピュータ・プログラムについて詳細に説明する。まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
【００５２】
[発明の概要]
図１には、本発明の一実施形態に係る３次元モデル処理装置の構成を模式的に示している。同図に示すように、３次元モデル処理装置は、表示情報制御部１０１、３次元情報（３次元位置および姿勢）計測部１０２、および画像表示部１０３によって構成される。
【００５３】
３次元情報（３次元位置および姿勢）計測部１０２は、ユーザが手にすることが可能であり、３次元空間を自由に移動させることが可能な複数の操作デバイス１０６ａ，１０６ｂと、磁界発生部１０５、３次元情報算出部１０４を有する。
【００５４】
本実施例における３次元情報（３次元位置および姿勢）計測部１０２は磁気センサ方式に基づく３次元情報（３次元位置および姿勢）計測部として設定した例である。なお、以下３次元情報は、３次元位置および姿勢情報を意味するものとする。
【００５５】
ユーザが手にすることにより３次元空間を自由に移動させることの可能な複数の操作デバイス１０６ａ，１０６ｂにはコイルが内蔵されている。磁界発生部１０５の発生する磁界によって設定される磁界空間内を操作デバイス１０６ａ，１０６ｂが移動することによりコイルに電流が発生する。この電流を３次元情報算出部１０４が計測し、複数の操作デバイス１０６ａ，１０６ｂ各々の３次元情報（３次元位置および姿勢）を算出する。例えば、磁界発生部１０５を中心とする座標系（Ｘｍ，Ｙｍ，Ｚｍ）における操作デバイス１０６ａ，１０６ｂ各々の３次元位置および姿勢が算出される。
【００５６】
３次元情報算出部１０４が算出した操作デバイス１０６ａ，１０６ｂ各々の３次元位置および姿勢からなる３次元情報は、表示情報制御部１０１に入力され、入力情報に基づいて表示情報の生成処理、すなわち、３次元モデル制御処理が行われる。処理結果は画像表示部１０３へ出力され、操作デバイス１０６ａ，１０６ｂ各々の３次元情報、すなわち位置、姿勢に対応した複数の３次元オブジェクト１０７ａ，１０７ｂが表示される。
【００５７】
すなわち、ユーザは操作デバイス１０６ａおよび１０６ｂを両手で同時に操作することで、画像表示部１０３に表示される複数の３次元オブジェクト１０７ａ，１０７ｂを操作することが可能となる。
【００５８】
このように、３次元情報を入力可能な複数の操作デバイスを用いることで、例えばディスプレイに表示した３次元空間における積み木遊びのような３次元モデル処理を、実際の積み木遊びを行う操作に近い感覚で実現することが可能である。
【００５９】
なお、図１に示す例は、３次元情報（３次元位置および姿勢）計測部１０２を磁気方式による計測部とした構成例であるが、その他の方式、すなわち、超音波方式、機械方式、光学方式の３次元情報（３次元位置および姿勢）計測部としてもよい。あるいは、これらの方式を複合した構成を適用してもよい。また、図１においては、各構成部をケーブル接続した構成として示して、データ転送をケーブルを介して行う構成とした例を示してあるが、各構成部間のデータ転送を無線通信により実行する構成としてもよく、この場合は、各構成部を接続するケーブルは不要となる。
【００６０】
図２に、表示情報制御部１０１の詳細構成を説明するブロック図を示す。３次元情報入力部２０１は、３次元情報（３次元位置および姿勢）計測部１０２の３次元情報算出部で算出した複数の操作デバイス１０６ａ，ｂ各々の３次元情報が入力される。
【００６１】
３次元モデル位置・姿勢制御部２０２は、３次元情報入力部２０１に入力する操作デバイス１０６ａ，ｂ各々の３次元情報に基づいて、画像表示部１０３に表示しているオブジェクト、すなわち、操作デバイス１０６ａ，ｂ各々に対応する各オブジェクト１０７ａ，ｂの位置および姿勢を更新する。
【００６２】
なお、表示処理対象となる３次元オブジェクトは、あらかじめデフォルトで設定されたオブジェクトとしてもよいし、あるいはユーザの操作処理の過程で動的に変更する３次元オブジェクトとしてもよい。オブジェクトに対する具体的処理については後述する。
【００６３】
なお、３次元モデル位置・姿勢制御部２０２は、複数の操作デバイスに対応する複数の３次元オブジェクトの位置および姿勢を更新する。
【００６４】
３次元モデル処理予測部２０３では、３次元モデル位置・姿勢制御部２０２で更新された３次元モデルの空間的関係と、処理条件蓄積部２０４に蓄積された処理条件設定テーブルに設定された処理実行条件と比較する。処理条件蓄積部２０４に蓄積されている処理条件設定テーブルは、図３に示すように、処理実行条件としての３次元モデルの空間的関係と、実行する処理態様を対応付けたテーブルである。処理実行条件としては、例えば２つの３次元オブジェクトの距離、すなわち画像表示部１０３に表示する３次元仮想空間における３次元的距離等の相対的位置関係や、２つの３次元オブジェクトが平行にあるなど、姿勢、向きに基づく相対的姿勢関係などである。
【００６５】
例えば、２つの３次元オブジェクトの距離ｄが予め設定された閾値距離Ｄ以下となった場合を処理実行条件とし、処理実行条件を満足するオブジェクトについての表示態様を変更したり、あるいは音を出力するなどの処理態様が設定される。同様に、２つの３次元オブジェクトの相対姿勢が平行に設定された場合を処理実行条件とし、処理実行条件を満足するオブジェクトについての表示態様を変更したり、あるいは音を出力するなどの処理態様が設定される。
【００６６】
３次元モデル位置・姿勢制御部２０２で更新された３次元モデルの空間的関係が、処理条件蓄積部２０４に蓄積された処理実行条件を満足する場合には処理実行部２０５において、処理条件蓄積部２０４に蓄積された処理条件設定テーブルに設定された処理を実行する。処理実行条件を満足するオブジェクトについての表示態様を変更したり、あるいは音を出力するなどの処理である。
【００６７】
このように、３次元モデル処理予測部２０３では、３次元モデル位置・姿勢制御部２０２で更新された３次元モデルの空間的関係が、処理条件蓄積部２０４に蓄積された処理実行条件を満足するか否かを判定し、満足する場合には、処理実行部２０５において、処理条件設定テーブルに設定された識別情報提示処理、すなわちオブジェクトの表示態様変更や、音を出力するなどの処理を行う。この処理により、ユーザは、ディスプレイに表示されたオブジェクトが把持処理可能であるか、結合可能であるかなどの処理可否を判定可能であり、オブジェクトの相対的な位置関係などを確認することが可能となる。
【００６８】
識別情報提示処理としては、例えば処理実行条件を満足する３次元オブジェクトまたは処理実行条件を満足する３次元オブジェクトに一体化された３次元オブジェクトを他のオブジェクトと識別可能とする表示変更処理や、音声出力処理などである。表示変更処理としては、３次元オブジェクトを構成する面、または線、または頂点の少なくとも１つの構成要素の、色、または大きさ、または形状、または動きの少なくともいずれか１つの属性を変更する処理などである。なお、具体的な処理例については、後段で説明する。      
【００６９】
図４には、３次元モデル処理装置のハードウェア構成例を示す。３次元モデル処理装置３００は、ＣＰＵ（Central Processing Unit）３０１、ＲＡＭ（Random-Access Memory）３０２、ＲＯＭ（Read Only Memory）３０３、外部記憶装置３０４、入力インタフェース３０５、出力インタフェース３０６、およびネットワークインタフェース３０７がバス３０８を介して接続されている。
【００７０】
ＣＰＵ３０１は、３次元モデル処理装置３００全体を制御するメイン・コントローラである。ＣＰＵ３０１は、オペレーティング・システム（ＯＳ）の制御下で、例えば、立方体からなるブロックを用いて３次元モデルを組立てる積み木アプリケーションプログラムを実行する。
【００７１】
ＲＡＭ３０２は、主記憶装置として機能する記憶媒体である。ＲＡＭ３０２は、ＣＰＵ３０１において実行されるプログラム・コードのロード領域として使用され、また実行プログラムの作業データ等の一時保管領域として使用される。
【００７２】
ＲＯＭ３０３は、データを恒久的に格納する半導体メモリである。ＲＯＭ３０３には、例えば、起動時の自己診断テスト（ＰＯＳＴ：Power On Self Test）や、ハードウェア入出力用のプログラム・コード（ＢＩＯＳ：Basic Input/Output System）などが書き込まれている。
【００７３】
外部記憶装置３０４は、実行ファイル形式のプログラムや各種データを格納するための記憶媒体である。外部記憶装置３０４としては、例えば、フラッシュメモリ等の不揮発性の半導体メモリを使用できる。あるいは、その他ハードディスク、ＣＤ，ＤＶＤ、さらに外部記憶装置３０４としては、ネットワーク接続された他のシステムの外部記憶装置でもよい。さらにそれらの組み合わせでもよい。
【００７４】
入力インタフェース３０５は、各種の入力装置を３次元モデル処理装置３００に接続するためのインタフェースである。この例では、３次元情報（３次元位置および姿勢）計測部３０９、キー群３１０、およびポインティングデバイス３１１が接続されている。３次元情報（３次元位置および姿勢）計測部３０９は、例えば磁気方式、超音波方式、機械方式および光学方式等、いずれかの処理方式により、ユーザの操作する操作デバイスの３次元的な位置および姿勢を計測する。キー群３１０やポインティングデバイス３１１は、ユーザからの指示を入力するための入力装置である。ユーザからの指示が全て３次元情報（３次元位置および姿勢）計測部３０９から行われる場合にはキー群３１０およびポインティングデバイス３１１は省略することが可能である。
【００７５】
出力インタフェース３０６は、ユーザに対して情報の提示をするためのインタフェースである。出力インタフェース３０６には、ディスプレイ３１２とスピーカ３１３とが接続されている。ディスプレイ３１２は、一般に、ユーザからの入力内容やその処理結果、あるいはエラー、その他のシステム・メッセージをユーザに視覚的に示すための装置である。スピーカ３１３は、各種情報を音によってユーザに示すための装置である。ディスプレイ３１２やスピーカ３１３を介して電子情報である画像データや、音声データが出力される。
【００７６】
ネットワークインタフェース３０７は、例えば、無線通信によってシステムをＬＡＮなどの局所的なネットワークに接続したり、さらにはインターネット３１４のような広域ネットワークに接続することを可能とした通信部である。
【００７７】
バス３０８は、各モジュール、入出力インタフェース、ネットワークインタフェースを介したデータ転送を可能にしている。
【００７８】
以上のような構成のシステムにより、３次元モデルに対する各種処理を実行することが可能となる。
【００７９】
[具体的な処理例]
次に、立方体形状を持つ単位ブロックを利用して様々な形状の３次元モデルを組み立てる積み木アプリケーションを例に、本発明の実施の形態の具体的な処理について説明する。
【００８０】
（アプリケーションの概要）
まず、積み木アプリケーションの概要について説明する。図５は積み木アプリケーションを模式的に表した図である。ユーザは操作デバイス１０６ａおよび操作デバイス１０６ｂを入力装置として操作する。操作デバイス１０６ａおよび操作デバイス１０６ｂには、画像表示部１０３に表示される操作オブジェクト４０１ａおよび操作オブジェクト４０１ｂが対応しており、操作デバイス１０６ａおよび操作デバイス１０６ｂを３次元空間的に動かすと、その動きに対応して画像表示部１０３に表示される仮想３次元空間上の操作オブジェクト４０１ａおよび操作オブジェクト４０１ｂが動作する。
【００８１】
ユーザは操作オブジェクト４０１ｂを用いて、ディスプレイに表示された仮想３次元空間の下方に落ちているブロック４０２を把持し、他方の操作オブジェクト４０１ａに結合させる。ブロック４０２は、本例では立方体形状を有し、各面は他のブロック４０２の各面と結合することが可能であり、この操作を繰り返すことで、立方体ブロック４０２を組み合わせ、任意の形状のオブジェクトを作成することが可能である。
【００８２】
また、一度結合したブロック４０２を再び把持することも可能である。すなわち、操作オブジェクト４０１ｂで落ちているブロック４０２を把持するのではなく、すでに操作オブジェクト４０１ａに結合されている立方体ブロックを把持することもできる。
【００８３】
ブロックの把持やブロック同士の結合は操作オブジェクト４０１とブロック４０２との距離によって決定される。操作オブジェクト４０１がブロック４０２に対し、ある一定の距離に近づくと把持や結合が可能となる。
【００８４】
これは磁石の概念を模倣した考えである。図６に磁石の概念と本処理の概念を対比した図を示す。
【００８５】
図６（ａ）は、操作オブジェクト４０１とブロック４０２との距離が閾値距離Ｄ以下であり、この場合には、把持や結合が可能となる。一方、図６（ｂ）は、操作オブジェクト４０１とブロック４０２との距離が閾値距離Ｄより大きく、この場合には、把持や結合が不可能となる。
【００８６】
これらの条件は、先に図３を参照して説明した処理条件蓄積部２０４に蓄積された処理条件設定テーブルの処理実行条件に対応するものである。処理実行条件に対応する３次元オブジェクトについては、例えば図７に示すように、他のブロックと区別された表示処理など、処理条件設定テーブルに設定された処理態様、例えば表示変更、音声出力などの処理がなされる。
【００８７】
図７に示す例では、把持可能ブロック４５１のみが、他の把持不可能ブロック４５２と異なる表示態様によって表示される。この処理は、処理条件蓄積部２０４に蓄積された処理条件設定テーブルの処理態様に対応して実行される処理である。
【００８８】
このように、操作オブジェクト４０１とブロック４０２との距離が、予め定めた閾値以下の距離に位置するブロック４０２のみ把持することが可能であり、ユーザは、表示態様の差により、どのブロックが操作オブジェクト４０１に近い距離にあり、把持可能なブロックであるかを容易に判別することが可能となる。
【００８９】
このように、本発明の構成では、把持や結合等の様々な処理において、処理を実行可能な一定条件を満たす３次元オブジェクトを選別し、ユーザに通知する構成であるので、例えば、従来のグラフイックソフトウェアのようにオブジェクト同士が３次元位置において重なりを持ったときにオブジェクト同士を結合したり、オブジェクトの把持を可能としたりする処理に比べ、ユーザはおおよその位置認識に基づいてオブジェクトを移動させれば例えば操作オブジェクト４０１に近接したブロック４０２を識別することが可能となり、ユーザは正確に操作オブジェクト４０１をブロック４０２の位置へ移動させなくても、ある程度近づいただけでブロックの把持処理等が可能となり、ストレスなく操作することが可能である。
【００９０】
なお、把持処理やブロック相互の結合処理の実行時には、操作デバイス１０６ａ，１０６ｂに設定されたボタン（スイッチ）を押下して指示信号を表示情報制御部１０１に入力し、表示情報制御部１０１において、指示情報に基づいて、把持可能ブロックの把持、すなわち操作オブジェクト４０１にブロック４０２を重ねて表示する表示情報の更新処理を実行する。
【００９１】
前述したように、ユーザにとって２次元平面からなるディスプレイ上で奥行き方向を知覚することは困難であり、ブロック４０２の３次元空間の座標位置（Ｘ１，Ｙ１，Ｚ１）へ操作オブジェクト４０１を正確に移動させることはユーザにとって困難であり、大きな負担となる。また、操作デバイス１０６を３次元空間で移動させてディスプレイに表示された操作オブジェクト４０１を、ディスプレイに表示された仮想３次元空間において正確に移動させることは、操作デバイス１０６の微細な動きの制御を要求されることになり、ユーザにとって大きな負担となる。さらに両手で同時に異なる操作オブジェクトに対応する操作デバイス操作する場合を考えると、さらに難易度が高まることになる。
【００９２】
これに対して、本発明の構成は、オブジェクト間の距離が所定距離以下となった場合など、ある程度の許容範囲を持つ処理実行条件を設定し、設定された処理実行条件を満足する状態となった場合に把持、あるいは結合等の処理を実行可能としたので、ユーザの操作性に緻密な正確さを要求することがなくなり、操作の容易性および効率性を高めることが可能となる。
【００９３】
本発明の構成においては、複数の操作オブジェクトの間の距離が閾値距離以下となった場合や、複数の操作オブジェクトの姿勢が特定条件を満足する姿勢となった場合、例えば平行となった場合など、様々な処理実行条件を満足する場合に、オブジェクトの把持や結合などの処理可能状態にあることを表示の変更や音声出力などによってユーザに通知する。ユーザは、この通知により、どのオブジェクトが把持や結合などの処理可能状態にあるかを判別して、次の操作に移行することができる。例えばユーザが操作デバイスに設定されたボタン（スイッチ）を押下することで、オブジェクトの把持や結合などの処理が実行される。
【００９４】
オブジェクトの把持や結合などの処理可能状態にあることは、オブジェクト間の距離が閾値距離以下となったオブジェクトや、操作オブジェクトに対して平行となったオブジェクトなど、あらかじめ設定された条件を満足するオブジェクトの表示態様の変更などによって行われる。具体的には、把持可能なブロックや結合可能なブロックの色を変更したり、拡大表示したり、結線を表示したり、吹き出しを設定したり、あるいは音声出力などを実行することで、ユーザへ処理内容を提示する。
【００９５】
（オブジェクト（ブロック）の生成）
ディスプレイにオブジェクト、例えば新たにブロックを生成する場合は、ブロック実物体を用いる。図８を参照して、ディスプレイに新たにブロックを生成し、表示する場合の処理について説明する。
【００９６】
図８に示すように、ユーザが手に持った操作デバイス１０６ｂをブロック実物体６０１に接触させる（もしくは近づける）ことで、ブロック実物体６０１に対応するブロックが生成され、操作オブジェクト４０１ｂとしてディスプレイ上に表示される。
【００９７】
ブロック実物体６０１として、例えば図に示すように赤色のブロック、青色のブロック、緑色のブロックを設定し、操作デバイス１０６ｂの接触したあるいは近づいたブロック実物体６０１の色を持つブロックがディスプレイに表示される。
【００９８】
ブロック実物体６０１は、その３次元位置情報が予め表示情報制御部１０１内に登録されており、操作デバイス１０６ｂの位置が、いずれかの色のブロック実物体６０１に接触または近づいたことを示す操作デバイス１０６の位置情報が表示情報制御部１０１に入力されると、その入力位置情報に従って、特定の色のブロックからなる操作オブジェクト４０１ｂをディスプレイに表示する処理を行う。図に示す例では、緑のブロック実物体６０１に操作デバイス１０６ｂが接触したことにより、ディスプレイに緑の色のブロックからなる操作オブジェクト４０１ｂが表示される。
【００９９】
このようなオブジェクト生成表示処理を行うことで、ユーザは、ディスプレイに表示された３次元空間に落ちているブロックを把持する必要はなく、操作デバイス１０６をブロック実物体６０１に接触させるという実世界上の容易な操作で仮想空間上にブロックを生成できる。
【０１００】
ユーザは、ブロックを複数結合させることで、例えば図８に示すキリン形状を持つオブジェクト４０１ａなど、様々な形状を持つオブジェクトを生成することが可能となる。さらにこのようなブロックの組み合わせに基づくオブジェクトはネットワークを介して他のユーザと共有された空間へ移動させて、その空間内で、様々な動きを実行させることができる。
【０１０１】
図９、図１０を参照して、オブジェクトの共有空間への移動処理について説明する。共有３次元空間は、サーバ７１０の提供する３次元空間画像データであり、例えば図１０に示すサーバ提供共有３次元空間７３０のごとき３次元画像データである。
【０１０２】
この３次元画像データは、サーバ７１０のデータベースの位置情報としてのＵＲＬを指定することで、図９に示すように、ネットワーク接続された様々なクライアント７２１，７２２，７２３によって取得可能なデータである。
【０１０３】
図９において操作デバイス１０６を操作するユーザは、操作デバイス１０６をネットワーク接続用実物体７０１に接触または近づける。
【０１０４】
ネットワーク接続用実物体７０１は、その３次元位置情報が予め表示情報制御部１０１内に登録されており、操作デバイス１０６の位置が、ネットワーク接続用実物体７０１に接触または近づいたことを示す操作デバイス１０６の位置情報が表示情報制御部１０１に入力されると、ネットワーク接続用実物体７０１に対応して設定されたアドレス情報（例えばＵＲＬ）に従って、オブジェクト情報をネットワーク接続制御部７０２を介してサーバ７１０に送信する。
【０１０５】
サーバ７１０では、ＵＲＬによって特定される３次元画像データ内に、受信オブジェクト情報に基づくオブジェクトを表示する。この結果、図１０に示すように、サーバ提供共有３次元空間７３０内に操作オブジェクト４０１が表示され、これらの３次元画像は、ネットワーク接続された様々なユーザのクライアント機器のディスプレイに表示することが可能となる。サーバ提供共有３次元空間７３０には、他のユーザが組み立てたオブジェクトがあり、このような共有３次元空間７３０を複数のユーザで構築していくことが可能となる。
【０１０６】
このように、積み木アプリケーションでは、３次元情報（３次元位置および姿勢）計測部１０２内においてユーザの操作する操作デバイスを用い、ブロック実物体６０１や、ネットワーク接続用実物体７０１などを組み合わせて用いることで、様々な形状のオブジェクトを組み立て、さらに組み立てたオブジェクトを複数のユーザ間で共有することが可能であり、創作と共有という楽しみを実現することができる。
【０１０７】
また、共有３次元空間７３０に表示された操作オブジェクト４０１の動きを操作オブジェクト４０１の構成に基づいて変更するプログラムをサーバまたは、クライアント側からオブジェクト情報とともにサーバに送信し、操作オブジェクト４０１の構成に基づく動きを共有３次元空間７３０において実行するように設定することも可能である。
【０１０８】
例えば図１１（ａ）に示すように、赤のブロックの多い操作オブジェクト４０１の場合には、共有３次元空間７３０内を早く動きまわる設定のプログラムに従って動作し、図１１（ｂ）に示すように、青のブロックの多い操作オブジェクト４０１の場合には、共有３次元空間７３０内をジャンプしながら移動する設定のプログラムに従って動作し、図１１（ｃ）に示すように、緑のブロックの多い操作オブジェクト４０１の場合には、共有３次元空間７３０内を回転しながら動きまわる設定のプログラムに従って動作するといったように、操作オブジェクト４０１の動きを操作オブジェクト４０１の構成に基づいて変更するように表示プログラムを設定し、クライアントからの受信オブジェクト構成に従った動作を操作オブジェクト４０１に実行させるという構成が可能となる。なお、動作を規定するプログラムは、オブジェクト情報とともにサーバに送信する構成としても、あるいはサーバ自体が保有し、サーバがネットワークを介して受信するオブジェクト構成情報に基づいて、特定のプログラムを選択する構成としてもよい。
【０１０９】
（ブロック数の表示）
次にオブジェクトを構成するブロックの数をディスプレイに表示する例について説明する。図１２にブロック数をディスプレイに表示した例を示す。
【０１１０】
図１２において、操作オブジェクト４０１ａおよび操作オブジェクト４０１ｂが、ユーザの操作により生成されたオブジェクトを示す。ディスプレイにはこれらの操作オブジェクトに対応してブロック数表示領域７５１ａ，７５１ｂに各オブジェクトを構成するブロックの数が表示される。
【０１１１】
ブロック数表示領域７５１ａは、操作オブジェクト４０１ａの構成ブロック数＝１２を表示している。また、ブロック数表示領域７５１ｂは、操作オブジェクト４０１ｂの構成ブロック数＝７を表示している。さらに全ブロック数表示領域７５０には、ディスプレイに表示された全てのブロック数＝３０を表示している。
【０１１２】
ユーザが操作デバイスを操作し、ブロックを各オブジェクトに追加接合することで、ブロック数表示領域では、追加ブロック数に応じて数値を増加する更新がなされ、またブロックをオブジェクトから取り外す処理を行えば、取り外しブロック数に応じて数値を減少する更新がなされる。これらの制御は、表示情報制御部１０１において、各オブジェクトの構成ブロック数のカウント値を格納することで実行される。
【０１１３】
このように、各オブジェクトのブロックの個数や全体の個数を表示することで、足し算や引き算などの学習に役立てることも可能である。ブロックを結合、あるいは把持することで、操作オブジェクト４０１を構成するブロック数が動的に変化し、楽しみながら数字の計算学習を実現することが可能である。
【０１１４】
[処理シーケンス]
次に、本発明の３次元モデル処理装置において実行する各処理のシーケンスについてフローチャートを参照して説明する。
【０１１５】
図１３は、表示情報制御部におけるオブジェクト表示処理手順を示すフローチャートである。以下、図１３に示す処理をステップ番号に沿って説明する。
【０１１６】
［ステップＳ１０１］積み木アプリケーションに必要な各種初期設定が行われる。例えば、操作オブジェクトの形状（図５の例では球）や色を設定ファイルから読み込んだり、仮想空間上に落ちているブロック４０２（図５参照）の数や色を設定し、仮想空間上の床に配置したりする。
【０１１７】
［ステップＳ１０２］３次元情報（３次元位置および姿勢）計測部１０２から、各操作デバイスの３次元情報、すなわち位置と姿勢情報が入力される。
【０１１８】
［ステップＳ１０３］ステップＳ１０２で入力された各操作デバイスの３次元情報、すなわち位置および姿勢情報を基に、画像表示部１０３のディスプレイに表示する操作オブジェクト４０１の位置および姿勢を設定する。このとき、ステップＳ１０２で入力された位置および姿勢情報をそのまま操作オブジェクト４０１の位置および姿勢として設定してもよいし、何らかのオフセットを加えた上で、ディスプレイに表示する操作オブジェクト４０１の位置および姿勢を設定してもよい。
【０１１９】
［ステップＳ１０４］ユーザの操作する操作デバイスに対応する操作オブジェクトがブロック４０２を把持した状態にあるか否かを判定する。なお、初期状態でブロックを把持させた状態とする設定と、把持しない設定とすることが可能である。把持しない設定の場合には、仮想空間上に落ちているブロック４０２（図５参照）に、操作オブジェクト４０１を接触または近づけて、操作デバイスのボタンを押下することで、ブロックを把持した状態とすることができる。
【０１２０】
ステップＳ１０４の判定において、操作オブジェクト４０１がブロック４０２を把持していると判定した場合にはステップＳ１０６へ進み、把持していない場合にはステップＳ１０５へ進む。
【０１２１】
［ステップＳ１０５］ブロックの把持処理としてのピックアップ処理が行われる。詳細は後述する。
【０１２２】
［ステップＳ１０６］ブロック間の結合処理が行われる。詳細は後述する。なお、処理を完了した後は、音の出力や、ブロックやオブジェクト、あるいはディスプレイの所定領域に色変化を表示するなどして、処理が完了したことを通知する構成とすることが望ましい。これは処理を実行していない（処理内容を表示している）場合と、処理を完了した場合を明確に区別するためである。また、同じような形状の３次元オブジェクトが複数存在する場合、処理完了後のオブジェクトの色を変更したり、把持している３次元オブジェクトの数を表示したりすることで、処理の完了を通知する構成としてもよい。
【０１２３】
［ステップＳ１０７］ステップＳ１０５のピックアップ処理もしくはステップＳ１０６の結合処理を反映させた処理結果を画像表示装置１０３に表示する。また、処理結果に応じた音声の提示がある場合にはスピーカを通して音声を出力する。
【０１２４】
［ステップＳ１０８］処理を終了するか判定する。本処理ルーチンを続行する場合は、ステップＳ１０２へ戻って上述と同様の動作を繰り返し実行する。また、処理が非続行ならばここで本処理ルーチン全体を終了させる。
【０１２５】
本処理ルーチンの終了条件は、例えば３次元情報計測部１０２やキー群３１０、ポインティングデバイス３１１を介したユーザ入力であってもよいし、アプリケーション内であらかじめ定められたルール（例えばゲームにおけるゲーム・オーバー）であってもよい。また、メモリフルなどのハードウェア又はソフトウェア上の制約を終了条件にしてもよい。
【０１２６】
次にステップＳ１０５のピックアップ処理について詳細に説明する。ここで、ピックアップ処理とは操作オブジェクト４０１をブロック４０２へ近づけ、ブロック４０２を把持する操作である。図１４に、ピックアップ処理の手順を示すフローチャートを示す。以下、図１４に示す処理をステップ番号に沿って説明する。
【０１２７】
［ステップＳ２０１］画像表示装置１０３に表示された操作オブジェクト４０１と全てのブロック４０２との距離を計算する。距離は、画像表示装置１０３に表示された仮想３次元空間における距離である。
【０１２８】
この距離算出処理においては、ピックアップできないブロックは距離算出対象からはずしてもよい。ピックアップできないブロックとは、例えば図１５（ａ）に示すグレーのブロックである。白のブロックは、ピックアップできるブロックであり、これらのブロックをピックアップにより取り外しても図１５（ｃ）に示すようにオブジェクトが１つグループとして設定されるが、グレーのブロックをピックアップするとオブジェクトが複数のグループに分割されてしまい（図１５（ｂ）参照）、１つのブロックのみの切り離しとして処理できない。従ってこれらのブロックはピックアップ処理対象外のブロックであり、距離算出対象からはずしてもよい。
【０１２９】
これは、複数のグループに分割されると、図１５（ｂ）に示すように、データ上は接触面のないブロックであっても一体のオブジェクトとして結合されていることになり、物理学的に矛盾する形状となるからである。しかし、必ずしも物理学に合致する必要はなく、アプリケーションによってはこのような形状を許すようにしてもよい。
【０１３０】
あるいは、一度組み立てたブロックを壊さないように、明示的にピックアップできないブロックを指定する仕組みにしてもよい。指定されたブロックはピックアップ不可となり、距離の計算からははずされる。
【０１３１】
［ステップＳ２０２］ステップＳ２０１で計算した操作オブジェクト４０１と各ブロック４０２との距離に基づき、操作オブジェクト４０１に最も近いブロックを検索する。
【０１３２】
［ステップＳ２０３］ステップＳ２０２で検索されたブロック４０２がピックアップ可能か否かを判定する。ピックアップ可能ならばステップＳ２０４へ進み、不可能ならばステップＳ２０５へ進む。
【０１３３】
ピックアップ可能か否かの判定は、先に図３を参照して説明した処理実行条件を満足するか否かの判定として行われる。ただし、処理実行条件を満足するブロックであっても、上述のステップＳ２０１でのピックアップできないブロックとされたブロックはピックアップ不可とされる。
【０１３４】
図３を参照して説明した処理実行条件は、例えば、操作オブジェクトとブロック間の距離ｄが予め定めた閾値距離Ｄ以下であること、あるいは操作オブジェクトとブロックとの相対的な姿勢が予め定めた条件を満足することなどである。例えば、操作オブジェクト４０１とブロック４０２の向きを考慮してピックアップ可能かどうかを判定してもよい。例えば、操作オブジェクト４０１が矢印のような形状の場合、その矢印の方向のブロック４０２のみ、ピックアップ可能にしてもよい。
【０１３５】
ここでは、操作オブジェクトとブロック間の距離ｄが予め定めた閾値距離Ｄ以下であることを処理実行条件として設定したものとして説明する。
【０１３６】
選択したブロックが処理実行条件を満足するか否かは、ステップＳ２０１で計算された距離に基づき判定する。すなわち、操作オブジェクト４０１とブロック４０２の距離が、図１３のステップＳ１０１の初期設定で設定された閾値距離Ｄより短い場合はピックアップ可能となり、長い場合にはピックアップ不可能と判定する。このようなピックアップ処理を判定する空間的関係は、先に図３を参照して説明した処理条件設定テーブルとして、処理条件蓄積部２０４に蓄積されている。
【０１３７】
また、ピックアップ可能になる距離は３次元位置および姿勢計測装置の精度に基づいて動的に決定してもよい。例えば、精度のよい高価な３次元位置および姿勢計測装置を用いている場合には、設定閾値距離Ｄを短くし、精度の悪い安価な３次元位置および姿勢計測装置を用いている場合には、設定閾値距離Ｄを長くする。これらは３次元情報（３次元位置および姿勢）計測部１０２に精度情報として記録されており、図１３のステップＳ１０１の初期設定時に表示情報制御部１０１に読み込まれる。読み込み情報に基づいて設定閾値距離Ｄが設定される。
【０１３８】
また、動的に精度が変化する３次元情報（３次元位置および姿勢）計測部１０２を用いた場合には、計測値の信頼度に応じて設定閾値距離Ｄを逐次変更してもよい。例えば、光学方式の３次元位置および姿勢計測装置を用いた場合の設定閾値距離Ｄを逐次変更処理について図１６を参照して説明する。
【０１３９】
光学方式の３次元情報（３次元位置および姿勢）計測部は被計測物体１１０３（操作デバイス１０６に相当）上に設置された複数のマーカ１１０２をカメラ１１０１で撮影し、得られた画像１１０４上のマーカの位置に基づいて被計測物体１１０３（操作デバイス１０６）の位置と姿勢が計算される。このとき、マーカは最低３点撮影されなければならないが、撮影されたマーカの数が多いほどその精度は高くなる。
【０１４０】
すなわち、図１６（ａ）のように障害物１１０５や手等によってマーカ１１０２が隠れてしまうと撮影されるマーカの数が少なく、その精度も悪い。一方、（ｂ）もしくは（ｃ）のように撮影されたマーカ１１０２の数が多くなればなるほど、その精度は高くなることが期待される。
【０１４１】
このように、光学方式の３次元情報（３次元位置および姿勢）計測部を適用した場合は、撮影画像中に観測されるマーカの数により信頼度を判定することが可能であり、この信頼度を基にピックアップ可能になる距離を動的に設定する。例えば、図１６（ａ）のように撮影されるマーカの数が少なく信頼度が低いと判定される場合は、設定閾値距離Ｄを長くする。また、図１６（ｃ）のように撮影されるマーカの数が多く信頼度が高いと判定される場合は、設定閾値距離Ｄを短くする。
【０１４２】
また、磁気方式の３次元情報（３次元位置および姿勢）計測部を適用した場合には、磁界を発生させて３次元の位置および姿勢を計測しているため、発生させた磁界に影響を与える鉄等の物質が周囲に存在する場合には精度が悪くなる。このように磁気方式の計測装置の精度は周囲の影響に大きく依存する。
【０１４３】
従って、磁気方式の３次元情報（３次元位置および姿勢）計測部を用いる場合、アプリケーション起動時にユーザにディスプレイ上、あるいはディスプレイの前の既知の位置（例えば、ブロックの生成を表す実物体６０１の位置等）をポインティングしてもらい、計測値と実際の値のずれやばらつきに基づいて精度を推測し、実際の使用環境における測定精度を判定し、この判定情報に基づいて設定閾値距離Ｄを設定する構成としてもよい。
【０１４４】
このように、設定閾値距離Ｄ等の処理実行条件は、３次元情報計測部における３次元情報計測精度または分解能に基づいて決定する構成とする。なお、分解能とは、計測可能最小単位であり、これらの３次元情報計測精度または分解能情報は、初期設定（図１２のステップＳ１０１）において、３次元情報計測部１０２から表示情報制御部１０１に通知され、表示情報制御部１０１が通知情報に基づいて設定閾値距離Ｄ等の処理実行条件を決定する。また、計測の過程で精度、分解能が変化した場合も、変化情報を表示情報制御部１０１が３次元情報計測部１０２から受領し、受領情報に基づいて、動的に設定閾値距離Ｄ等の処理実行条件を変更する。
【０１４５】
［ステップＳ２０４］ステップＳ２０２で検索され、ステップＳ２０３でピックアップ可能であると判定されたブロック４０２のユーザに対する通知処理を行う。例えばピックアップ可能であると判定されたブロック４０２を識別可能に表示する。これは視覚的にどのブロックがピックアップ可能かわかりやすくするためである。この処理としては表示態様の変更、音声出力など様々であり、先に図３を参照して説明した処理条件設定テーブルに設定された処理態様に対応する処理である。
【０１４６】
図１７にピックアップ可能ブロックを識別可能に表示する処理例を示す。（ａ）は他のブロックと異なる色での表示を行うことで、ピックアップ可能なブロック１２０１を示している。（ｂ）はブロックの上部に噴出し１２０２を表示しピックアップ可能なブロック１２０１を示している。（ｃ）は操作オブジェクト４０１からピックアップ可能なブロック１２０１に伸びるガイド１２０３を表示し、ピックアップ可能なブロック１２０１を示している。（ｄ）はピックアップ可能なブロックの大きさを大きくし、ピックアップ可能なブロック１２０１を示している。あるいはアニメーション効果を付け加えてもよい。
【０１４７】
さらに音の効果でピックアップ可能なブロック１２０１を表現してもよい。例えば、犬や猫等の動物の絵が表示されているブロックの場合、ブロックに表示されている動物の鳴き声でピックアップ可能なブロック１２０１を表現してもよい。
【０１４８】
このように色や噴出し、ガイド、形状、アニメーション、音あるいはこれらの複合等でピックアップ可能なブロックを明示的に表示する。
【０１４９】
［ステップＳ２０５］ブロック４０２をピックアップするか判定する。ステップＳ２０４までで候補となるピックアップ可能なブロック４０２がない場合、あるいはピックアップの指示がない場合には処理は終了となる。ピックアップの指示があり、ピックアップ可能なブロック４０２が存在する場合にはステップＳ２０６へ進む。
【０１５０】
ここでピックアップの指示とは、例えば操作デバイス１０６に取り付けられたボタンの押下によって行われる。あるいは操作デバイス１０６を移動させて、ディスプレイに表示された操作オブジェクトをピックアップ可能なオブジェクトにさらに近づけた場合に、表示情報制御部１０１がピックアップの指示入力であると判定する構成としてもよい、
【０１５１】
［ステップＳ２０６］ピックアップ可能なブロック４０２を把持する。把持とはブロック４０２を操作オブジェクト４０１の位置へ移動し一体化するものであり、その後、ブロック４０２と操作オブジェクト４０１の相対的な位置関係を維持することを意味する。すなわち、操作オブジェクト４０１を動かすと、同時に把持したブロック４０２も移動する。
【０１５２】
以上のようなフローによりオブジェクトの把持（ピックアップ）処理が実行される。このように本発明の構成では、操作オブジェクト４０１を、ディスプレイに表示した仮想３次元空間において、把持（ピックアップ）対象オブジェトクトと同一の座標位置に設定することなく、一定距離の範囲内など、ある条件を満たすことで把持可能なブロック４０２をユーザに識別可能に提示することが可能であり、ユーザ入力により把持の指示があった場合にはそのブロック４０２を把持する処理を実行する構成としたので、３次元情報（３次元位置および姿勢）計測部１０２の計測精度が悪い場合でも、ユーザはストレスなく把持操作を行うことが可能となる。
【０１５３】
次に、図１３のステップＳ１０６に示す結合処理について詳細に説明する。ここで、結合処理とは操作オブジェクト４０１が把持しているブロック４０２を放し、他の操作オブジェクトが近くに位置する場合には、ブロック４０２を結合する操作である。図１８は、結合処理の手順を示すフローチャートである。以下、図１８に示す処理をステップ番号に沿って説明する。
【０１５４】
［ステップＳ３０１］自操作オブジェクトが把持しているブロック以外のブロックの３次元情報（３次元位置および姿勢情報）を取得する。ここで、操作オブジェクト４０１が把持しているブロック４０２以外にも結合を許す場合、例えば落ちているブロック４０２や壁のブロック４０２に結合する等、結合が可能な全てのブロック４０２についての３次元情報を取得する。
【０１５５】
［ステップＳ３０２］ステップＳ３０１で３次元情報を取得した各ブロック４０２と、自操作オブジェクト４０１が把持している全てのブロック４０２との距離を計算する。このとき、結合不可能なブロック４０２は条件からはずしてもよい。結合できないブロック４０２とは、例えばブロックの結合する面にすでに他のブロックが結合している場合である。この場合、ブロック各面には１つのブロックしか結合できない。
【０１５６】
また、複数のブロック同士を結合する場合、最終的な結合後の状態を想定し、重なるブロックが存在する場合は結合不可能と判定してもよい。図１９に結合後に重なるブロックが発生する場合の例を示す。図１９（ａ）に示すように、オブジェクト１４５１とオブジェクト１４５２の結合ブロック組１４０１を結合させると、図１９（ｂ）に示すように、オブジェクト１４５１とオブジェクト１４５２において、重なるブロック１４０２が発生する。
【０１５７】
このような重なりブロックが発生する場合は、結合不可と判定する。なお、これらの処理の可否設定変更可能であり、重なりブロックが発生する場合であっても、結合可として処理を行う構成としてもよい。
【０１５８】
［ステップＳ３０３］ステップＳ３０２で計算した各ブロック４０２間の距離に基づき、最も近いブロック４０２の組を検索する。
【０１５９】
［ステップＳ３０４］ステップＳ３０３で検索されたブロック４０２の組が結合可能か判定する。結合可能ならばステップＳ３０５へ進み、不可能ならばステップＳ３０６へ進む。
【０１６０】
結合可能かどうかの判定は、ピックアップ処理のピックアップ可能かどうかの判定と同様に、２つのブロック４０２の距離に基づき判定され、距離が図１３のステップＳ１０１の初期設定等で設定された閾値距離Ｄより短い場合は結合可能となり、長い場合には結合不可能となる。このような結合処理を判定する処理条件は、処理条件蓄積部２０４に蓄積された、先に図３を参照して説明した処理条件設定テーブルに設定されている。
【０１６１】
なお、閾値距離Ｄについては、ピックアップ可能かどうかの判定処理において説明したと同様、３次元情報（３次元位置および姿勢）計測部の計測精度に基づいて動的に決定する構成としてもよい。
【０１６２】
また、上述したステップＳ３０２での結合可能かどうかの判定と同様に、結合しようとしている面にすでに結合されているブロックがある場合には、閾値距離Ｄのブロックであっても結合不可と判定する構成とする。ただし、重なりブロックを許容する設定の場合は、結合可と判定する。
【０１６３】
［ステップＳ３０５］ステップＳ３０３で検索され、ステップＳ３０４で結合可能であると判定されたブロック４０２を識別可能とする処理を実行する。例えばハイライト表示を行う。これは視覚的にどのブロックが結合可能かわかりやすくするためである。
【０１６４】
図２０に結合可能として選択されたブロック４０２の表示例を示す。（ａ）は他のブロックと異なる色にして結合可能なブロック１５０１を示している。（ｂ）は互いの結合される面である結合面１５０２を異なる色や模様で表し、結合されるブロックとその面を示している。（ｃ）は結合後の様子の仮想結合領域１５０３を表示している。このようにブロックの位置だけでなく、姿勢も制約される場合、結合後の様子としての仮想結合領域１５０３を表示したり、結合面１５０２を表示するのが望ましい。
【０１６５】
図１５（ｃ）のように、操作オブジェクト４０１と同じ形状のオブジェクトを、結合後の様子を示す仮想結合領域１５０３として表示することにより、従来のグリッドによる位置制約とは異なる効果が期待できる。すなわち、グリッドによる位置制約の場合、操作オブジェクト４０１自体が移動するため、操作オブジェクトがグリッド間を飛ぶように表示されるのに対し、本構成の場合は、操作オブジェクト４０１と同一形状の仮想形状１５０３を確認しながら、操作オブジェクト４０１自体は、３次元空間を滑らかに移動操作することが可能であり、より自然なコントロールが可能となる。
【０１６６】
その他にピックアップ処理と同様に、大きさなどの形状や、アニメーション、音等で結合可能なブロックを表現してもよいし、それらの組み合わせでもよい。
【０１６７】
［ステップＳ３０６］ブロック４０２を結合するか判定する。ステップＳ３０５までで結合処理候補となる結合可能なブロック４０２がない場合、あるいはユーザからの結合の指示がない場合には処理はステップＳ３０８へ進む。結合の指示があり、結合可能なブロック４０２が存在する場合にはステップＳ３０７へ進む。
【０１６８】
ここで結合の指示とは、例えば操作デバイス１０６等に取り付けられたボタンが押された場合や、操作デバイス１０６を振る処理などであり、表示情報制御部１０１がこれらの指示情報を入力したか否かによって、指示の有無を判定する。
【０１６９】
［ステップＳ３０７］結合可能なブロック４０２を結合する。このとき、複数のブロックを同時に把持している場合には、ブロックの塊同士が結合することとなる。
【０１７０】
［ステップＳ３０８］把持しているブロックを放す。つまり、操作デバイスに対応してディスプレイに表示されている操作オブジェクトに一体化されたブロックを操作オブジェクトから離す。この処理に際しては、物理シミュレーションにより、ブロックが重力に従って落ちるようなアニメーションをしてもいいし、その場に浮遊しているようにしてもよい。
【０１７１】
なお、ステップＳ３０７やステップＳ３０８の処理を完了した後は、音の出力や、ブロックやオブジェクト、あるいはディスプレイの所定領域に色変化を表示するなどして、処理が完了したことを通知する構成とすることが望ましい。これは処理を実行していない場合と、処理を完了した場合を明確に区別するためである。また、同じような形状の３次元オブジェクトが複数存在する場合、処理完了後のオブジェクトの色を変更したり、把持している３次元オブジェクトの数を表示したりすることで、処理の完了を通知する構成としてもよい。
【０１７２】
以上のようなフローによりオブジェクトあるいはオブジェクトの構成要素としてのブロックの結合が実行される。このように本発明の構成では、操作オブジェクト４０１を、ディスプレイに表示した仮想３次元空間において、結合対象オブジェトクトと同一あるいは接触位置の座標位置に正確に設定することなく、一定距離の範囲内など、ある条件を満たすことで結合可能なブロック４０２をユーザに識別可能に提示することが可能であり、ユーザ入力により結合の指示があった場合にはオブジェクト相互またはブロック相互の結合処理を実行する構成としたので、３次元情報（３次元位置および姿勢）計測部１０２の計測精度が悪い場合でも、ユーザはストレスなく結合操作を行うことが可能となる。
【０１７３】
なお、上述した実施例においては、立方体形状のブロックを３次元オブジェクトとして用いた例を説明したが、他の形状、例えば直方体、４面体、球など様々な形状を持つ３次元オブジェクトを適用することが可能である。例えば、３次元モデルがポリゴンで表現されている場合、ポリゴンや辺、頂点などをハイライトし、把持可能なオブジェクトあるいは結合可能なオブジェクトを識別表現することなどが可能である。
【０１７４】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【産業上の利用可能性】
【０１７５】
以上、説明したように、本発明の構成によれば、画像表示部に表示した異なる複数の３次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合にオブジェクトの把持や結合などの処理を実行可能であることを示す識別情報を提示、例えば、オブジェクトの表示態様の変更や音声出力などを実行する構成としたので、ユーザはオブジェクトの把持や結合処理が可能な位置にあることを即座に把握することができる。特にディスプレイ奥行き方向の距離感を正確に把握できない場合などにおいても、ユーザはオブジェクトに対する処理可能性を容易に把握することが可能となり、ユーザはストレスを感じることなく、操作効率を高めた処理が可能となり、グラフィック処理を実行するコンピュータ、ＣＡＤ、ゲーム機、ＣＧグラフィック処理装置等、様々な情報処理装置において利用可能である。
【図面の簡単な説明】
【０１７６】
【図１】本発明の３次元モデル処理装置の構成を模式的に示す図である。
【図２】本発明の３次元モデル処理装置における表示情報制御部の構成を示すブロック図である。
【図３】表示情報制御部の処理条件蓄積部の格納した処理条件設定テーブルの構成例を示す図である。
【図４】本発明の３次元モデル処理装置のハードウェア構成例を示す図である。
【図５】本発明の３次元モデル処理装置の一実施例である積み木アプリケーションの概要を説明する図である。
【図６】積み木アプリケーションの概念と磁石の概念を対比して示した図である。
【図７】閾値距離に基づく把持可能ブロックと把持不可能ブロックの区別および識別表示例について説明する図である。
【図８】積み木アプリケーションにおいて、ブロックを生成する仕組みを示す図である。
【図９】積み木アプリケーションにおけるネットワーク接続に基づく共有空間へのオブジェクト移動処理について説明する図である。
【図１０】積み木アプリケーションにおいて、ネットワーク接続に基づく共有空間へのオブジェクト移動処理について説明する図である。
【図１１】積み木アプリケーションにおいて、ネットワーク接続に基づく共有空間へのオブジェクト移動およびオブジェクト構成に基づく動作制御について説明する図である。
【図１２】積み木アプリケーションにおいて、オブジェクトの構成ブロック数の表示例を示す図である。
【図１３】表示情報制御部におけるオブジェクト表示手順を示すフローチャートである。
【図１４】操作オブジェクトの操作手順であるピックアップ処理手順を示すフローチャートである。
【図１５】ピックアップ処理できないブロックの例を示す図である。
【図１６】光学方式３次元位置および姿勢計測装置における信頼性の違いを示す図である。
【図１７】ピックアップ処理可能なブロックについての識別表示例を示す図である。
【図１８】操作オブジェクトの操作手順であるブロック結合処理手順を示すフローチャートである。
【図１９】結合処理が不可能な場合を示す図である。
【図２０】結合処理可能なブロックの提示例を示す図である。
【符号の説明】
【０１７７】
１０１  表示情報制御部
１０２  ３次元情報（３次元位置および姿勢）計測部
１０３  画像表示部
１０４  ３次元情報算出部
１０５  磁界発生部
１０６  操作デバイス
１０７  オブジェクト
２０１  ３次元情報入力部
２０２  ３次元モデル位置・姿勢入力部
２０３  ３次元モデル処理予測部
２０４  処理条件蓄積部
２０５  処理実行部
３０１  ＣＰＵ
３０２  ＲＡＭ
３０３  ＲＯＭ
３０４  外部記憶装置
３０５  入力インタフェース
３０６  出力インタフェース
３０７  ネットワークインタフェース
３０８  バス
３０９  ３次元情報計測部
３１０  キー群
３１１  ポインティングデバイス
３１２  ディスプレイ
３１３  スピーカ
４０１  操作オブジェクト
４０２  ブロック
４５１  把持可能ブロック
４５２  把持不可能ブロック
６０１  ブロック実物体
７０１  ネットワーク接続用実物体
７０２  ネットワーク接続制御部
７１０  サーバ
７２１，７２２，７２３  クライアント
７３０  サーバ提供共有３次元空間
７５０  全ブロック数表示領域
７５１  ブロック数表示領域
１１０１  カメラ
１１０２  マーカ
１１０３  被計測物体
１１０４  画像
１２０１  ピックアップ可能なブロック
１４０１  結合ブロック
１４０２  重なるブロック
１５０１  結合可能なブロック
１５０３  仮想結合領域
【図１】
2005038303.tif 000003
【図２】
2005038303.tif 000004
【図３】
2005038303.tif 000005
【図４】
2005038303.tif 000006
【図５】
2005038303.tif 000007
【図６】
2005038303.tif 000008
【図７】
2005038303.tif 000009
【図８】
2005038303.tif 000010
【図９】
2005038303.tif 000011
【図１０】
2005038303.tif 000012
【図１１】
2005038303.tif 000013
【図１２】
2005038303.tif 000014
【図１３】
2005038303.tif 000015
【図１４】
2005038303.tif 000016
【図１５】
2005038303.tif 000017
【図１６】
2005038303.tif 000018
【図１７】
2005038303.tif 000019
【図１８】
2005038303.tif 000020
【図１９】
2005038303.tif 000021
【図２０】
2005038303.tif 000022