(57)【特許請求の範囲】
【請求項１】
第１の視認空間に第１の表示物を立体的に表示する第１の表示部と、
第２の視認空間に前記第１の表示物と関連づけられた第２の表示物を立体的に表示する第２の表示部と、
前記第１の視認空間における第１の対象物の動きを検出する第１の検出部と、
前記第２の視認空間における第２の対象物の動きを検出する第２の検出部と、
前記第１の視認空間における前記第１の対象物の第１の動きに応じて、前記第１の表示物および前記第２の表示物を変化させる制御部とを備え、
前記制御部は、前記第１の視認空間における前記第１の対象物の前記第１の動きが前記第１の検出部によって検出され、前記第２の視認空間における前記第２の対象物の第２の動きが前記第２の検出部によって検出されたときに、当該第１の動きと当該第２の動きのうち、先に検出された動きに応じて、前記第１の表示物および前記第２の表示物を変化させる表示機器。
【請求項２】
前記制御部は、前記第１の動きが検出された時刻と前記第２の動きが検出された時刻の差が所定時間よりも小さい場合、前記第１の表示物および前記第２の表示物を変化させない請求項１に記載の表示機器。
【請求項３】
前記第１の検出部は、前記第１の対象物が前記第１の表示物の外側から内側へ移動する第１の状態を検出し、
前記制御部は、前記第１の状態が検出されたときに、前記第１の対象物の動きに応じて前記第１の表示物および前記第２の表示物を変化させる請求項１または２に記載の表示機器。
【請求項４】
前記第１の検出部は、前記所定時間以上、前記第１の対象物が前記第１の表示物と接触する位置にある第２の状態を検出し、
前記制御部は、前記第２の状態が検出された後に、前記第１の対象物の動きに応じて前記第１の表示物および前記第２の表示物を変化させる請求項２に記載の表示機器。
【請求項５】
前記第１の検出部は、前記第１の対象物が前記第１の表示物の外側から内側へ向けて前記所定時間以上継続して移動する第３の状態を検出し、
前記制御部は、前記第３の状態が検出されたときに、前記第１の対象物の動きに応じて前記第１の表示物および前記第２の表示物を変化させる請求項２に記載の表示機器。
【請求項６】
前記検出部は、前記第１の対象物が前記第１の表示物の外側から内側へ向けて前記所定時間以上継続して移動する第４の状態を検出し、
前記制御部は、前記第１の対象物の前記第１の表示物の内側への移動が検出されたときから前記第１の表示物および前記第２の表示物を変化させ始める請求項２に記載の表示機器。
【請求項７】
前記制御部は、前記第１の表示物を変化させ始めた後に、前記所定時間の経過前に前記第１の対象物の前記第１の表示物の内側の移動が検出されなくなった場合に、前記第１の表示物および前記第２の表示物の変化を元に戻す逆変化の表示を行う請求項６に記載の表示機器。
【請求項８】
前記検出部は、前記第１の対象物と第３の対象物の間に前記第１の表示物が位置する第５の状態を検出し、
前記制御部は、前記第５の状態が検出されたときに、前記第１の表示物および前記第２の表示物を変化させる請求項１から７のいずれか１項に記載の表示機器。
【請求項９】
前記検出部は、前記所定時間以上、前記第１の対象物と第３の対象物の間に前記第１の表示物が位置する第６の状態を検出し、
前記制御部は、前記第６の状態が検出されたときに、前記第１の表示物および前記第２の表示物を変化させる請求項２に記載の表示機器。
【請求項１０】
前記検出部は、前記第１の対象物と第３の対象物の間に前記第１の表示物が位置し、かつ、前記所定時間以上、前記第１の対象物と前記第３の対象物間の距離が開かない第７の状態を検出し、
前記制御部は、前記第７の状態が検出されたときに、前記第１の表示物および前記第２の表示物を変化させる請求項２に記載の表示機器。
【請求項１１】
前記検出部は、前記第１の対象物と第３の対象物の間に前記第１の表示物が位置してから、前記第１の対象物あるいは前記第３の対象物の少なくとも一方が移動し、かつ、前記所定時間以上、前記第１の対象物と前記第３の対象物間の距離が開かない第８の状態を検出し、
前記制御部は、前記移動を検出したときから前記第１の表示物および前記第２の表示物を変化させ始める請求項２に記載の表示機器。
【請求項１２】
前記制御部は、前記第１の対象物と前記第３の対象物の間に前記第１の表示物が位置してから、前記第１の対象物あるいは前記第３の対象物の少なくとも一方が移動し、かつ、前記所定時間の経過前に前記第１の対象物と前記第３の対象物間の距離が開いたことが検出されたときには、前記第１の表示物および前記第２の表示物の変化を元に戻す逆変化の表示を行う請求項１１に記載の表示機器。
【請求項１３】
前記制御部は、前記第１の動きと前記第２の動きとに応じて前記第１の表示物および前記第２の表示物を変化させることにより、シーソーゲームを実現する請求項１から１２のいずれか１項に記載の表示機器。
【請求項１４】
前記制御部は、前記第１の動きと前記第２の動きとに応じて前記第１の表示物および前記第２の表示物を変化させることにより、もぐらたたきゲームを実現する請求項１から１２のいずれか１項に記載の表示機器。
【請求項１５】
前記検出部は、静電容量を検出することによって前記対象物の動きを検出する請求項１から１４のいずれか１項に記載の表示機器。
【請求項１６】
前記検出部は、可視光または不可視光を検出することによって前記対象物の動きを検出する請求項１から１４のいずれか１項に記載の表示機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示機器に関する。
【背景技術】
【０００２】
携帯電話端末等の表示部を備える表示機器には、画像等を立体表示することができるものがある（例えば、特許文献１参照）。立体表示は、両眼の視差を利用して実現される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−９５５４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
立体表示は利用者にとって親しみやすい表示形式であるにも関わらず、従来の表示機器では、立体表示は視聴目的でしか利用されず、操作の利便性を向上させるためには利用されてこなかった。本発明は、利用者に対して利便性の高い操作方法を提供することができる表示機器を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明に係る表示機器は、第１の視認空間に第１の表示物を立体的に表示する第１の表示部と、第２の視認空間に前記第１の表示物と関連づけられた第２の表示物を立体的に表示する第２の表示部と、前記第１の視認空間における第１の対象物の動きを検出する第１の検出部と、前記第２の視認空間における第２の対象物の動きを検出する第２の検出部と、前記第１の視認空間における前記第１の対象物の第１の動きが前記第１の検出部によって検出されたときに、当該第１の動きに応じて、前記第１の表示物および前記第２の表示物を変化させる制御部とを備える。
【発明の効果】
【０００６】
本発明は、利用者に対して利便性の高い操作方法を提供することができるという効果を奏する。
【図面の簡単な説明】
【０００７】
【図１】図１は、第１の実施例に係る携帯電話端末の外観を示す正面図である。
【図２】図２は、開状態の携帯電話端末の側面図である。
【図３】図３は、閉状態の携帯電話端末の側面図である。
【図４】図４は、第１の実施例に係る携帯電話端末の機能的な構成を示すブロック図である。
【図５】図５は、３次元オブジェクトの表示と、３次元オブジェクトに対する操作とについて説明するための図である。
【図６】図６は、オブジェクトデータに格納される情報の一例を示す図である。
【図７】図７は、操作の有効性を判定するための処理手順を示すフローチャートである。
【図８】図８は、棒取りゲームの一例を示す図である。
【図９】図９は、シーソーゲームの一例を示す図である。
【図１０】図１０は、もぐらたたきゲームの一例を示す図である。
【図１１】図１１は、３次元オブジェクトを押す操作の検出と、検出された操作に応じた３次元オブジェクトの変化について説明するための図である。
【図１２】図１２は、３次元オブジェクトを押す操作の検出と、検出された操作に応じた３次元オブジェクトの変化について説明するための図である。
【図１３】図１３は、作用データに格納される情報の一例を示す図である。
【図１４】図１４は、作用データに格納される情報の一例を示す図である。
【図１５】図１５は、作用データに格納される情報の一例を示す図である。
【図１６】図１６は、作用データに格納される情報の一例を示す図である。
【図１７】図１７は、作用データに格納される情報の一例を示す図である。
【図１８】図１８は、作用データに格納される情報の一例を示す図である。
【図１９】図１９は、３次元オブジェクトを押す操作における接触検出処理の処理手順を示すフローチャートである。
【図２０】図２０は、３次元オブジェクトを押す操作における操作検出処理の処理手順を示すフローチャートである。
【図２１】図２１は、３次元オブジェクトを押す操作の検出方式の第１の変形例について説明するための図である。
【図２２】図２２は、３次元オブジェクトを押す操作の検出方式の第１の変形例における操作検出処理の処理手順を示すフローチャートである。
【図２３】図２３は、３次元オブジェクトを押す操作の検出方式の第２の変形例について説明するための図である。
【図２４】図２４は、３次元オブジェクトを押す操作の検出方式の第２の変形例について説明するための図である。
【図２５】図２５は、３次元オブジェクトを押す操作の検出方式の第２の変形例における操作検出処理の処理手順を示すフローチャートである。
【図２６】図２６は、３次元オブジェクトを掴んで行う操作の検出について説明するための図である。
【図２７】図２７は、３次元オブジェクトを掴んで行う操作における選択検出処理の処理手順を示すフローチャートである。
【図２８】図２８は、３次元オブジェクトを掴んで行う操作における操作検出処理の処理手順を示すフローチャートである。
【図２９】図２９は、３次元オブジェクトを掴んで行う操作の検出方式の第１の変形例について説明するための図である。
【図３０】図３０は、３次元オブジェクトを掴んで行う操作の検出方式の第１の変形例における選択検出処理の処理手順を示すフローチャートである。
【図３１】図３１は、３次元オブジェクトを掴んで行う操作の検出方式の第２の変形例について説明するための図である。
【図３２】図３２は、３次元オブジェクトを掴んで行う操作の検出方式の第２の変形例について説明するための図である。
【図３３】図３３は、３次元オブジェクトを掴んで行う操作の検出方式の第２の変形例における選択検出処理の処理手順を示すフローチャートである。
【図３４】図３４は、３次元オブジェクトを掴んで行う操作の検出方式の第２の変形例における操作検出処理の処理手順を示すフローチャートである。
【図３５】図３５は、第２の実施例に係る携帯電話端末の外観を示す正面図である。
【図３６】図３６は、第２の実施例に係る携帯電話端末の機能的な構成を示すブロック図である。
【図３７】図３７は、第２の実施例における３次元オブジェクトに対する操作の検出について説明するための図である。
【図３８】図３８は、第３の実施例における３次元オブジェクトに対する操作の検出について説明するための図である。
【発明を実施するための形態】
【０００８】
以下、本発明につき図面を参照しつつ詳細に説明する。なお、以下の説明により本発明が限定されるものではない。また、以下の説明における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。以下においては、表示機器の一例として携帯電話端末について説明するが、本発明の適用対象は携帯電話端末に限定されるものではなく、例えば、ＰＨＳ（Personal  Handyphone  System）、ＰＤＡ、ポータブルナビゲーション装置、ノートパソコン、ゲーム機等に対しても本発明は適用できる。
【実施例１】
【０００９】
まず、図１から図３を参照しながら、第１の実施例に係る携帯電話端末（表示機器）１の外観について説明する。図１は、携帯電話端末１の外観を示す正面図である。図２は、開状態の携帯電話端末１の側面図である。図３は、閉状態の携帯電話端末１の側面図である。
【００１０】
図１から図３に示すように、携帯電話端末１は、第１筐体１Ａと、第２筐体１Ｂと、ヒンジ部１Ｃとを有する。第１筐体１Ａは、面の１つにタッチパネル３２と、撮影部４０ａと、撮影部４０ｂとを有する。第２筐体１Ｂは、面の１つにタッチパネル３４と、撮影部４２ａと、撮影部４２ｂとを有する。ヒンジ部１Ｃは、第１筐体１Ａと第２筐体１Ｂとを相対的に回動可能に接続する。
【００１１】
図１および図２に示す開状態では、第１筐体１Ａが有するタッチパネル３２と、第２筐体１Ｂが有するタッチパネル３４とが、ほぼ連続する平坦な平面を形成する。携帯電話端末１は、図１および図２に示す開状態から、第１筐体１Ａがヒンジ部１Ｃを回転軸としてＲの方向へ約１８０度回動することにより、図３に示す閉状態へ変形する。閉状態において、タッチパネル３２およびタッチパネル３４は、外部からは見えなくなる。
【００１２】
閉状態は、利用者が携帯電話端末１を持ち運ぶために適した形態である。開状態は、利用者が携帯電話端末１を持ち利用するために適した形態である。携帯電話端末１は、開状態と閉状態の中間的な状態、例えば、第１筐体１Ａが第２筐体１Ｂとほぼ垂直な状態でも利用されることがある。
【００１３】
次に、図４を参照しながら、携帯電話端末１の機能的な構成について説明する。図４は、携帯電話端末１の機能的な構成を示すブロック図である。図４に示すように、携帯電話端末１は、操作部１３と、マイク１５と、レシーバ１６と、制御部２２と、記憶部２４と、通信部２６と、音声処理部３０と、タッチパネル３２と、タッチパネル３４と、撮影部４０ａと、撮影部４０ｂと、撮影部４２ａと、撮影部４２ｂとを有する。
【００１４】
操作部１３は、物理的なボタンを有し、押下されたボタンに対応する信号を制御部２２へ出力する。なお、図１に示す例では、操作部１３はボタンを１つしか有していないが、操作部１３は複数のボタンを有していてもよい。また、図１に示す例では、操作部１３は、第２筐体１Ｂのタッチパネル３４が設けられている面に設けられているが、操作部１３は、どちらの筐体のどの面に設けられていてもよい。
【００１５】
マイク１５は、外部の音声を取得する。レシーバ１６は、通話時に通話相手の音声を出力する。音声処理部３０は、マイク１５から入力される音声をデジタル信号化して制御部２２へ出力する。また、音声処理部３０は、制御部２２から入力されるデジタル信号を復号してレシーバ１６へ出力する。
【００１６】
通信部２６は、アンテナ２６ａを有し、基地局によって割り当てられるチャネルを介して、基地局との間にＣＤＭＡ（Code  Division  Multiple  Access）方式などによる無線信号回線を確立する。通信部２６は、基地局との間に確立された無線信号回線を通じて、他の装置との間で電話通信および情報通信を行う。
【００１７】
タッチパネル３２およびタッチパネル３４は、文字、図形、画像等の各種の情報を表示するとともに、表示されたアイコン、ボタン、文字入力領域等の所定領域に対する入力操作を検出する。タッチパネル３２は、表示部３２ａと、タッチセンサ３２ｂとを重畳して構成される。タッチパネル３４は、表示部３４ａと、タッチセンサ３４ｂとを重畳して構成される。
【００１８】
表示部３２ａおよび表示部３４ａは、液晶ディスプレイ（Liquid  Crystal  Display）や有機ＥＬ（Organic  Electro−Luminescence）パネル等の表示装置を備え、制御部２２から入力される制御信号に従って各種の情報を表示する。タッチセンサ３２ｂおよびタッチセンサ３４ｂは、それぞれ、タッチパネル３２およびタッチパネル３４の表面に対して行われる入力操作を検出し、検出した入力操作に応じた信号を制御部２２へ出力する。タッチセンサ３２ｂおよびタッチセンサ３２ｂが各種操作を検出する方式は、静電容量式、抵抗膜式、感圧式等の任意の方式でよい。
【００１９】
タッチパネル３２およびタッチパネル３４は、３次元オブジェクトを表示できる。３次元オブジェクトは、視差を利用して立体的に見えるように作成された画像や形状等の表示物である。タッチパネル３２およびタッチパネル３４は、３次元オブジェクトをタッチパネル３２およびタッチパネル３４よりも手前に飛び出しているように表示することができる。また、タッチパネル３２およびタッチパネル３４は、３次元オブジェクトをタッチパネル３２およびタッチパネル３４よりも奥に引っ込んでいるように表示することができる。なお、３次元オブジェクトを表示する方式は、眼鏡等の器具を用いて立体視を実現する方式であってもよいし、裸眼で立体視を実現する方式であってもよい。
【００２０】
タッチパネル３２に表示される３次元オブジェクトと、タッチパネル３４に表示される３次元オブジェクトは、関連づけられていることがある。関連づけの一例として、タッチパネル３２に表示される３次元オブジェクトと、タッチパネル３４に表示される３次元オブジェクトとが、連続する１つの３次元オブジェクトとして表示されるように制御されることがある。タッチパネル３２およびタッチパネル３４にまたがって３次元オブジェクトが表示される場合、タッチパネル３２およびタッチパネル３４は、３次元オブジェクトのうち、それぞれが表示すべき部分を分担して表示する。
【００２１】
関連づけの他の例として、タッチパネル３２に表示される３次元オブジェクトと、タッチパネル３４に表示される３次元オブジェクトとが、連動して変化するように制御されることがある。例えば、タッチパネル３２に表示される３次元オブジェクトが変化する場合に、タッチパネル３４に表示される他の３次元オブジェクトが連動して変化する場合がある。
【００２２】
撮影部４０ａ、４０ｂ、４２ａ、および４２ｂは、ＣＣＤ（Charge  Coupled  Device  Image Sensor）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等のイメージセンサを用いて電子的に画像を撮影する。そして、撮影部４０ａ、４０ｂ、４２ａ、および４２ｂは、撮影した画像を信号に変換して制御部２２へ出力する。撮影部４０ａ、４０ｂ、４２ａ、および４２ｂは、３次元オブジェクトが立体的に表示される空間（以下、「視認空間」ということがある）において３次元オブジェクトを選択して操作する物体を検出する検出部としても機能する。
【００２３】
撮影部４０ａおよび撮影部４０ｂは、主として第１筐体１Ａ側の視認空間内に位置する物体を撮影する。撮影部４２ａおよび撮影部４２ｂは、主として第２筐体１Ｂ側の視認空間内に位置する物体を撮影する。なお、撮影部４０ａ、４０ｂ、４２ａ、および４２ｂは、視認空間内のどこに指等の物体が位置していても、少なくともいずれか１つがその物体を撮影することができるように画角や配置が設定されていることが好ましい。また、撮影部４０ａ、４０ｂ、４２ａ、および４２ｂは、可視光の画像を取得する装置であってもよいし、赤外線等の不可視光の画像を取得する装置であってもよい。以下の説明では、撮影部４０ａおよび４０ｂを、いずれかを特定することなく撮影部４０と称することがある。また、撮影部４２ａおよび４２ｂを、いずれかを特定することなく撮影部４２と称することがある。
【００２４】
制御部２２は、演算手段であるＣＰＵ（Central  Processing  Unit）と、記憶手段であるメモリとを備え、これらのハードウェア資源を用いてプログラムを実行することによって各種の機能を実現する。具体的には、制御部２２は、記憶部２４に記憶されているプログラムやデータを読み出してメモリに展開し、メモリに展開されたプログラムに含まれる命令をＣＰＵに実行させる。そして、制御部２２は、ＣＰＵによる命令の実行結果に応じて、メモリおよび記憶部２４に対してデータの読み書きを行ったり、通信部２６や表示部３２ａ等の動作を制御したりする。ＣＰＵが命令を実行するに際しては、メモリに展開されているデータやタッチセンサ３２ｂ等から入力される信号がパラメータや判定条件の一部として利用される。
【００２５】
記憶部２４は、フラッシュメモリ等の不揮発性を有する記憶装置からなり、各種のプログラムやデータを記憶する。記憶部２４に記憶されるプログラムには、制御プログラム２４ａが含まれる。また、記憶部２４に記憶されるデータには、オブジェクトデータ２４ｂと、作用データ２４ｃとが含まれる。なお、記憶部２４は、メモリカード等の可搬の記憶媒体と、記憶媒体に対して読み書きを行う読み書き装置との組み合わせによって構成されてもよい。この場合、制御プログラム２４ａ、オブジェクトデータ２４ｂ、作用データ２４ｃは、記憶媒体に記憶されていてもよい。また、制御プログラム２４ａ、オブジェクトデータ２４ｂ、作用データ２４ｃは、通信部２６による無線通信によってサーバ装置等の他の装置から取得することとしてもよい。
【００２６】
制御プログラム２４ａは、携帯電話端末１を稼働させるための各種制御に関する機能を提供する。制御プログラム２４ａが提供する機能には、タッチパネル３２での３次元オブジェクトの表示を制御する機能や、タッチパネル３２によって表示される３次元オブジェクトに対する利用者の操作を検出する機能が含まれる。
【００２７】
オブジェクトデータ２４ｂは、３次元オブジェクトの形状や性質に関する情報を含む。オブジェクトデータ２４ｂは、３次元オブジェクトを表示するために用いられる。作用データ２４ｃは、表示されている３次元オブジェクトに対する操作が３次元オブジェクトにどのように作用するかに関する情報を含む。作用データ２４ｃは、表示されている３次元オブジェクトに対する操作が検出された場合に３次元オブジェクトを変化させるために用いられる。ここでいう変化には、移動、回転、変形、消失等が含まれる。
【００２８】
次に、図５および図６を参照しながら、３次元オブジェクトの表示と、３次元オブジェクトに対する操作とについて説明する。図５は、３次元オブジェクトの表示と、３次元オブジェクトに対する操作とについて説明するための図である。図６は、オブジェクトデータ２４ｂに格納される情報の一例を示す図である。
【００２９】
図５に示すように、タッチパネル３２およびタッチパネル３４が３次元オブジェクトを立体的に表示することができる視認空間５０は、開状態の第１筐体１Ａと第２筐体１Ｂとにまたがって形成される。図５に示す例では、開状態の第１筐体１Ａと第２筐体１Ｂとの境界付近に３次元オブジェクトＯＢ１が表示されている。３次元オブジェクトＯＢ１は、関連づけられた２つの３次元オブジェクト、すなわち、タッチパネル３２によって表示される第１のオブジェクトと、タッチパネル３４によって表示される第２のオブジェクトとによって構成される。
【００３０】
３次元オブジェクトＯＢ１は、オブジェクトデータ２４ｂに基づいて表示される。図６に示すように、オブジェクトデータ２４ｂには、種別、形状情報、色、透明度等を含む情報が３次元オブジェクト毎に格納される。種別は、３次元オブジェクトの物理的な性質を示す。種別は、例えば、「剛体」、「弾性体」等の値をとる。形状情報は、３次元オブジェクトの形状を示す情報である。形状情報は、例えば、３次元オブジェクトを構成する面の頂点座標の集合である。色は、３次元オブジェクトの表面の色である。透明度は、３次元オブジェクトが光を透過させる度合いである。なお、オブジェクトデータ２４ｂは、複数の３次元オブジェクトに関する情報を保持することができる。
【００３１】
図５に示す例では、第１筐体１Ａ側にいる利用者Ｕ１は、視認空間５０内に手Ｈ１を移動させ、手Ｈ１で３次元オブジェクトＯＢ１を操作しようとしている。携帯電話端末１は、撮影部４０が撮影する画像に基づいて、第１筐体１Ａ側の視認空間における手Ｈ１等の物体の位置および動作を検出する。そして、携帯電話端末１は、検出結果に基づいて、手Ｈ１等の物体によって３次元オブジェクトＯＢ１に対する操作が行われたと判断した場合には、操作に応じて３次元オブジェクトＯＢ１を変化させる。その場合、携帯電話端末１は、タッチパネル３２によって表示される第１のオブジェクトと、タッチパネル３４によって表示される第２のオブジェクトとを連動して変化させることによって、３次元オブジェクトＯＢ１を変化させる。
【００３２】
また、図５に示す例では、第２筐体１Ｂ側にいる利用者Ｕ１１は、視認空間５０内に手Ｈ１１を移動させ、手Ｈ１１で３次元オブジェクトＯＢ１を操作しようとしている。携帯電話端末１は、撮影部４２が撮影する画像に基づいて、第２筐体１Ｂ側の視認空間における手Ｈ１１等の物体の位置および動作を検出する。そして、携帯電話端末１は、検出結果に基づいて、手Ｈ１１等の物体によって３次元オブジェクトＯＢ１に対する操作が行われたと判断した場合には、操作に応じて３次元オブジェクトＯＢ１を変化させる。その場合、携帯電話端末１は、タッチパネル３２によって表示される第１のオブジェクトと、タッチパネル３４によって表示される第２のオブジェクトとを連動して変化させることによって、３次元オブジェクトＯＢ１を変化させる。
【００３３】
このように、携帯電話端末１は、視認空間５０に表示されている３次元オブジェクトに対する操作を、第１筐体１Ａ側と第２筐体１Ｂ側とで別々に検出する。このため、携帯電話端末１が検出された操作に応じて３次元オブジェクトＯＢ１を変化させる場合に、第１筐体１Ａ側で検出された操作と、第２筐体１Ｂ側で検出された操作とが競合することがある。競合は、例えば、関連づけられた３次元オブジェクトに対する操作が、第１筐体１Ａ側と第２筐体１Ｂ側との両方で短時間の間に検出された場合に生じる。
【００３４】
携帯電話端末１は、操作が検出された時刻に基づいて競合を解消する。原則として、携帯電話端末１は、競合が生じた場合、より早く検出された方の操作を有効にして、より後に検出された方の操作を無視する。ただし、携帯電話端末１は、検出された時刻の差が閾値よりも小さい場合には、検出されたいずれの操作も無視する。すなわち、携帯電話端末１は、検出された時刻の差が閾値よりも小さい場合には、操作に応じて３次元オブジェクトＯＢ１を変化させない。
【００３５】
ここで用いられる閾値は、例えば、利用者の手等の動作が３次元オブジェクトに対する操作であるか否かを判定するために要する期間に基づいて設定される。３次元オブジェクトに対する操作であるか否かの判定に要する時間は、利用者の手等の動作の複雑さに応じて変動する。検出された時刻の差が閾値よりも小さい場合にいずれの操作も無視することにより、後から実行された操作が誤って有効とされる可能性を低くすることができる。
【００３６】
次に、図７を参照しながら、操作の有効性を判定するための処理手順について説明する。図７は、操作の有効性を判定するための処理手順を示すフローチャートである。図７に示す処理手順は、撮影部４０と撮影部４２の少なくとも一方の撮影した画像に基づいて操作が検出されたこと等を契機として、制御部２２が制御プログラム２４ａを実行することによって実現される。
【００３７】
図７に示すように、制御部２２は、ステップＳ１１として、操作の検出結果を取得する。そして、制御部２２は、ステップＳ１２として、オブジェクトに対する操作が競合しているかを判定する。操作が競合している場合（ステップＳ１２，Ｙｅｓ）、制御部２２は、ステップＳ１３として、競合する操作の検出時刻の差が閾値よりも小さいかを判定する。
【００３８】
検出時刻の差が閾値よりも小さくない場合（ステップＳ１３，Ｎｏ）、制御部２２は、ステップＳ１４として、早く検出された方の操作を有効とする。この場合、遅く検出された方の操作は無視される。検出時刻の差が閾値よりも小さい場合（ステップＳ１３，Ｙｅｓ）、制御部２２は、ステップＳ１５として、両方の操作を無視する。
【００３９】
操作が競合していない場合（ステップＳ１２，Ｎｏ）、制御部２２は、ステップＳ１６として、検出された操作を有効とする。
【００４０】
次に、図８から図１０を参照しながら、操作の有効性の判定の応用例について説明する。図８は、棒取りゲームの一例を示す図である。棒取りゲームにおいて、携帯電話端末１は、タッチパネル３２およびタッチパネル３４に棒状の３次元オブジェクトＯＢ２を表示させる。３次元オブジェクトＯＢ２の一方の端部は、第１筐体１Ａ側の視認空間に表示され、他方の端部は、第２筐体１Ｂ側の視認空間に表示される。
【００４１】
棒取りゲームでは、第１筐体１Ａ側にいる第１の対戦者と第２筐体１Ｂ側にいる第２の対戦者とが、３次元オブジェクトＯＢ２が表示されるのを待ち、表示された３次元オブジェクトＯＢ２を先に掴むことを目指す。携帯電話端末１は、第１筐体１Ａ側の視認空間で第１の対戦者の手Ｈ１が３次元オブジェクトＯＢ２を掴む操作を、撮影部４０によって撮影された画像に基づいて検出する。また、携帯電話端末１は、第２筐体１Ｂ側の視認空間で第２の対戦者の手Ｈ２が３次元オブジェクトＯＢ２を掴む操作を、撮影部４２によって撮影された画像に基づいて検出する。
【００４２】
そして、手Ｈ１が３次元オブジェクトＯＢ２を掴む操作と、手Ｈ２が３次元オブジェクトＯＢ２を掴む操作とが検出された時刻の差が閾値より小さい場合、携帯電話端末１は、いずれの操作も無効と判定する。この場合、３次元オブジェクトＯＢ２は消去され、２人の対戦者は、３次元オブジェクトＯＢ２が表示されるのを再び待つ。一方、検出時刻の差が閾値よりも小さくない場合、携帯電話端末１は、先に３次元オブジェクトＯＢ２を掴んだ対戦者を勝者と判定する。
【００４３】
図９は、シーソーゲームの一例を示す図である。シーソーゲームにおいて、携帯電話端末１は、タッチパネル３２およびタッチパネル３４にシーソーの形状をもつ３次元オブジェクトＯＢ３を表示させる。３次元オブジェクトＯＢ３の可動部の一方の端部は、第１筐体１Ａ側の視認空間に表示され、他方の端部は、第２筐体１Ｂ側の視認空間に表示される。
【００４４】
シーソーゲームでは、３次元オブジェクトＯＢ３の可動部の第１筐体１Ａ側の端部を押し下げる操作と、第２筐体１Ｂ側の端部を押し下げる操作とが交互に行われる。携帯電話端末１は、操作に応じて、押し下げられた方の端部が下がり、他方の端部が持ち上げられるように３次元オブジェクトＯＢ３を表示させる。第１筐体１Ａ側の端部を押し下げる操作と、第２筐体１Ｂ側の端部を押し下げる操作とが適切な間隔で行われることにより、３次元オブジェクトＯＢ３の端部は、リズミカルに上下運動を繰り返す。
【００４５】
携帯電話端末１は、第１筐体１Ａ側の視認空間で端部を押し下げる操作を、撮影部４０によって撮影された画像に基づいて検出する。また、携帯電話端末１は、第２筐体１Ｂ側の視認空間で端部を押し下げる操作を、撮影部４２によって撮影された画像に基づいて検出する。そして、第１筐体１Ａ側の視認空間で端部を押し下げる操作と、第２筐体１Ｂ側の視認空間で端部を押し下げる操作とが検出された時刻の差が閾値より小さい場合、携帯電話端末１は、いずれの操作も無効と判定する。この場合、携帯電話端末１は、３次元オブジェクトＯＢ３の動きを停止させる。
【００４６】
シーソーゲームでは、３次元オブジェクトＯＢ３の可動部の２つの端部を押し下げる操作を１人が行ってもよいし、それぞれの端部で別の者が行ってもよい。また、携帯電話端末１は、３次元オブジェクトＯＢ３の端部の上下運動が継続する時間の長さに応じて得点を計上してもよいし、所定時間内に３次元オブジェクトＯＢ３の端部が上下した回数に応じて得点を計上してもよい。
【００４７】
図１０は、もぐらたたきゲームの一例を示す図である。もぐらたたきゲームにおいて、携帯電話端末１は、タッチパネル３２およびタッチパネル３４に対応付けられた複数の３次元オブジェクトを表示させる。タッチパネル３２に表示される３次元オブジェクトＯＢ１１ａは、タッチパネル３４に表示される３次元オブジェクトＯＢ１１ｂと対応付けられる。同様に、タッチパネル３２に表示される３次元オブジェクトＯＢ１２ａ、ＯＢ１３ａ、ＯＢ１４ａおよびＯＢ１５ａは、それぞれ、タッチパネル３４に表示される３次元オブジェクトＯＢ１２ｂ、ＯＢ１３ｂ、ＯＢ１４ｂおよびＯＢ１５ｂと対応付けられる。
【００４８】
携帯電話端末１は、対応付けられた３次元オブジェクトの一方を押し下げる操作が検出されると、押し下げられた３次元オブジェクトの高さを下げ、他方の３次元オブジェクトの高さを上げる。このような３次元オブジェクトの連動を基礎として、もぐらたたきゲームでは、第１筐体１Ａ側にいる第１の対戦者と第２筐体１Ｂ側にいる第２の対戦者とが、自分の側の３次元オブジェクトが低くなるように争う。
【００４９】
携帯電話端末１は、第１筐体１Ａ側の視認空間で３次元オブジェクトを押し下げる操作を、撮影部４０によって撮影された画像に基づいて検出する。また、携帯電話端末１は、第２筐体１Ｂ側の視認空間で３次元オブジェクトを押し下げる操作を、撮影部４２によって撮影された画像に基づいて検出する。
【００５０】
そして、第１筐体１Ａ側の視認空間で３次元オブジェクトを押し下げる操作と、第２筐体１Ｂ側の視認空間で対応する３次元オブジェクトを押し下げる操作とが検出された時刻の差が閾値より小さい場合、携帯電話端末１は、いずれの操作も無効と判定する。この場合、一方の３次元オブジェクトは高さが低い状態を維持し、他方の３次元オブジェクトは高さが高い状態を維持する。すなわち、対戦者は、既に低くなっている３次元オブジェクトを押し下げる操作を適切なタイミングで行うことにより、他方の対戦者が対応する３次元オブジェクトの高さを下げることを妨害することができる。
【００５１】
もぐらたたきゲームでは、携帯電話端末１は、例えば、それぞれの３次元オブジェクトの高さが低くなっている時間を第１筐体１Ａ側と第２筐体１Ｂ側とで別々に積算することによって勝者を決定してもよい。また、携帯電話端末１は、自分の側の全ての３次元オブジェクトの高さが低くなった対戦者を勝者としてもよい。
【００５２】
次に、３次元オブジェクトに対する操作の検出と、検出された操作に応じた３次元オブジェクトの変化について説明する。以下では、第１筐体１Ａ側での操作を検出する場合について説明するが、第２筐体１Ｂ側での操作も同様にして検出される。第１筐体１Ａ側で検出された操作と第２筐体１Ｂ側で検出された操作とが競合する場合、上述したように操作の有効性が判定される。また、携帯電話端末１は、第１筐体１Ａ側で検出された操作に応じて３次元オブジェクトを変化させる場合に、関連づけられた他の３次元オブジェクトを連動して変化させることがある。
【００５３】
図１１および図１２は、３次元オブジェクトを押す操作の検出と、検出された操作に応じた３次元オブジェクトの変化について説明するための図である。図１１に示すステップＳＡ１では、タッチパネル３２によって、第１筐体１Ａ側の視認空間に、３次元オブジェクトＯＢ１が立体的に表示されている。３次元オブジェクトＯＢ１は、例えば、ボールを模したオブジェクトである。また、ステップＳＡ１では、タッチパネル３２によって、３次元オブジェクトＯＢ１を支持する底面Ｂ１が表示されている。
【００５４】
ステップＳＡ２では、利用者が指Ｆ１を３次元オブジェクトＯＢ１と接触する位置に置き、そのまま静止させている。携帯電話端末１は、視認空間内で現実の物体が検出され、かつ、その物体が３次元オブジェクトＯＢ１と接触する状態が所定時間以上継続した場合、３次元オブジェクトＯＢ１が操作対象として選択されたと判定する。そして、携帯電話端末１は、３次元オブジェクトＯＢ１の表示態様を変更する等して、３次元オブジェクトＯＢ１が操作対象として選択されたことを利用者に通知する。
【００５５】
物体が３次元オブジェクトＯＢ１と接触しているかの判定は、視認空間における物体の現実の位置と、視認空間における３次元オブジェクトＯＢ１の形状および計算上の位置とに基づいて行われる。３次元オブジェクトＯＢ１の形状は、オブジェクトデータ２４ｂにおいて定義される。
【００５６】
物体の位置は、撮影部４０または撮影部４２が撮影する画像に基づいて算出される。物体の位置の算出は、予め登録されている物体の大きさと画像中の物体の大きさおよび位置とに基づいて行ってもよい。また、物体の位置の算出は、例えば、撮影部４０ａが撮影した画像における物体の大きさおよび位置と撮影部４０ｂが撮影した画像における物体の大きさおよび位置とを照合するというように、異なる撮影部によって撮影された複数の画像を解析して行ってもよい。なお、指等の物体の検出は、周知の技術を用いて実現してよい。また、指が物体の場合、指のつま先の位置を物体の位置として処理することが好ましい。
【００５７】
視認空間における３次元オブジェクトＯＢ１の計算上の位置は、タッチパネル３２の表示面上での３次元オブジェクトＯＢ１の位置と、視認空間内での３次元オブジェクトＯＢ１の浮き上がり量とに基づいて算出される。視認空間内での３次元オブジェクトＯＢ１の浮き上がり量は、表示時に決定された値であってもよいし、３次元オブジェクトＯＢ１を立体的に表示するために用いられる右目用の画像と左目用の画像における３次元オブジェクトＯＢ１の位置の差から算出された値であってもよい。
【００５８】
また、操作対象として選択されたことの通知は、例えば、３次元オブジェクトＯＢ１の全体の色を変更することや、３次元オブジェクトＯＢ１の表面のうち、物体と接触している位置の近傍の色を変更することによって実現される。このような視覚的な通知に代えて、あるいは、このような視覚的な通知に加えて、音や振動による通知を行ってもよい。
【００５９】
このように、携帯電話端末１は、指等の現実の物体が３次元オブジェクトＯＢ１と接触する状態が所定時間以上継続して検出された場合に、３次元オブジェクトＯＢ１が操作対象として選択されたと判定する。接触状態が所定時間以上継続して検出されることを条件として付加することにより、他の３次元オブジェクトを操作するために指を移動させる過程で、意図しない３次元オブジェクトが操作対象として選択されることを抑止できる。
【００６０】
３次元オブジェクトＯＢ１が操作対象として選択された後、ステップＳＡ３に示すように、利用者が、３次元オブジェクトＯＢ１を押すように、指Ｆ１を３次元オブジェクトＯＢ１の内側に侵入させたものとする。携帯電話端末１は、操作対象として選択された３次元オブジェクト内に物体を侵入させる操作が検出された場合、操作に応じて３次元オブジェクトを変化させる。３次元オブジェクトをどのように変化させるかは、オブジェクトデータ２４ｂにおいて定義されている３次元オブジェクトの種別と、作用データ２４ｃにおいてその種別と対応付けて定義されている変化のルールとによって決定される。
【００６１】
例えば、オブジェクトデータ２４ｂにおいて３次元オブジェクトＯＢ１が弾性体であると定義され、作用データ２４ｃにおいて弾性体は押された場合に押された量に応じて押された方向に変形することが定義されていたものとする。この場合、携帯電話端末１は、ステップＳＡ４に示すように、指Ｆ１が侵入した部分が押されて凹んだように３次元オブジェクトＯＢ１を変化させる。
【００６２】
また、オブジェクトデータ２４ｂにおいて３次元オブジェクトＯＢ１が剛体であると定義され、作用データ２４ｃにおいて剛体は押された場合に押された量に応じて押された方向に移動することが定義されていたものとする。この場合、携帯電話端末１は、図１２のステップＳＡ５に示すように、指Ｆ１に押されたように３次元オブジェクトＯＢ１を指Ｆ１の進行方向へ移動させる。なお、図１２のステップＳＡ５では、３次元オブジェクトＯＢ１は、底面Ｂ１に支持されているため、剛体によって印加される力の底面Ｂ１と水平方向の成分に従って移動している。
【００６３】
このように、３次元オブジェクトＯＢ１を押す操作が検出された場合に、オブジェクトデータ２４ｂおよび作用データ２４ｃに基づいて３次元オブジェクトＯＢ１を変化させることにより、３次元オブジェクトＯＢ１を操作に応じて様々に変化させることができる。押すという操作は、現実の世界の様々な場面で利用されている操作であり、３次元オブジェクトＯＢ１を押す操作を検出して対応する処理を実行することにより、直感的で利便性の高い操作性を実現することができる。
【００６４】
なお、３次元オブジェクトを操作するために用いられる物体は、指に限定されず、手、足、棒、器具等であってもよい。また、押す操作に応じて３次元オブジェクトを変化させる態様は、現実の物理法則に則していてもよいし、現実ではあり得ないものであってもよい。
【００６５】
また、携帯電話端末１は、３次元オブジェクトが押される方向がタッチパネル３２の表示面と平行でない場合、すなわち、検出された物体の移動方向がタッチパネル３２の表示面または表示面と水平な平面と交わる場合にも操作に応じて３次元オブジェクトを変化させる。このように、３次元オブジェクトを押す操作を立体的に判定することにより、３次元オブジェクトに対して多様な操作を行うことが可能になる。なお、３次元オブジェクトを押す操作を立体的に判定するためには、障害物が死角を作らないように、複数の撮影部を用意して異なる方向から指Ｆ１等を撮影することが望ましい。
【００６６】
次に、図１３から図１８を参照しながら、図４に示した作用データ２４ｃについてさらに詳しく説明する。図１３から図１８は、作用データ２４ｃに格納される情報の一例を示す図である。
【００６７】
作用データ２４ｃには、押す操作が検出された場合の変化に関する情報が３次元オブジェクトの種別毎に格納される。図１３に示すように、３次元オブジェクトの種別が「剛体」の場合、支点の有無、押された方向における障害物の有無、押される速度に応じて、押す操作が検出された場合の変化が異なる。なお、ここでいう障害物とは、他の３次元オブジェクトである。また、押される速度が速いか遅いかは閾値に基づいて判定される。
【００６８】
３次元オブジェクトに支点がなく、押された方向に障害物がない場合、３次元オブジェクトは、押された方向に押された量に応じて移動するように表示される。このように表示される３次元オブジェクトは、例えば、積み木、ペン、本である。なお、移動の仕方については、滑るのか回転するのかを３次元オブジェクトの形状に基づいて決定してよい。また、押す物体と一緒に移動するのか、押す物体にはじかれるように物体と離れて移動するのかについては、押される速度に基づいて決定してよいし、３次元オブジェクトと底面の摩擦抵抗の算出値または設定値に基づいて決定してもよい。
【００６９】
３次元オブジェクトに支点がなく、押された方向に固定された障害物がある場合、３次元オブジェクトは、押された方向に押された量に応じて移動し、障害物と接触した時点で移動が停止するように表示される。このように表示される３次元オブジェクトは、例えば、積み木、ペン、本である。なお、押された速度が速い場合は、３次元オブジェクトが障害物を破壊して移動を継続することとしてもよい。また、３次元オブジェクトが押す物体にはじかれるように物体と離れて移動している間に障害物と接触した場合は、跳ね返ったように３次元オブジェクトを逆方向に移動させてもよい。
【００７０】
３次元オブジェクトに支点がなく、押された方向に固定されていない他の剛体があり、押される速度が遅い場合、３次元オブジェクトは、押された方向に押された量に応じて移動し、他の剛体と接触した後は、他の剛体もともに移動するように表示される。また、３次元オブジェクトに支点がなく、押された方向に固定されていない他の剛体があり、押される速度が速い場合、３次元オブジェクトは、押された方向に押された量に応じて移動するように表示される。そして、３次元オブジェクトが他の剛体と接触した後は、他の剛体がはじかれて移動するように表示される。他の剛体と接触した後、３次元オブジェクトは、その場で停止してもよいし、速度を落として移動を継続してもよい。このように表示される３次元オブジェクトと他の剛体の組み合わせは、例えば、ボーリングの球とピンの組み合わせや、ビー玉同士の組み合わせである。
【００７１】
３次元オブジェクトに支点がなく、押された方向に固定されていない他の剛体があるが、他の剛体はすり抜け可能である場合、３次元オブジェクトは、押された方向に押された量に応じて移動し、他の剛体と接触した後も、他の剛体をすり抜けてそのまま移動し続けるように表示される。現実には、剛体が剛体をすり抜けることはないが、このようなすり抜けを可能にすることにより、利用者に斬新な体験を提供することができる。このように表示される３次元オブジェクトと他の剛体の組み合わせは、例えば、ボーリングの球とピンの組み合わせや、ビー玉同士の組み合わせである。なお、押される速度に閾値を設け、押される速度が閾値以下の場合は、３次元オブジェクトが他の剛体をすり抜けないこととしてもよい。
【００７２】
３次元オブジェクトに支点がある場合、３次元オブジェクトは、押された方向および量に応じて、支点を中心に回転するように表示される。ここでいう回転とは、３６０度ぐるぐると回る回転であってもよいし、所定の回転範囲内を往復する回動であってもよい。このように表示される３次元オブジェクトは、例えば、振り子、ボクシングのサンドバック、風車である。
【００７３】
また、図１４に示すように、３次元オブジェクトの種別が「弾性体」の場合、素材、変化量の制限の有無、押される速度に応じて、押す操作が検出された場合の変化が異なる。なお、ここでいう素材は、３次元オブジェクトの想定上の素材であり、オブジェクトデータ２４ｂにおいて定義される。
【００７４】
３次元オブジェクトの素材がゴム系であり、変化量に制限がなく、押される速度が遅い場合、３次元オブジェクトは、押された方向に押された量に応じて変形し、押される状態から解放されると元の形状に戻るように表示される。また、３次元オブジェクトの素材がゴム系であり、変化量に制限がなく、押される速度が速い場合、３次元オブジェクトは、押された方向に押された量に応じて変形し、その後、はじかれて、元の形状に戻りながら押された方向へ移動するように表示される。このように表示される３次元オブジェクトは、例えば、ゴムボール、消しゴムである。
【００７５】
３次元オブジェクトの素材がゴム系であり、変化量に制限がある場合、３次元オブジェクトは、押された方向に押された量に応じて変形可能範囲まで変形し、その後も押す操作が検出されると、元の形状に戻りながら押された方向へ移動するように表示される。このように表示される３次元オブジェクトは、例えば、ゴムボール、消しゴムである。
【００７６】
３次元オブジェクトの素材が金属系の場合、３次元オブジェクトは、押された方向に押された量に応じて変形可能範囲まで変形し、押される状態から解放されると元の形状に戻ったり変形したりを繰り返す（振動する）ように表示される。なお、変形可能方向以外の方向に押された場合、３次元オブジェクトは、剛体と同様に移動する。このように表示される３次元オブジェクトは、例えば、板ばね、弦巻ばねである。
【００７７】
また、図１５に示すように、３次元オブジェクトの種別が「塑性体」の場合、３次元オブジェクトは、押された箇所がへこんで全体形状が変化するように表示される。このように表示される３次元オブジェクトは、例えば、粘土である。
【００７８】
また、図１６に示すように、３次元オブジェクトの種別が「液体」の場合、押される速度に応じて、押す操作が検出された場合の変化が異なる。押される速度が遅い場合、押す物体が３次元オブジェクト、すなわち、液体につかるように表示される。押される速度が中程度の場合、押す物体が液体につかり、液体に波紋が拡がるように表示される。押される速度が速い場合、押す物体が液体につかり、液体から水しぶきがあがるように表示される。このように表示される３次元オブジェクトは、例えば、コップに入った水である。
【００７９】
また、図１７に示すように、３次元オブジェクトの種別が「気体」の場合、押される速度に応じて、押す操作が検出された場合の変化が異なる。押される速度が遅い場合、３次元オブジェクト、すなわち、気体が押す物体によってさえぎられてその周囲を漂うように表示される。押される速度が中程度の場合、気体が押す物体によって散乱されるように表示される。押される速度が速い場合、押す物体の移動方向の後ろ側で乱流により気体に渦が生まれるように表示される。このように表示される３次元オブジェクトは、例えば、煙である。
【００８０】
また、図１８に示すように、３次元オブジェクトの種別が「集合体」の場合、集合体の要素の結合状況に応じて、押す操作が検出された場合の変化が異なる。集合体の要素の結合がない場合、３次元オブジェクトは、押された箇所がへこんで集合体としての全体形状が変化するように表示される。このように表示される３次元オブジェクトは、例えば、砂、砂糖である。
【００８１】
集合体の要素の結合がある場合、３次元オブジェクトは、押された箇所がへこんで集合体としての全体形状が変化するように表示される。さらに、押された箇所以外の要素が、押された箇所の要素に引っ張られて移動するように表示される。このように表示される３次元オブジェクトは、例えば、鎖である。
【００８２】
集合体の要素の結合はないが押す物体との間に引力または斥力が働く場合、３次元オブジェクトは、押す物体と接しなくても移動するように表示される。押す物体との間に引力が働く場合、３次元オブジェクトは、押す物体と接しなくても、押す物体と所定距離以内に入ると押す物体に引き寄せられる。また、押す物体との間に斥力が働く場合、３次元オブジェクトは、押す物体と接しなくても、押す物体と所定距離以内に入ると押す物体から遠ざかる。このように表示される３次元オブジェクトと押す物体の組み合わせは、例えば、鉄粉と磁石の組み合わせである。このとき、例えば、指を磁石として扱ってもよい。
【００８３】
このように、オブジェクトデータ２４ｂに格納された情報と作用データ２４ｃに格納された情報とに基づいて３次元オブジェクトを変化させることにより、押す操作に応じて、３次元オブジェクトを多様に変化させることができる。なお、オブジェクトデータ２４ｂおよび作用データ２４ｃに格納される情報は、上記の例に限定されず、用途等に応じて適宜変更してよい。例えば、押す物体の種別および大きさや押す物体と３次元オブジェクトの接触面積の大きさに応じて、３次元オブジェクトの変化の仕方が切り替わるように設定してもよい。
【００８４】
次に、図１９および図２０を参照しながら、３次元オブジェクトを押す操作に関して携帯電話端末１が実行する処理手順について説明する。図１９は、３次元オブジェクトを押す操作における接触検出処理の処理手順を示すフローチャートである。図１９に示す処理手順は、所定の操作が検出されたこと等を契機として、制御部２２が制御プログラム２４ａを実行することによって実現される。
【００８５】
図１９に示すように、制御部２２は、まず、ステップＳ１０１として、オブジェクトデータ２４ｂに基づいて３次元オブジェクトを立体的に表示する。オブジェクトデータ２４ｂは、予め記憶部２４に記憶されていてもよいし、通信部２６による無線通信によってサーバ装置等の他の装置から取得してもよい。
【００８６】
続いて、制御部２２は、ステップＳ１０２として、検出部、すなわち、撮影部４０または撮影部４２によって所定の物体が検出されたかを判定する。所定の物体は、例えば、利用者の指である。所定の物体が検出されない場合（ステップＳ１０２，Ｎｏ）、制御部２２は、ステップＳ１０８として、操作終了が検出されたかを判定する。
【００８７】
操作終了は、例えば、操作部１３に対する所定の操作が行われた場合に検出されてもよいし、タッチパネル３２またはタッチパネル３４に対する所定の操作が行われた場合に検出されてもよい。また、操作終了は、撮影部４０または撮影部４２で利用者の手による所定のジェスチャーが撮影された場合に検出されてもよい。操作終了が検出された場合（ステップＳ１０８，Ｙｅｓ）、制御部２２は、接触検出処理を終了させる。操作終了が検出されない場合（ステップＳ１０８，Ｎｏ）、制御部２２は、ステップＳ１０２以降を再実行する。
【００８８】
所定の物体が検出された場合（ステップＳ１０２，Ｙｅｓ）、制御部２２は、ステップＳ１０３として、所定の物体の種別を判定する。所定の物体の種別は、例えば、撮影部４０または撮影部４２によって撮影された画像中の物体の大きさ、形状、色等に基づいて判定される。続いて、制御部２２は、ステップＳ１０４として、所定の物体に接触している３次元オブジェクトを探す。
【００８９】
所定の物体に接触している３次元オブジェクトがない場合（ステップＳ１０５，Ｎｏ）、制御部２２は、ステップＳ１０８として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ１０８，Ｙｅｓ）、制御部２２は、接触検出処理を終了させる。操作終了が検出されない場合（ステップＳ１０８，Ｎｏ）、制御部２２は、ステップＳ１０２以降を再実行する。
【００９０】
所定の物体に接触している３次元オブジェクトがみつかった場合（ステップＳ１０５，Ｙｅｓ）、制御部２２は、ステップＳ１０６として、オブジェクトデータ２４ｂに基づいて、所定の物体に接触している３次元オブジェクトの種別を判定する。そして、制御部２２は、ステップＳ１０７として、後述する操作検出処理を実行する。その後、制御部２２は、ステップＳ１０８として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ１０８，Ｙｅｓ）、制御部２２は、接触検出処理を終了させる。操作終了が検出されない場合（ステップＳ１０８，Ｎｏ）、制御部２２は、ステップＳ１０２以降を再実行する。
【００９１】
図２０は、３次元オブジェクトを押す操作における操作検出処理の処理手順を示すフローチャートである。図２０に示す処理手順は、制御部２２が制御プログラム２４ａを実行することによって実現される。
【００９２】
図２０に示すように、制御部２２は、まず、ステップＳ２０１として、所定の物体と３次元オブジェクトの接触時間を取得する。そして、制御部２２は、ステップＳ２０２として、所定の物体が３次元オブジェクトの内部に移動したかを判定する。所定の物体が３次元オブジェクトの内部に移動していない場合（ステップＳ２０２，Ｎｏ）、制御部２２は、ステップＳ２０１以降を再実行する。
【００９３】
所定の物体が３次元オブジェクトの内部に移動している場合（ステップＳ２０２，Ｙｅｓ）、制御部２２は、ステップＳ２０３として、接触時間が所定時間以上であるかを判定する。接触時間が所定時間よりも短い場合（ステップＳ２０３，Ｎｏ）、その３次元オブジェクトは操作対象ではないと判断されるため、制御部２２は、操作検出処理を終了させる。
【００９４】
接触時間が所定時間以上の場合（ステップＳ２０３，Ｙｅｓ）、制御部２２は、ステップＳ２０４として、所定の物体の速度を算出する。そして、制御部２２は、ステップＳ２０５として、所定の物体の種別、位置および速度と、３次元オブジェクトの種別等に基づいて３次元オブジェクトを変化させる。具体的な変化のさせ方は、作用データ２４ｃに従って決定される。
【００９５】
続いて、制御部２２は、ステップＳ２０６として、所定の物体が３次元オブジェクトの外部に移動したかを判定する。所定の物体が３次元オブジェクトの外部に移動していない場合、すなわち、押す操作が継続している場合（ステップＳ２０６，Ｎｏ）、制御部２２は、ステップＳ２０４以降を再実行する。
【００９６】
所定の物体が３次元オブジェクトの外部に移動した場合、すなわち、３次元オブジェクトが解放された場合（ステップＳ２０６，Ｙｅｓ）、制御部２２は、ステップＳ２０７として、３次元オブジェクトの変化が継続するかを判定する。例えば、作用データ２４ｃにおいて解放後も振動が所定時間継続することが定義されている場合に、３次元オブジェクトの変化が継続すると判定される。
【００９７】
３次元オブジェクトの変化が継続する場合（ステップＳ２０７，Ｙｅｓ）、制御部２２は、ステップＳ２０８として、３次元オブジェクトを変化させ、その後、ステップＳ２０７以降を再実行する。３次元オブジェクトの変化が継続しない場合（ステップＳ２０７，Ｎｏ）、制御部２２は、操作検出処理を終了させる。
【００９８】
図１９および図２０に示した処理手順に基づいて３次元オブジェクトに対する操作を検出する場合、操作の競合時に操作の有効性を判定するために用いる閾値は、ステップＳ２０３で用いられる所定時間以上の長さに設定してもよい。このように設定することにより、３次元オブジェクトに対する操作ではない動作によって３次元オブジェクトに対する操作が無効と判定される可能性を低減することができる。
【００９９】
３次元オブジェクトを押す操作の検出方式は、上記の方式に限定されない。図２１は、３次元オブジェクトを押す操作の検出方式の第１の変形例について説明するための図である。図２１に示すステップＳＢ１では、利用者が指Ｆ１を３次元オブジェクトＯＢ１と接触させ、ステップＳＢ２では、利用者が指Ｆ１を３次元オブジェクトＯＢ１の内側に侵入させている。
【０１００】
携帯電話端末１は、視認空間内で現実の物体が検出され、かつ、その物体が３次元オブジェクトＯＢ１と接触した後に３次元オブジェクトＯＢ１の内部へ移動する状態が所定時間以上継続した場合、３次元オブジェクトＯＢ１が操作対象として選択されたと判定する。そして、携帯電話端末１は、３次元オブジェクトＯＢ１の表示態様を変更する等して、３次元オブジェクトＯＢ１が操作対象として選択されたことを利用者に通知する。さらに、携帯電話端末１は、ステップＳＢ３に示すように、３次元オブジェクトＯＢ１を、あたかもステップＳＢ１の段階で既に押す操作の対象として選択されていたかのように、接触検出以降の指Ｆ１による操作に応じて変化させる。
【０１０１】
このように、物体と３次元オブジェクトの接触を検出した後は、物体がその場に留まらなくても押す操作を検出可能にすることにより、利用者は、３次元オブジェクトを押す操作を迅速に開始することができる。また、接触後に物体が３次元オブジェクトＯＢ１の内部へ移動する状態が所定時間以上継続することを条件として付加することにより、他の３次元オブジェクトを操作するために指を移動させる過程で、意図しない３次元オブジェクトが操作対象として選択されることを抑止できる。
【０１０２】
図２２は、３次元オブジェクトを押す操作の検出方式の第１の変形例における操作検出処理の処理手順を示すフローチャートである。図２２に示す処理手順は、制御部２２が制御プログラム２４ａを実行することによって実現される。なお、第１の変形例における接触検出処理の処理手順は、図１９に示した手順と同様である。
【０１０３】
図２２に示すように、制御部２２は、まず、ステップＳ３０１として、所定の物体が３次元オブジェクトの内部に移動しているかを判定する。所定の物体が３次元オブジェクトの内部に移動していない場合（ステップＳ３０１，Ｎｏ）、その３次元オブジェクトは操作対象ではないと判断されるため、制御部２２は、操作検出処理を終了させる。
【０１０４】
所定の物体が３次元オブジェクトの内部に移動している場合（ステップＳ３０１，Ｙｅｓ）、制御部２２は、ステップＳ３０２として、接触検出からの経過時間が所定時間以上であるかを判定する。経過時間が所定時間よりも短い場合（ステップＳ３０２，Ｎｏ）、制御部２２は、ステップＳ３０１以降を再実行する。
【０１０５】
接触時間が所定時間以上の場合（ステップＳ３０２，Ｙｅｓ）、制御部２２は、ステップＳ３０３として、所定の物体の速度を算出する。そして、制御部２２は、ステップＳ３０４として、所定の物体の種別、位置および速度と、３次元オブジェクトの種別等に基づいて３次元オブジェクトを変化させる。具体的な変化のさせ方は、作用データ２４ｃに従って決定される。
【０１０６】
続いて、制御部２２は、ステップＳ３０５として、所定の物体が３次元オブジェクトの外部に移動したかを判定する。所定の物体が３次元オブジェクトの外部に移動していない場合、すなわち、押す操作が継続している場合（ステップＳ３０５，Ｎｏ）、制御部２２は、ステップＳ３０３以降を再実行する。
【０１０７】
所定の物体が３次元オブジェクトの外部に移動した場合、すなわち、３次元オブジェクトが解放された場合（ステップＳ３０５，Ｙｅｓ）、制御部２２は、ステップＳ３０６として、３次元オブジェクトの変化が継続するかを判定する。例えば、作用データ２４ｃにおいて解放後も振動が所定時間継続することが定義されている場合に、３次元オブジェクトの変化が継続すると判定される。
【０１０８】
３次元オブジェクトの変化が継続する場合（ステップＳ３０６，Ｙｅｓ）、制御部２２は、ステップＳ３０７として、３次元オブジェクトを変化させ、その後、ステップＳ３０６以降を再実行する。３次元オブジェクトの変化が継続しない場合（ステップＳ３０６，Ｎｏ）、制御部２２は、操作検出処理を終了させる。
【０１０９】
第１の変形例に基づいて３次元オブジェクトに対する操作を検出する場合、操作の競合時に操作の有効性を判定するために用いる閾値は、ステップＳ３０２で用いられる所定時間以上の長さに設定してもよい。このように設定することにより、３次元オブジェクトに対する操作ではない動作によって３次元オブジェクトに対する操作が無効と判定される可能性を低減することができる。
【０１１０】
図２３および図２４は、３次元オブジェクトを押す操作の検出方式の第２の変形例について説明するための図である。図２３に示すステップＳＣ１では、タッチパネル３２によって、視認空間中に、３次元オブジェクトＯＢ１が立体的に表示されている。また、利用者は、指Ｆ１を３次元オブジェクトＯＢ１と接触させている。
【０１１１】
ここで、利用者が指Ｆ１を３次元オブジェクトＯＢ１の内側に侵入させたものとする。携帯電話端末１は、３次元オブジェクトＯＢ１に接触した物体が３次元オブジェクトＯＢ１の内側に移動したことを検出すると、ステップＳＣ２に示すように、その時点から、３次元オブジェクトＯＢ１を指Ｆ１による操作に応じて変化させる。図２３に示す例では、ステップＳＣ２において、３次元オブジェクトＯＢ１は、指Ｆ１の移動に合わせて移動を開始している。
【０１１２】
そして、携帯電話端末１は、ステップＳＣ３に示すように、指Ｆ１が３次元オブジェクトＯＢ１の内側へ向けて移動することが所定時間以上継続した段階で、３次元オブジェクトＯＢ１を操作対象として確定する。そして、携帯電話端末１は、３次元オブジェクトＯＢ１の表示態様を変更する等して、３次元オブジェクトＯＢ１が操作対象として確定したことを利用者に通知する。その後も、指Ｆ１の３次元オブジェクトＯＢ１の内側への移動が検出される間、携帯電話端末１は、３次元オブジェクトＯＢ１を変化させ続ける。
【０１１３】
なお、図２４のステップＳＣ４に示すように、所定時間が経過する前に指Ｆ１の３次元オブジェクトＯＢ１の内側への移動が検出されなくなった場合、携帯電話端末１は、それまでに加えた変化と逆の変化を３次元オブジェクトＯＢ１に加える。その結果、３次元オブジェクトＯＢ１は、ステップＳＣ１の段階と同じ位置に同じ状態で表示される。逆の変化を３次元オブジェクトＯＢ１に加える速度は、それまでに３次元オブジェクトＯＢ１に変化が加えられた速度よりも速くてもよい。すなわち、高速に逆再生しているかのように３次元オブジェクトＯＢ１を逆変化させてもよい。
【０１１４】
このように、３次元オブジェクトの内側への物体の侵入が検出された段階から３次元オブジェクトに変化を加え始めることにより、利用者は、３次元オブジェクトが選択されつつあることを選択が確定する前から認識することができる。その結果、利用者は、意図した３次元オブジェクトが選択されたか否かを早期に知ることができる。意図しない３次元オブジェクトが選択された場合、利用者は、所定時間が経過する前に操作を中止することにより、意図せずに選択された３次元オブジェクトを元の状態に戻すことができる。
【０１１５】
なお、指Ｆ１の３次元オブジェクトＯＢ１の内側への移動が所定時間以上継続するまでは、変化を加えられている３次元オブジェクトを通常時とも操作対象としての選択が確定した状態とも異なる態様（例えば、半透明）で表示してもよい。このように表示態様を変更することにより、利用者が３次元オブジェクトの状態を判別しやすくなる。
【０１１６】
図２５は、３次元オブジェクトを押す操作の検出方式の第２の変形例における操作検出処理の処理手順を示すフローチャートである。図２５に示す処理手順は、制御部２２が制御プログラム２４ａを実行することによって実現される。なお、第２の変形例における接触検出処理の処理手順は、図１９に示した手順と同様である。
【０１１７】
図２５に示すように、制御部２２は、まず、ステップＳ４０１として、所定の物体が３次元オブジェクトの内部に移動しているかを判定する。所定の物体が３次元オブジェクトの内部に移動していない場合（ステップＳ４０１，Ｎｏ）、その３次元オブジェクトは操作対象ではないと判断されるため、制御部２２は、操作検出処理を終了させる。
【０１１８】
所定の物体が３次元オブジェクトの内部に移動している場合（ステップＳ４０１，Ｙｅｓ）、制御部２２は、ステップＳ４０２として、所定の物体の速度を算出する。そして、制御部２２は、ステップＳ４０３として、所定の物体の種別、位置および速度と、３次元オブジェクトの種別等に基づいて３次元オブジェクトを変化させる。具体的な変化のさせ方は、作用データ２４ｃに従って決定される。
【０１１９】
続いて、制御部２２は、ステップＳ４０４として、接触検出からの経過時間が所定時間以上であるかを判定する。経過時間が所定時間よりも短い場合、すなわち、３次元オブジェクトが押す操作の対象として確定していない場合（ステップＳ４０４，Ｎｏ）、制御部２２は、ステップＳ４０５として、所定の物体の３次元オブジェクトの内部方向への移動が継続しているかを判定する。
【０１２０】
３次元オブジェクトの内部方向への移動が継続している場合（ステップＳ４０５，Ｙｅｓ）、制御部２２は、ステップＳ４０２以降を再実行する。３次元オブジェクトの内部方向への移動が継続していない場合（ステップＳ４０５，Ｎｏ）、制御部２２は、ステップＳ４０６として、３次元オブジェクトを逆変化させて元の状態に戻す。そして、制御部２２は、操作検出処理を終了させる。
【０１２１】
また、接触検出からの経過時間が所定時間以上である場合（ステップＳ４０４，Ｙｅｓ）、制御部２２は、ステップＳ４０７として、所定の物体が３次元オブジェクトの外部に移動したかを判定する。所定の物体が３次元オブジェクトの外部に移動していない場合、すなわち、押す操作が継続している場合（ステップＳ４０７，Ｎｏ）、制御部２２は、ステップＳ４０２以降を再実行する。
【０１２２】
所定の物体が３次元オブジェクトの外部に移動した場合、すなわち、３次元オブジェクトが解放された場合（ステップＳ４０７，Ｙｅｓ）、制御部２２は、ステップＳ４０８として、３次元オブジェクトの変化が継続するかを判定する。例えば、作用データ２４ｃにおいて解放後も振動が所定時間継続することが定義されている場合に、３次元オブジェクトの変化が継続すると判定される。
【０１２３】
３次元オブジェクトの変化が継続する場合（ステップＳ４０８，Ｙｅｓ）、制御部２２は、ステップＳ４０９として、３次元オブジェクトを変化させ、その後、ステップＳ４０８以降を再実行する。３次元オブジェクトの変化が継続しない場合（ステップＳ４０８，Ｎｏ）、制御部２２は、操作検出処理を終了させる。
【０１２４】
第２の変形例に基づいて３次元オブジェクトに対する操作を検出する場合、操作の競合時に操作の有効性を判定するために用いる閾値は、ステップＳ４０４で用いられる所定時間以上の長さに設定してもよい。このように設定することにより、３次元オブジェクトに対する操作ではない動作によって３次元オブジェクトに対する操作が無効と判定される可能性を低減することができる。
【０１２５】
上記の説明では、３次元オブジェクトを押す操作に関して説明したが、携帯電話端末１は、３次元オブジェクトを掴んで行う操作を検出することができる。図２６は、３次元オブジェクトを掴んで行う操作の検出について説明するための図である。図２６では、タッチパネル３２によって、第１筐体１Ａ側の視認空間に、３次元オブジェクトＯＢ１が立体的に表示されている。
【０１２６】
ここで、利用者が３次元オブジェクトＯＢ１を掴んで行う操作を実行したいものとする。３次元オブジェクトＯＢ１を掴んで行う操作を実行するには、まず、操作の対象として３次元オブジェクトＯＢ１を選択する必要がある。３次元オブジェクトＯＢ１を選択するために、利用者は、図２６に示すように、指Ｆ１と指Ｆ２の間に３次元オブジェクトＯＢ１が位置するように指Ｆ１および指Ｆ２を移動させ、その状態を所定時間以上維持する。
【０１２７】
携帯電話端末１は、視認空間内で２つの物体が検出され、かつ、それらの２つの物体の間に３次元オブジェクトＯＢ１が位置する状態が所定時間以上継続した場合、３次元オブジェクトＯＢ１が選択されたと判定し、３次元オブジェクトＯＢ１を選択状態にする。そして、携帯電話端末１は、３次元オブジェクトＯＢ１の表示態様を変更する等して、３次元オブジェクトＯＢ１が選択状態になったことを利用者に通知する。
【０１２８】
２つの物体の間に３次元オブジェクトＯＢ１が位置しているかの判定は、視認空間における２つの物体の現実の位置と、視認空間における３次元オブジェクトＯＢ１の形状および計算上の位置とに基づいて行われる。また、選択状態になったことの通知は、例えば、３次元オブジェクトＯＢ１の全体の色を変更することや、３次元オブジェクトＯＢ１の表面のうち、２つの物体を結ぶ直線と交わる位置の近傍の色を変更することによって実現される。このような視覚的な通知に代えて、あるいは、このような視覚的な通知に加えて、音や振動による通知を行ってもよい。
【０１２９】
このように、携帯電話端末１は、指等の現実の物体の間に３次元オブジェクトＯＢ１が位置する状態が所定時間以上継続して検出された場合に、３次元オブジェクトＯＢ１が選択されたと判定する。指の間に３次元オブジェクトＯＢ１を挟むように指を配置するという操作は、人間が現実のオブジェクトを選択するためにオブジェクトを掴む操作と類似している。そのため、かかる操作は、３次元オブジェクトを選択するための操作として、直感的で分かりやすい。また、状態が所定時間以上継続して検出されることを条件として付加することにより、他の３次元オブジェクトを選択するために指を移動させる過程で、意図しない３次元オブジェクトが選択されることを抑止できる。
【０１３０】
なお、３次元オブジェクトを操作するために用いられる物体は、指に限定されず、手、足、棒、虫ピン等であってもよい。また、携帯電話端末１は、２つの物体がタッチパネル３２の表示面と平行でない場合、すなわち、２つの物体を結ぶ直線がタッチパネル３２の表示面または表示面と水平な平面と交わる場合にも上記の条件に基づいて３次元オブジェクトを選択状態にする。このように、３次元オブジェクトが選択されたか否かを立体的に判定することにより、３次元オブジェクトの形状に合わせて選択操作を行い易くなる。
【０１３１】
３次元オブジェクトが選択されたか否かを立体的に判定するためには、障害物が死角を作らないように、複数の撮影部を用意して異なる方向から指Ｆ１および指Ｆ２等を撮影することが望ましい。
【０１３２】
携帯電話端末１は、３次元オブジェクトＯＢ１が選択状態になったと判定した後、指Ｆ１および指Ｆ２の動きに応じて、３次元オブジェクトＯＢ１に移動、変形、消失等の変化を加える。
【０１３３】
次に、図２７および図２８を参照しながら、３次元オブジェクトを掴んで行う操作に関して携帯電話端末１が実行する処理手順について説明する。図２７は、３次元オブジェクトを掴んで行う操作における選択検出処理の処理手順を示すフローチャートである。図２７に示す処理手順は、所定の操作が検出されたこと等を契機として、制御部２２が制御プログラム２４ａを実行することによって実現される。
【０１３４】
図２７に示すように、制御部２２は、まず、ステップＳ５０１として、３次元オブジェクトを立体的に表示する。３次元オブジェクトを表示するためのデータは、予め記憶部２４に記憶されていてもよいし、通信部２６による無線通信によってサーバ装置等の他の装置から取得してもよい。
【０１３５】
続いて、制御部２２は、ステップＳ５０２として、検出部、すなわち、撮影部４０または、撮影部４２によって第１の物体および第２の物体が検出されたかを判定する。第１の物体および第２の物体は、例えば、利用者の指である。第１の物体および第２の物体が検出されない場合（ステップＳ５０２，Ｎｏ）、制御部２２は、ステップＳ５１０として、操作終了が検出されたかを判定する。
【０１３６】
操作終了は、例えば、操作部１３に対する所定の操作が行われた場合に検出されてもよいし、タッチパネル３２またはタッチパネル３４に対する所定の操作が行われた場合に検出されてもよい。また、操作終了は、撮影部４０または撮影部４２で利用者の手による所定のジェスチャーが撮影された場合に検出されてもよい。操作終了が検出された場合（ステップＳ５１０，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ５１０，Ｎｏ）、制御部２２は、ステップＳ５０２以降を再実行する。
【０１３７】
第１の物体および第２の物体が検出された場合（ステップＳ５０２，Ｙｅｓ）、制御部２２は、ステップＳ５０３として、表示されている３次元オブジェクトの中から第１の物体と第２の物体との間に表示されている３次元オブジェクトを探す。該当する３次元オブジェクトがない場合（ステップＳ５０４，Ｎｏ）、制御部２２は、ステップＳ５１０として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ５１０，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ５１０，Ｎｏ）、制御部２２は、ステップＳ５０２以降を再実行する。
【０１３８】
第１の物体と第２の物体との間に表示されている３次元オブジェクトがみつかった場合（ステップＳ５０４，Ｙｅｓ）、制御部２２は、ステップＳ５０５として、第１の物体と第２の物体との間に３次元オブジェクトが位置している時間を取得する。取得した時間が所定時間未満の場合（ステップＳ５０６，Ｎｏ）、制御部２２は、ステップＳ５１０として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ５１０，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ５１０，Ｎｏ）、制御部２２は、ステップＳ５０２以降を再実行する。
【０１３９】
取得した時間が所定時間以上の場合（ステップＳ５０６，Ｙｅｓ）、制御部２２は、ステップＳ５０７として、第１の物体と第２の物体の距離を算出する。また、制御部２２は、ステップＳ５０８として、第１の物体と第２の物体との間に表示されている３次元オブジェクトを選択状態にする。そして、制御部２２は、ステップＳ５０９として、後述する操作検出処理を実行し、その中で、選択状態にある３次元オブジェクトを検出された操作に応じて変化させる。操作検出処理が終了した後、制御部２２は、ステップＳ５１０として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ５１０，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ５１０，Ｎｏ）、制御部２２は、ステップＳ５０２以降を再実行する。
【０１４０】
図２８は、３次元オブジェクトを掴んで行う操作における操作検出処理の処理手順を示すフローチャートである。図２８に示す処理手順は、制御部２２が制御プログラム２４ａを実行することによって実現される。
【０１４１】
図２８に示すように、制御部２２は、まず、ステップＳ６０１として、第１の物体と第２の物体の距離を算出する。そして、制御部２２は、ステップＳ６０２として、操作検出処理の開始時点以降の第１の物体と第２の物体の距離がほぼ一定であるかを判定する。距離がほぼ一定とは、例えば、現時点での第１の物体と第２の物体の距離の変化量が、操作検出処理の開始時点の距離と比較して、所定の範囲（第１の物体および第２の物体が通常の速度で移動した場合の距離の最大変化量の±１０％等）以内に収まっていることを意味する。また、第１の物体と第２の物体の距離が操作検出処理の開始時点以降縮まり続けている場合（第１の物体および第２の物体が３次元オブジェクトを押しつぶす方向に移動している場合）に、距離がほぼ一定であると判定してもよい。また、手振れ等の範囲内でしか両者の距離が変化していない場合に、距離がほぼ一定であると判定してもよい。
【０１４２】
第１の物体と第２の物体の距離がほぼ一定の場合（ステップＳ６０２，Ｙｅｓ）、制御部２２は、ステップＳ６０３として、第１の物体および第２の物体の移動速度を算出する。続いて、制御部２２は、ステップＳ６０４として、算出した移動速度が閾値以下であるかを判定する。ここで用いられる閾値は、例えば、人がものを放り投げるときの指先の移動速度である。また、閾値と比較される移動速度は、第１の物体の移動速度と第２の物体の移動速度の平均であってもよいし、いずれか速い方であってもよいし、いずれか遅い方であってもよい。
【０１４３】
移動速度が閾値以下の場合（ステップＳ６０４，Ｙｅｓ）、制御部２２は、ステップＳ６０５として、検出された第１の物体および第２の物体の動きに応じて３次元オブジェクトを移動させたり回転させたりする。例えば、第１の物体および第２の物体の右方向への移動が検出された場合、制御部２２は、第１の物体および第２の物体の移動に合わせて３次元オブジェクトを右方向へ移動させる。また、第１の物体および第２の物体の左回りでの回転が検出された場合、制御部２２は、第１の物体および第２の物体の回転に合わせて３次元オブジェクトを左回りで回転させる。また、移動と回転が同時に検出された場合、移動と回転が同時に実行される。なお、３次元オブジェクトの移動や回転に対する障害物がある場合、３次元オブジェクトが障害物に接触した時点で３次元オブジェクトの移動や回転を停止させてもよい。そして、制御部２２は、ステップＳ６０１以降を再実行する。
【０１４４】
移動速度が閾値より速い場合（ステップＳ６０４，Ｎｏ）、制御部２２は、ステップＳ６０６として、３次元オブジェクトを消去する。３次元オブジェクトを消去するに際して、３次元オブジェクトが第１の物体および第２の物体の移動方向へ向けて飛んでいくようにアニメーション表示してもよい。そして、制御部２２は、操作検出処理を終了させる。このように、３次元オブジェクトを放り投げるように第１の物体および第２の物体が高速で移動した場合に３次元オブジェクトを消去することにより、直感的な操作によって３次元オブジェクトの消去を実現することができる。なお、第１の物体および第２の物体を高速で移動させる操作ではなく、例えば、３次元オブジェクトを握りつぶす操作に３次元オブジェクトの消去を割り当ててもよい。また、３次元オブジェクトを消去する代わりに、３次元オブジェクトを当初の配置場所に戻すこととしてもよい。
【０１４５】
第１の物体と第２の物体の距離がほぼ一定でない場合（ステップＳ６０２，Ｎｏ）、制御部２２は、ステップＳ６０７として、距離が、３次元オブジェクトの選択時、すなわち、操作検出処理の開始時点よりも拡大しているかを判定する。距離が拡大している場合（ステップＳ６０７，Ｙｅｓ）、制御部２２は、ステップＳ６０８として、３次元オブジェクトの選択状態を解除する。第１の物体と第２の物体の距離を拡大するという操作は、掴んでいる現実のオブジェクトを放す操作と類似している。そのため、かかる操作は、３次元オブジェクトの選択を解除するための操作として、直感的で分かりやすい。
【０１４６】
続いて、制御部２２は、ステップＳ６０９として、選択状態を解除した３次元オブジェクトを重力等に従って移動させる。そして、制御部２２は、操作検出処理を終了させる。ここでの移動は、例えば、３次元オブジェクトが重力に従って落下し、床やテーブルの上で停止するように表示される。３次元オブジェクトの動きを停止させる前に、３次元オブジェクトの弾性や床やテーブルの硬度に応じて３次元オブジェクトをバウンドさせてもよい。３次元オブジェクトが床やテーブルに衝突するときの衝撃の大きさを算出し、衝撃が所定の値よりも大きい場合には３次元オブジェクトを破損したように表示してもよい。また、実際の重力が働く場合よりも３次元オブジェクトをゆっくりと移動させてもよい。
【０１４７】
第１の物体と第２の物体の距離が３次元オブジェクトの選択時よりも縮まっている場合（ステップＳ６０７，Ｎｏ）、制御部２２は、ステップＳ６１０として、距離に応じて３次元オブジェクトを変形させる。そして、制御部２２は、ステップＳ６０１以降を再実行する。３次元オブジェクトを変形させる程度は、例えば、３次元オブジェクトに属性として設定されている弾性に応じて変更してもよい。制御部２２は、ゴムボールを模した３次元オブジェクトのように属性として低い硬度を設定されているオブジェクトについては、第１の物体と第２の物体の距離が縮まるに応じて変形の度合いを高めてよい。また、制御部２２は、積み木を模した３次元オブジェクトのように属性として高い硬度を設定されているオブジェクトについては、第１の物体と第２の物体の距離が縮まっても変形の度合いを小さく保ってよい。
【０１４８】
なお、第１の物体と第２の物体の距離が３次元オブジェクトの選択時よりも縮まっている場合に、３次元オブジェクトを変形させるのではなく縮小させてもよい。また、第１の物体と第２の物体の距離が所定の値以下になった場合に、３次元オブジェクトを破損したように表示してもよい。
【０１４９】
図２７および図２８に示した処理手順に基づいて３次元オブジェクトに対する操作を検出する場合、操作の競合時に操作の有効性を判定するために用いる閾値は、ステップＳ５０６で用いられる所定時間以上の長さに設定してもよい。このように設定することにより、３次元オブジェクトに対する操作ではない動作によって３次元オブジェクトに対する操作が無効と判定される可能性を低減することができる。
【０１５０】
３次元オブジェクトを掴んで行う操作の検出方式は、上記の方式に限定されない。図２９は、３次元オブジェクトを掴んで行う操作の検出方式の第１の変形例について説明するための図である。図２９に示すステップＳＤ１では、タッチパネル３２によって、第１筐体１Ａ側の視認空間に、３次元オブジェクトＯＢ１が立体的に表示されている。また、３次元オブジェクトＯＢ１を選択するために、利用者は、指Ｆ１と指Ｆ２の間に３次元オブジェクトＯＢ１が位置するように指Ｆ１および指Ｆ２を移動させている。
【０１５１】
携帯電話端末１は、視認空間内で２つの物体が検出され、かつ、それらの２つの物体の間に３次元オブジェクトＯＢ１が位置する場合、２つの物体の距離の変化を監視する。そして、距離が所定時間以上ほぼ一定であれば、３次元オブジェクトＯＢ１が選択されたと判定し、３次元オブジェクトＯＢ１を選択状態にする。そして、携帯電話端末１は、３次元オブジェクトＯＢ１の表示態様を変更する等して、３次元オブジェクトＯＢ１が選択状態になったことを利用者に通知する。
【０１５２】
携帯電話端末１が２つの物体の距離の変化を監視している間、２つの物体は、３次元オブジェクトＯＢ１を挟む位置に留まる必要はない。すなわち、利用者は、ステップＳＤ１に示したように指Ｆ１と指Ｆ２の間に３次元オブジェクトＯＢ１が位置するように指Ｆ１および指Ｆ２を移動させた後、その状態を保つことなく、指Ｆ１および指Ｆ２を他の位置へ移動させて構わない。
【０１５３】
ステップＳＤ１の状態から、ステップＳＤ２に示すように、利用者が、指Ｆ１と指Ｆ２の距離Ｄ１をほぼ一定に保ったまま移動させたものとする。この場合、携帯電話端末１は、ステップＳＤ３に示すように、指Ｆ１と指Ｆ２の距離Ｄ１がほぼ一定に保たれた状態が所定時間以上継続した段階で、３次元オブジェクトＯＢ１を選択状態にする。そして、携帯電話端末１は、３次元オブジェクトＯＢ１を、あたかもステップＳＤ１の段階で既に選択されていたかのように、指Ｆ１および指Ｆ２の間に移動させる。ステップＳＤ１からステップＳＤ３までの指Ｆ１と指Ｆ２の動きを記憶しておき、記憶しておいた動きに合わせて３次元オブジェクトＯＢ１を回転等させてもよい。その後、携帯電話端末１は、指Ｆ１および指Ｆ２の動きに応じて、３次元オブジェクトＯＢ１に移動、変形、消失等の変化を加える。
【０１５４】
このように、２つの物体が３次元オブジェクトを挟む位置に一旦移動した後は、物体がその場に留まらなくても３次元オブジェクトを選択可能にすることにより、利用者は、３次元オブジェクトを選択した後の操作を迅速に開始することができる。
【０１５５】
図３０は、３次元オブジェクトを掴んで行う操作の検出方式の第１の変形例における選択検出処理の処理手順を示すフローチャートである。図３０に示す処理手順は、所定の操作が検出されたこと等を契機として、制御部２２が制御プログラム２４ａを実行することによって実現される。
【０１５６】
図３０に示すように、制御部２２は、まず、ステップＳ７０１として、３次元オブジェクトを立体的に表示する。続いて、制御部２２は、ステップＳ７０２として、検出部、すなわち、撮影部４０ａおよび４０ｂ、または、撮影部４２ａおよび４２ｂによって第１の物体および第２の物体が検出されたかを判定する。第１の物体および第２の物体が検出されない場合（ステップＳ７０２，Ｎｏ）、制御部２２は、ステップＳ７１４として、仮選択状態の３次元オブジェクトがあれば、その３次元オブジェクトの仮選択状態を解除する。仮選択状態とは、２つの物体の間に３次元オブジェクトが表示されている状態が検出された後、２つの物体の距離がほぼ一定に保たれているかが監視されている状態である。
【０１５７】
そして、制御部２２は、ステップＳ７１５として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ７１５，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ７１５，Ｎｏ）、制御部２２は、ステップＳ７０２以降を再実行する。
【０１５８】
第１の物体および第２の物体が検出された場合（ステップＳ７０２，Ｙｅｓ）、制御部２２は、ステップＳ７０３として、仮選択状態の３次元オブジェクトがあるか否かを判定する。仮選択状態の３次元オブジェクトがない場合（ステップＳ７０３，Ｎｏ）、制御部２２は、ステップＳ７０４として、表示されている３次元オブジェクトの中から第１の物体と第２の物体との間に表示されている３次元オブジェクトを探す。
【０１５９】
該当する３次元オブジェクトがない場合（ステップＳ７０５，Ｎｏ）、制御部２２は、ステップＳ７１５として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ７１５，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ７１５，Ｎｏ）、制御部２２は、ステップＳ７０２以降を再実行する。
【０１６０】
第１の物体と第２の物体との間に表示されている３次元オブジェクトがみつかった場合（ステップＳ７０５，Ｙｅｓ）、制御部２２は、ステップＳ７０６として、第１の物体と第２の物体との間に表示されている３次元オブジェクトを仮選択状態にする。また、制御部２２は、ステップＳ７０７として、第１の物体と第２の物体の距離を算出する。
【０１６１】
そして、制御部２２は、ステップＳ７１５として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ７１５，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ７１５，Ｎｏ）、制御部２２は、ステップＳ７０２以降を再実行する。
【０１６２】
第１の物体および第２の物体が検出され、かつ、仮選択状態の３次元オブジェクトがある場合（ステップＳ７０３，Ｙｅｓ）、制御部２２は、ステップＳ７０８として、第１の物体と第２の物体の距離を算出する。そして、制御部２２は、ステップＳ７０９として、距離がほぼ一定であるかを判定する。距離がほぼ一定でない場合（ステップＳ７０９，Ｎｏ）、制御部２２は、ステップＳ７１４として、仮選択状態の３次元オブジェクトの仮選択状態を解除する。
【０１６３】
そして、制御部２２は、ステップＳ７１５として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ７１５，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ７１５，Ｎｏ）、制御部２２は、ステップＳ７０２以降を再実行する。
【０１６４】
第１の物体と第２の物体の距離がほぼ一定の場合（ステップＳ７０９，Ｙｅｓ）、制御部２２は、ステップＳ７１０として、距離がほぼ一定に保たれている期間が所定時間以上であるかを判定する。距離がほぼ一定に保たれている期間が所定時間未満の場合（ステップＳ７１０，Ｎｏ）、制御部２２は、ステップＳ７１５として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ７１５，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ７１５，Ｎｏ）、制御部２２は、ステップＳ７０２以降を再実行する。
【０１６５】
距離がほぼ一定に保たれている期間が所定時間以上の場合（ステップＳ７１０，Ｙｅｓ）、制御部２２は、ステップＳ７１１として、第１の物体と第２の物体との間に表示されている３次元オブジェクトを選択状態にする。また、制御部２２は、ステップＳ７１２として、第１の物体と第２の物体との間に３次元オブジェクトを移動させる。そして、制御部２２は、ステップＳ７１３として、図２８に示した操作検出処理を実行し、その中で、選択状態にある３次元オブジェクトを検出された操作に応じて変化させる。
【０１６６】
操作検出処理が終了した後、制御部２２は、ステップＳ７１５として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ７１５，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ７１５，Ｎｏ）、制御部２２は、ステップＳ７０２以降を再実行する。
【０１６７】
第１の変形例に基づいて３次元オブジェクトに対する操作を検出する場合、操作の競合時に操作の有効性を判定するために用いる閾値は、ステップＳ７１０で用いられる所定時間以上の長さに設定してもよい。このように設定することにより、３次元オブジェクトに対する操作ではない動作によって３次元オブジェクトに対する操作が無効と判定される可能性を低減することができる。
【０１６８】
図３１および図３２は、３次元オブジェクトを掴んで行う操作の検出方式の第２の変形例について説明するための図である。図３１に示すステップＳＥ１では、タッチパネル３２によって、視認空間中に、３次元オブジェクトＯＢ１が立体的に表示されている。また、３次元オブジェクトＯＢ１を選択するために、利用者は、指Ｆ１と指Ｆ２の間に３次元オブジェクトＯＢ１が位置するように指Ｆ１および指Ｆ２を移動させている。
【０１６９】
携帯電話端末１は、視認空間内で２つの物体が検出され、かつ、それらの２つの物体の間に３次元オブジェクトＯＢ１が位置する場合、２つの物体の距離の変化を監視する。そして、距離が所定時間以上ほぼ一定であれば、３次元オブジェクトＯＢ１が選択されたと判定し、３次元オブジェクトＯＢ１を選択状態にする。そして、携帯電話端末１は、３次元オブジェクトＯＢ１の表示態様を変更する等して、３次元オブジェクトＯＢ１が選択状態になったことを利用者に通知する。
【０１７０】
携帯電話端末１が２つの物体の距離の変化を監視している間、２つの物体は、３次元オブジェクトＯＢ１を挟む位置に留まる必要はない。すなわち、利用者は、ステップＳＥ１に示したように指Ｆ１と指Ｆ２の間に３次元オブジェクトＯＢ１が位置するように指Ｆ１および指Ｆ２を移動させた後、その状態を保つことなく、指Ｆ１および指Ｆ２を他の位置へ移動させて構わない。
【０１７１】
ステップＳＥ１の状態から、ステップＳＥ２に示すように、利用者が、指Ｆ１と指Ｆ２の距離Ｄ１をほぼ一定に保ったまま移動させたものとする。この場合、携帯電話端末１は、指Ｆ１と指Ｆ２の間に３次元オブジェクトＯＢ１が表示されていることが検出された段階、すなわち、ステップＳＥ１の段階から、指Ｆ１および指Ｆ２の動きに応じて、３次元オブジェクトＯＢ１に移動、変形、消失等の変化を加える。そして、携帯電話端末１は、ステップＳＥ３に示すように、指Ｆ１と指Ｆ２の距離Ｄ１がほぼ一定に保たれた状態が所定時間以上継続した段階で、３次元オブジェクトＯＢ１を選択状態にする。
【０１７２】
なお、図３２のステップＳＥ４に示すように、所定時間が経過する前に指Ｆ１と指Ｆ２の距離Ｄ１が離れた場合、すなわち、選択が行われなかった場合、携帯電話端末１は、それまでに加えた変化と逆の変化を３次元オブジェクトＯＢ１に加える。その結果、３次元オブジェクトＯＢ１は、ステップＳＥ１の段階と同じ位置に同じ状態で表示される。逆の変化を３次元オブジェクトＯＢ１に加える速度は、それまでに３次元オブジェクトＯＢ１に変化が加えられた速度よりも速くてもよい。すなわち、高速に逆再生しているかのように３次元オブジェクトＯＢ１を逆変化させてもよい。
【０１７３】
このように、２つの物体の間に３次元オブジェクトが表示されていることが検出された段階から３次元オブジェクトに変化を加え始めることにより、利用者は、３次元オブジェクトが選択されつつあることを選択が確定する前から認識することができる。その結果、利用者は、意図した３次元オブジェクトが選択されたか否かを早期に知ることができる。なお、２つの物体の距離がほぼ一定に保たれた状態が所定時間以上継続するまでは、変化を加えられている３次元オブジェクトを通常時とも選択状態とも異なる態様（例えば、半透明）で表示することにより、利用者が３次元オブジェクトの状態を判別しやすくしてもよい。
【０１７４】
図３３は、３次元オブジェクトを掴んで行う操作の検出方式の第２の変形例における選択検出処理の処理手順を示すフローチャートである。図３３に示す処理手順は、所定の操作が検出されたこと等を契機として、制御部２２が制御プログラム２４ａを実行することによって実現される。
【０１７５】
図３３に示すように、制御部２２は、まず、ステップＳ８０１として、３次元オブジェクトを立体的に表示する。続いて、制御部２２は、ステップＳ８０２として、検出部、すなわち、撮影部４０ａおよび４０ｂ、または、撮影部４２ａおよび４２ｂによって第１の物体および第２の物体が検出されたかを判定する。第１の物体および第２の物体が検出されない場合（ステップＳ８０２，Ｎｏ）、制御部２２は、ステップＳ８１０として、仮選択状態の３次元オブジェクトがあれば、その３次元オブジェクトの仮選択状態を解除する。
【０１７６】
そして、制御部２２は、ステップＳ８１１として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ８１１，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ８１１，Ｎｏ）、制御部２２は、ステップＳ８０２以降を再実行する。
【０１７７】
第１の物体および第２の物体が検出された場合（ステップＳ８０２，Ｙｅｓ）、制御部２２は、ステップＳ８０３として、仮選択状態の３次元オブジェクトがあるか否かを判定する。仮選択状態の３次元オブジェクトがない場合（ステップＳ８０３，Ｎｏ）、制御部２２は、ステップＳ８０４として、表示されている３次元オブジェクトの中から第１の物体と第２の物体との間に表示されている３次元オブジェクトを探す。
【０１７８】
該当する３次元オブジェクトがない場合（ステップＳ８０５，Ｎｏ）、制御部２２は、ステップＳ８１１として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ８１１，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ８１１，Ｎｏ）、制御部２２は、ステップＳ８０２以降を再実行する。
【０１７９】
第１の物体と第２の物体との間に表示されている３次元オブジェクトがみつかった場合（ステップＳ８０５，Ｙｅｓ）、制御部２２は、ステップＳ８０６として、第１の物体と第２の物体との間に表示されている３次元オブジェクトを仮選択状態にする。また、制御部２２は、ステップＳ８０７として、第１の物体と第２の物体の距離を算出する。
【０１８０】
そして、制御部２２は、ステップＳ８１１として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ８１１，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ８１１，Ｎｏ）、制御部２２は、ステップＳ８０２以降を再実行する。
【０１８１】
第１の物体および第２の物体が検出され、かつ、仮選択状態の３次元オブジェクトがある場合（ステップＳ８０３，Ｙｅｓ）、制御部２２は、ステップＳ８０８として、第１の物体と第２の物体の少なくとも一方が移動しているかを判定する。第１の物体と第２の物体のいずれも移動していない場合（ステップＳ８０８，Ｎｏ）、制御部２２は、ステップＳ８１１として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ８１１，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ８１１，Ｎｏ）、制御部２２は、ステップＳ８０２以降を再実行する。
【０１８２】
第１の物体と第２の物体の少なくとも一方が移動している場合（ステップＳ８０８，Ｙｅｓ）、制御部２２は、ステップＳ８０９として、図３４に示す操作検出処理を実行し、その中で、選択状態にある３次元オブジェクトを検出された操作に応じて変化させる。
【０１８３】
操作検出処理が終了した後、制御部２２は、ステップＳ８１１として、操作終了が検出されたかを判定する。操作終了が検出された場合（ステップＳ８１１，Ｙｅｓ）、制御部２２は、選択検出処理を終了させる。操作終了が検出されない場合（ステップＳ８１１，Ｎｏ）、制御部２２は、ステップＳ８０２以降を再実行する。
【０１８４】
図３４は、３次元オブジェクトを掴んで行う操作の検出方式の第２の変形例における操作検出処理の処理手順を示すフローチャートである。図３４に示す処理手順は、制御部２２が制御プログラム２４ａを実行することによって実現される。図３４に示すように、制御部２２は、まず、ステップＳ９０１として、第１の物体と第２の物体の距離を算出する。そして、制御部２２は、ステップＳ９０２として、操作検出処理の開始時点以降の第１の物体と第２の物体の距離がほぼ一定であるかを判定する。
【０１８５】
第１の物体と第２の物体の距離がほぼ一定の場合（ステップＳ９０２，Ｙｅｓ）、制御部２２は、ステップＳ９０３として、操作検出処理が開始されてから所定時間が経過したかを判定する。所定時間が経過していた場合（ステップＳ９０３，Ｙｅｓ）、制御部２２は、ステップＳ９０４として、仮選択状態の３次元オブジェクトがあれば、その３次元オブジェクトを選択状態にする。所定時間が経過していない場合（ステップＳ９０３，Ｎｏ）、ステップＳ９０４は実行されない。
【０１８６】
続いて、制御部２２は、ステップＳ９０５として、第１の物体および第２の物体の移動速度を算出する。そして、制御部２２は、ステップＳ９０６として、算出した移動速度が閾値以下であるかを判定する。移動速度が閾値以下の場合（ステップＳ９０６，Ｙｅｓ）、制御部２２は、ステップＳ９０７として、検出された第１の物体および第２の物体の動きに応じて３次元オブジェクトを移動させたり回転させたりする。そして、制御部２２は、ステップＳ９０１以降を再実行する。
【０１８７】
移動速度が閾値より速い場合（ステップＳ９０６，Ｎｏ）、制御部２２は、ステップＳ９０８として、３次元オブジェクトを消去する。３次元オブジェクトを消去するに際して、３次元オブジェクトが第１の物体および第２の物体の移動方向へ向けて飛んでいくようにアニメーション表示してもよい。そして、制御部２２は、操作検出処理を終了させる。なお、第１の物体および第２の物体を高速で移動させる操作ではなく、例えば、３次元オブジェクトを握りつぶす操作に３次元オブジェクトの消去を割り当ててもよい。また、３次元オブジェクトを消去する代わりに、３次元オブジェクトを当初の配置場所に戻すこととしてもよい。
【０１８８】
第１の物体と第２の物体の距離がほぼ一定でない場合（ステップＳ９０２，Ｎｏ）、制御部２２は、ステップＳ９０９として、距離が、３次元オブジェクトの選択時、すなわち、操作検出処理の開始時点よりも拡大しているかを判定する。距離が拡大している場合（ステップＳ９０９，Ｙｅｓ）、制御部２２は、ステップＳ９１０として、第１の物体と第２の物体の間に表示されていた３次元オブジェクトが仮選択状態であるかを判定する。
【０１８９】
３次元オブジェクトが仮選択状態である場合（ステップＳ９１０，Ｙｅｓ）、制御部２２は、ステップＳ９１１として、３次元オブジェクトの仮選択状態を解除する。また、制御部２２は、ステップＳ９１２として、３次元オブジェクトを逆変化させて元の状態に戻す。そして、制御部２２は、操作検出処理を終了させる。
【０１９０】
３次元オブジェクトが仮選択状態でない場合、すなわち、選択状態の場合（ステップＳ９１０，Ｎｏ）、制御部２２は、ステップＳ９１３として、３次元オブジェクトの選択状態を解除する。また、制御部２２は、ステップＳ９１４として、選択状態を解除した３次元オブジェクトを重力等に従って移動させる。そして、制御部２２は、操作検出処理を終了させる。ここでの移動は、例えば、３次元オブジェクトが重力に従って落下し、床やテーブルの上で停止するように表示される。３次元オブジェクトの動きを停止させる前に、３次元オブジェクトの弾性や床やテーブルの硬度に応じて３次元オブジェクトをバウンドさせてもよい。３次元オブジェクトが床やテーブルに衝突するときの衝撃の大きさを算出し、衝撃が所定の値よりも大きい場合には３次元オブジェクトを破損したように表示してもよい。また、実際の重力が働く場合よりも３次元オブジェクトをゆっくりと移動させてもよい。
【０１９１】
第１の物体と第２の物体の距離が３次元オブジェクトの選択時よりも縮まっている場合（ステップＳ９０９，Ｎｏ）、制御部２２は、ステップＳ９１５として、距離に応じて３次元オブジェクトを変形させる。そして、制御部２２は、ステップＳ９０１以降を再実行する。３次元オブジェクトを変形させる程度は、例えば、３次元オブジェクトに属性として設定されている硬度に応じて変更してもよい。
【０１９２】
第２の変形例に基づいて３次元オブジェクトに対する操作を検出する場合、操作の競合時に操作の有効性を判定するために用いる閾値は、ステップＳ９０３で用いられる所定時間以上の長さに設定してもよい。このように設定することにより、３次元オブジェクトに対する操作ではない動作によって３次元オブジェクトに対する操作が無効と判定される可能性を低減することができる。
【実施例２】
【０１９３】
以下に、第２の実施例について説明する。上記の実施例では、３次元オブジェクトを操作する物体を撮影部が撮影する画像に基づいて検出することとしたが、他の検出方式を用いてもよい。例えば、静電容量式のタッチセンサは、感度を上げることにより、タッチセンサに接触していない指の位置を検出することができる。そこで、第２の実施例では、タッチセンサを、３次元オブジェクトを操作する物体を検出する検出部として活用する例を示す。なお、以下の説明では、既に説明した部分と同様の部分には既に説明した部分と同一の符号を付す。また、重複する説明については、説明を省略することがある。
【０１９４】
まず、図３５および図３６を参照しながら、第２の実施例に係る携帯電話端末（表示機器）２の構成について説明する。図３５は、携帯電話端末２の外観を示す正面図である。図３６は、携帯電話端末２の機能的な構成を示すブロック図である。
【０１９５】
図３５に示すように、携帯電話端末２は、第１筐体２Ａと、第２筐体２Ｂと、ヒンジ部２Ｃとを有する。第１筐体２Ａは、面の１つにタッチパネル３２を有する。第２筐体２Ｂは、面の１つにタッチパネル３４を有する。ヒンジ部２Ｃは、第１筐体２Ａと第２筐体２Ｂとを相対的に回動可能に接続する。
【０１９６】
図３５に示す開状態では、第１筐体２Ａが有するタッチパネル３２と、第２筐体２Ｂが有するタッチパネル３４とが、ほぼ連続する平坦な平面を形成する。携帯電話端末２は、図３５に示す開状態から、第１筐体２Ａがヒンジ部２Ｃを回転軸として約１８０度回動することにより、図３に示した携帯電話端末１と同様に閉状態へ変形する。閉状態において、タッチパネル３２およびタッチパネル３４は、外部からは見えなくなる。
【０１９７】
図３６に示すように、携帯電話端末２は、操作部１３と、マイク１５と、レシーバ１６と、制御部２２と、記憶部２４と、通信部２６と、音声処理部３０と、タッチパネル３２と、タッチパネル３４を有する。
【０１９８】
タッチパネル３２は、表示部３２ａと、タッチセンサ３２ｂとを有する。タッチパネル３４は、表示部３４ａと、タッチセンサ３４ｂとを有する。本実施例において、タッチセンサ３２ｂおよびタッチセンサ３４ｂは、静電容量式のタッチセンサである。タッチセンサ３２ｂおよびタッチセンサ３４ｂは、３次元オブジェクトを操作する指等の物体を検出する検出部としても機能する。
【０１９９】
次に、図３７を参照しながら、３次元オブジェクトに対する操作の検出について説明する。図３７は、第２の実施例における３次元オブジェクトに対する操作の検出について説明するための図である。図３７では、第１筐体２Ａ側の視認空間に３次元オブジェクトＯＢ１が表示されている。また、図３７では、利用者が、指Ｆ１を３次元オブジェクトＯＢ１に接触させようとしている。
【０２００】
このように指Ｆ１が第１筐体２Ａ側の視認空間にある場合、携帯電話端末２は、指Ｆ１の位置を、タッチセンサ３２ｂを用いて検出する。タッチセンサ３２ｂは、感度を高めることで、例えば、指Ｆ１からタッチセンサ３２ｂの表面までのＺ軸方向の距離が１０ｃｍ程度ある場合でも、指Ｆ１のＸ軸方向およびＹ軸方向の位置を検出することができる。また、タッチセンサ３２ｂは、静電容量の大きさに基づいて、指Ｆ１からタッチセンサ３２ｂの表面までのＺ軸方向の距離Ｄ２を検出することができる。
【０２０１】
こうして検出された指Ｆ１の視認空間での位置に基づいて、携帯電話端末２は、指Ｆ１と３次元オブジェクトＯＢ１の接触を検出したり、指Ｆ１が３次元オブジェクトＯＢ１を押す操作および掴んで行う操作を検出したりすることができる。同様に、携帯電話端末２は、３次元オブジェクトが第２筐体２Ｂ側の視認空間に表示され、指Ｆ１が第２筐体２Ｂ側の視認空間にある場合、タッチセンサ３４ｂを用いて、指Ｆ１が３次元オブジェクトに対して行う操作を検出することができる。
【０２０２】
上述してきたように、第２の実施例では、タッチセンサを検出部として用いることとしたので、撮影部を備えない表示装置であっても、３次元オブジェクトに対する操作を検出することができる。
【０２０３】
なお、３次元オブジェクトに対する操作を検出するために撮影部およびタッチセンサを併用してもよい。撮影部およびタッチセンサを併用する場合、それぞれの検出結果を平均して指Ｆ１の位置を特定してもよい。また、タッチセンサと近い領域では、撮影部は指Ｆ１の画像を取得し難く、タッチセンサから遠い領域では、タッチセンサの検出精度が低くなる。そこで、タッチセンサと近い領域では、タッチセンサの検出結果の重みづけを大きくし、タッチセンサから遠い領域では、撮影部の検出結果の重みづけを大きくした加重平均を用いてもよい。
【０２０４】
また、他の指等が障害となってタッチセンサが指の位置を精度よく検出できないことが生じにくいように、３次元オブジェクトに対する操作を複数のタッチセンサを用いて検出してもよい。
【０２０５】
上記の各実施例で示した本発明の態様は、本発明の要旨を逸脱しない範囲で任意に変更することができる。例えば、上記の実施例で示した制御プログラム２４ａは、複数のモジュールに分割されていてもよいし、他のプログラムと統合されていてもよい。また、上記の実施例では、３次元オブジェクトに対して指で操作を行うこととしたが、先端に静電気を帯びた棒状の物等を指の代わりに用いてもよい。
【０２０６】
また、上記の各実施例では、３次元オブジェクトを検出するために撮影部やタッチセンサを検出部として用いる例を示したが、検出部はこれに限られない。例えば、撮影部に代えて、ＴＯＦ（Time-of-Flight）法を用いたセンサでもよい。また、視認空間における面方向の移動を検出できる近接センサ等を、物体の移動方向とほぼ水平に配置すると、物体の変位が非接触でも検出できることから、もちろんこれらを用いてもよい。なお、物体にセンサ等を配置することなく、物体の変位の検出ができることが好ましい。物体にセンサ等を配置しないことにより、指にわざわざ加速度センサを取り付けたり、加速度を備えた表示機器そのものを移動させたりする必要がない場合、コスト低減が図れる。
【０２０７】
また、上記の各実施例では、表示機器が単独で３次元オブジェクトに対する操作を検出することとしたが、表示機器がサーバ装置と協業して３次元オブジェクトに対する操作を検出することとしてもよい。この場合、表示機器は、検出部の検出した情報をサーバ装置へ逐次送信し、サーバ装置が操作を検出して検出結果を表示機器へ通知する。このような構成とすることにより、表示機器の負荷を低減することができる。
【０２０８】
また、上記の実施例では、表示機器が４つの撮影部を備える例を示したが、表示機器が備える撮影部の数と配置はこの例に限定されない。
【０２０９】
また、上記の実施例では、表示機器が２つの筐体を含み、それぞれの筐体が検出部を備えることとしたが、表示機器の筐体の数は２つに限定されない。例えば、１つの筐体で構成される表示機器が、複数の検出部を備えてもよい。
【０２１０】
また、図３８に示す携帯電話端末３のように、第１筐体３Ａが有する表示部３２ａと第２筐体３Ｂが有する表示部３４ａとのなす角Ｒ２が、０°から３６０°まで変化させることが出来るように、ヒンジ部３Ｃ（回転軸）を構成してもよい。この場合、たとえば、角度Ｒ２が０°のときには表示部３２ａと表示部３４ａとが互いに対向することから、携帯電話端末３は、携帯電話端末３を収納するのに好適である。また、角度が３６０°のときには、表示部３２ａが形成する視認空間５０Ａと、表示部３４ａが形成する視認空間５０Ｂとは互いに逆の向きになる。そして、これにより、図８乃至１０等を基に説明した各種のゲームにおいて、表示部３２ａが表示する３次元オブジェクトＯＢ３０Ａおよび表示部３４ａが表示する３次元オブジェクトＯＢ３０Ｂを、あたかも表示部を突き抜けているかのように表示させることもでき、ゲームの臨場感を高まる。
【符号の説明】
【０２１１】
１、２、３  携帯電話端末（表示機器）
２２  制御部
２４  記憶部
２４ａ  制御プログラム
２４ｂ  オブジェクトデータ
２４ｃ  作用データ
２６  通信部
３２、３４  タッチパネル
３２ａ、３４ａ  表示部
３２ｂ、３４ｂ  タッチセンサ（検出部）
４０ａ、４０ｂ、４２ａ４２ｂ  撮影部（検出部）
【図１】
0005715007.tif 000002
【図２】
0005715007.tif 000003
【図３】
0005715007.tif 000004
【図４】
0005715007.tif 000005
【図５】
0005715007.tif 000006
【図６】
0005715007.tif 000007
【図７】
0005715007.tif 000008
【図８】
0005715007.tif 000009
【図９】
0005715007.tif 000010
【図１０】
0005715007.tif 000011
【図１１】
0005715007.tif 000012
【図１２】
0005715007.tif 000013
【図１３】
0005715007.tif 000014
【図１４】
0005715007.tif 000015
【図１５】
0005715007.tif 000016
【図１６】
0005715007.tif 000017
【図１７】
0005715007.tif 000018
【図１８】
0005715007.tif 000019
【図１９】
0005715007.tif 000020
【図２０】
0005715007.tif 000021
【図２１】
0005715007.tif 000022
【図２２】
0005715007.tif 000023
【図２３】
0005715007.tif 000024
【図２４】
0005715007.tif 000025
【図２５】
0005715007.tif 000026
【図２６】
0005715007.tif 000027
【図２７】
0005715007.tif 000028
【図２８】
0005715007.tif 000029
【図２９】
0005715007.tif 000030
【図３０】
0005715007.tif 000031
【図３１】
0005715007.tif 000032
【図３２】
0005715007.tif 000033
【図３３】
0005715007.tif 000034
【図３４】
0005715007.tif 000035
【図３５】
0005715007.tif 000036
【図３６】
0005715007.tif 000037
【図３７】
0005715007.tif 000038
【図３８】
0005715007.tif 000039