(57)【要約】【課題】より自然な操作感をユーザに提供する。【解決手段】拡大・縮小指示受け付け手段１２は、領域５３を拡大または縮小させる指示（以下この指示を単に「拡大・縮小指示」という）を受け付ける。注視点制御手段１３は、拡大・縮小指示に従って領域５３を拡大または縮小する際、仮想空間５０における領域５３の拡大または縮小前の注視点の位置と仮想空間５０の基準点の位置との関係に基づいて、拡大または縮小後の仮想空間５０における注視点の位置を算出する。拡大・縮小制御手段１４は、拡大・縮小指示に基づいて、領域５３を拡大または縮小させる。表示制御手段１５は、仮想空間５０のうち領域５３の画像を表示手段２０に表示させる。【選択図】図４
2014085818.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
所定領域の少なくとも一部である表示領域を拡大または縮小させる拡大・縮小指示を受け付ける拡大・縮小指示受け付け手段と、
前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記所定領域内における前記表示領域の注視点の位置と前記所定領域の基準点の位置との関係に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出する第１制御手段と、
前記拡大・縮小指示に基づいて、前記表示領域を拡大または縮小させる第２制御手段
として機能させるためのプログラム。
【請求項２】
前記第１制御手段は、前記拡大または縮小の際、前記基準点の位置に対する前記拡大または縮小前の前記所定領域内における前記注視点の位置の方向に、前記注視点を移動させる
請求項１に記載のプログラム。
【請求項３】
前記第１制御手段は、前記基準点の位置から前記所定領域内における前記注視点の位置までの距離が長いほど前記注視点の変化量を大きくする
請求項１または２に記載のプログラム。
【請求項４】
前記基準点は、前記所定領域の中心である
請求項１ないし３のいずれか一項に記載のプログラム。
【請求項５】
前記コンピュータを、前記表示領域を移動させる移動指示を受け付ける移動指示受け付け手段としてさらに機能させ、
前記第１制御手段は、前記拡大または縮小の際、前記移動指示により示される方向に応じて前記注視点を移動させる
請求項１ないし４のいずれか一項に記載のプログラム。
【請求項６】
前記第２制御手段は、前記拡大・縮小指示および前記移動指示に基づいて、前記表示領域を移動、および／または拡大または縮小させる
請求項５に記載のプログラム。
【請求項７】
前記第１制御手段は、過去のある期間における前記移動指示の累積に応じて、前記基準点に対する前記拡大または縮小前の前記所定領域内における前記注視点の位置の方向への移動量を決定する
請求項５または６に記載のプログラム。
【請求項８】
前記第１制御手段は、過去のある期間における前記移動指示に応じて決められるベクトルに応じて、前記基準点に対する前記拡大または縮小前の前記所定領域内における前記注視点の位置の方向への移動量を決定する
請求項７に記載のプログラム。
【請求項９】
前記第１制御手段は、前記ベクトルの向きと前記基準点から前記所定領域内における前記注視点に向かう向きとが同じときよりも前記ベクトルの向きと前記基準点から前記所定領域内における前記注視点に向かう向きとが逆のときに移動量が小さくなるように前記移動量を決定する
請求項８に記載のプログラム。
【請求項１０】
前記第１制御手段は、過去のある期間における前記移動指示の累積に応じて決められる方向に前記所定領域内における前記注視点を移動させる
請求項１に記載のプログラム。
【請求項１１】
所定領域の少なくとも一部である表示領域を拡大または縮小させる拡大・縮小指示を受け付ける拡大・縮小指示受け付け手段と、
前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記所定領域内における前記表示領域の注視点の位置と前記所定領域の基準点の位置との関係に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出する第１制御手段と、
前記拡大・縮小指示に基づいて、前記表示領域を拡大または縮小させる第２制御手段と
を有する情報処理装置。
【請求項１２】
所定領域の少なくとも一部である表示領域を拡大または縮小させる拡大・縮小指示を受け付けるステップと、
前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記所定領域内における前記表示領域の注視点の位置と前記所定領域の基準点の位置との関係に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出するステップと、
前記拡大・縮小指示に基づいて、前記表示領域を拡大または縮小させるステップと
を有する情報処理方法。
【請求項１３】
所定領域の少なくとも一部である表示領域を拡大または縮小させる拡大・縮小指示を受け付ける拡大・縮小指示受け付け手段と、
前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記所定領域内における前記表示領域の注視点の位置と前記所定領域の基準点の位置との関係に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出する第１制御手段と、
前記拡大・縮小指示に基づいて、前記表示領域を拡大または縮小させる第２制御手段と
を有する情報処理システム。
【請求項１４】
コンピュータを、
所定領域の少なくとも一部である表示領域を移動させる移動指示を受け付ける移動指示受け付け手段と、
前記表示領域を拡大または縮小させる拡大・縮小指示を受け付ける拡大・縮小指示受け付け手段と、
前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記移動指示の履歴に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出する第１制御手段と、
前記移動指示、前記拡大・縮小指示に基づいて、前記表示領域を移動、および／または拡大または縮小させる第２制御手段
として機能させるためのプログラム。
【請求項１５】
前記第１制御手段は、過去のある期間における前記移動指示の累積に応じて決められる方向に前記所定領域内における前記注視点を移動させる
請求項１４に記載のプログラム。
【請求項１６】
所定領域の少なくとも一部である表示領域を移動させる移動指示を受け付ける移動指示受け付け手段と、
前記表示領域を拡大または縮小させる拡大・縮小指示を受け付ける拡大・縮小指示受け付け手段と、
前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記移動指示の履歴に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出する第１制御手段と、
前記移動指示、前記拡大・縮小指示に基づいて、前記表示領域を移動、および／または拡大または縮小させる第２制御手段と
を有する情報処理装置。
【請求項１７】
所定領域の少なくとも一部である表示領域を移動させる移動指示を受け付けるステップと、
前記表示領域を拡大または縮小させる拡大・縮小指示を受け付けるステップと、
前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記移動指示の履歴に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出するステップと、
前記移動指示、前記拡大・縮小指示に基づいて、前記表示領域を移動、および／または拡大または縮小させるステップと
を有する情報処理方法。
【請求項１８】
所定領域の少なくとも一部である表示領域を移動させる移動指示を受け付ける移動指示受け付け手段と、
前記表示領域を拡大または縮小させる拡大・縮小指示を受け付ける拡大・縮小指示受け付け手段と、
前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記移動指示の履歴に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出する第１制御手段と、
前記移動指示、前記拡大・縮小指示に基づいて、前記表示領域を移動、および／または拡大または縮小させる第２制御手段と
を有する情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザインターフェースに関する。
【背景技術】
【０００２】
オブジェクトをスクロールさせる画像を表示する技術が知られている。特許文献１は、複数のオブジェクトがスクロールされている場合において、区切りとなる特定位置が表示されているときには、特定位置が表示されていない場合と比べて移動量が少なくなるように移動量を決定する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１５０５５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、より自然な操作感をユーザに提供する。
【課題を解決するための手段】
【０００５】
本発明は、コンピュータを、所定領域の少なくとも一部である表示領域を拡大または縮小させる拡大・縮小指示を受け付ける拡大・縮小指示受け付け手段と、前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記所定領域内における前記表示領域の注視点の位置と前記所定領域の基準点の位置との関係に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出する第１制御手段と、前記拡大・縮小指示に基づいて、前記表示領域を拡大または縮小させる第２制御手段として機能させるためのプログラムを提供する。
【０００６】
前記第１制御手段は、前記拡大または縮小の際、前記基準点の位置に対する前記拡大または縮小前の前記所定領域内における前記注視点の位置の方向に、前記注視点を移動させてもよい。
【０００７】
前記第１制御手段は、前記基準点の位置から前記所定領域内における前記注視点の位置までの距離が長いほど前記注視点の変化量を大きくしてもよい。
【０００８】
前記基準点は、前記所定領域の中心であってもよい。
【０００９】
このプログラムは、前記コンピュータを、前記表示領域を移動させる移動指示を受け付ける移動指示受け付け手段としてさらに機能させ、前記第１制御手段は、前記拡大または縮小の際、前記移動指示により示される方向に応じて前記注視点を移動させてもよい。
【００１０】
前記第２制御手段は、前記拡大・縮小指示および前記移動指示に基づいて、前記表示領域を移動、および／または拡大または縮小させてもよい。
【００１１】
前記第１制御手段は、過去のある期間における前記移動指示の累積に応じて、前記基準点に対する前記拡大または縮小前の前記所定領域内における前記注視点の位置の方向への移動量を決定してもよい。
【００１２】
前記第１制御手段は、過去のある期間における前記移動指示に応じて決められるベクトルに応じて、前記基準点に対する前記拡大または縮小前の前記所定領域内における前記注視点の位置の方向への移動量を決定してもよい。
【００１３】
前記第１制御手段は、前記ベクトルの向きと前記基準点から前記所定領域内における前記注視点に向かう向きとが同じときよりも前記ベクトルの向きと前記基準点から前記所定領域内における前記注視点に向かう向きとが逆のときに移動量が小さくなるように前記移動量を決定してもよい。
【００１４】
前記第１制御手段は、過去のある期間における前記移動指示の累積に応じて決められる方向に前記所定領域内における前記注視点を移動させてもよい。
【００１５】
また、本発明は、所定領域の少なくとも一部である表示領域を拡大または縮小させる拡大・縮小指示を受け付ける拡大・縮小指示受け付け手段と、前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記所定領域内における前記表示領域の注視点の位置と前記所定領域の基準点の位置との関係に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出する第１制御手段と、前記拡大・縮小指示に基づいて、前記表示領域を拡大または縮小させる第２制御手段とを有する情報処理装置を提供する。
【００１６】
さらに、本発明は、所定領域の少なくとも一部である表示領域を拡大または縮小させる拡大・縮小指示を受け付けるステップと、前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記所定領域内における前記表示領域の注視点の位置と前記所定領域の基準点の位置との関係に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出するステップと、前記拡大・縮小指示に基づいて、前記表示領域を拡大または縮小させるステップとを有する情報処理方法を提供する。
【００１７】
さらに、本発明は、所定領域の少なくとも一部である表示領域を拡大または縮小させる拡大・縮小指示を受け付ける拡大・縮小指示受け付け手段と、前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記所定領域内における前記表示領域の注視点の位置と前記所定領域の基準点の位置との関係に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出する第１制御手段と、前記拡大・縮小指示に基づいて、前記表示領域を拡大または縮小させる第２制御手段とを有する情報処理システムを提供する。
【００１８】
さらに、本発明は、コンピュータを、所定領域の少なくとも一部である表示領域を移動させる移動指示を受け付ける移動指示受け付け手段と、前記表示領域を拡大または縮小させる拡大・縮小指示を受け付ける拡大・縮小指示受け付け手段と、前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記移動指示の履歴に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出する第１制御手段と、前記移動指示、前記拡大・縮小指示に基づいて、前記表示領域を移動、および／または拡大または縮小させる第２制御手段として機能させるためのプログラムを提供する。
【００１９】
前記第１制御手段は、過去のある期間における前記移動指示の累積に応じて決められる方向に前記所定領域内における前記注視点を移動させてもよい。
【００２０】
さらに、本発明は、所定領域の少なくとも一部である表示領域を移動させる移動指示を受け付ける移動指示受け付け手段と、前記表示領域を拡大または縮小させる拡大・縮小指示を受け付ける拡大・縮小指示受け付け手段と、前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記移動指示の履歴に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出する第１制御手段と、前記移動指示、前記拡大・縮小指示に基づいて、前記表示領域を移動、および／または拡大または縮小させる第２制御手段とを有する情報処理装置を提供する。
【００２１】
さらに、本発明は、所定領域の少なくとも一部である表示領域を移動させる移動指示を受け付けるステップと、前記表示領域を拡大または縮小させる拡大・縮小指示を受け付けるステップと、前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記移動指示の履歴に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出するステップと、前記移動指示、前記拡大・縮小指示に基づいて、前記表示領域を移動、および／または拡大または縮小させるステップとを有する情報処理方法を提供する。
【００２２】
さらに、本発明は、所定領域の少なくとも一部である表示領域を移動させる移動指示を受け付ける移動指示受け付け手段と、前記表示領域を拡大または縮小させる拡大・縮小指示を受け付ける拡大・縮小指示受け付け手段と、前記拡大・縮小指示に従って前記表示領域を拡大または縮小する際、前記移動指示の履歴に基づいて、前記拡大または縮小後の前記所定領域内における前記注視点の位置を算出する第１制御手段と、前記移動指示、前記拡大・縮小指示に基づいて、前記表示領域を移動、および／または拡大または縮小させる第２制御手段とを有する情報処理システムを提供する。
【発明の効果】
【００２３】
本発明によれば、より自然な操作感がユーザに提供される。
【図面の簡単な説明】
【００２４】
【図１】本実施形態における仮想空間５０を例示する図。
【図２】比較例における画像のスクロールおよび拡大を例示する図。
【図３】本実施形態における画像のスクロールおよび拡大を例示する図。
【図４】一実施形態に係る情報処理装置１の機能構成を示す図。
【図５】情報処理装置１のハードウェア構成を示す図。
【図６】情報処理装置１の動作を示すフローチャート。
【図７】タッチスクリーン２０２に表示される画像を例示する図。
【図８】操作入力と入力ベクトルとの関係を例示する図。
【図９】注視点の移動方向を例示する図。
【図１０】注視点の移動範囲を例示する図。
【発明を実施するための形態】
【００２５】
１．概要
図１は、本実施形態における仮想空間５０を例示する図である。この例で、仮想空間５０は、３次元仮想空間である。仮想空間５０は、フィールド５１およびオブジェクト５２を有する。フィールド５１は、オブジェクトが配置されるフィールドを表す画像であり、仮想空間内の所定の面に貼り付けられている。オブジェクト５２は、仮想空間内に配置された仮想オブジェクトであり、例えば、アイコン、キャラクター（人、動物、モンスター等）、建造物（家、塔、城等）、自然物（山、川、樹木、岩等）、およびフィールドに定着しない工作物（車、ブロック等）等を表すもののうち少なくとも一つを含む。図１の例では、それぞれキャラクターを表す複数のオブジェクト５２が配置されている。
【００２６】
仮想空間５０には仮想カメラ（図示略）が設けられており、この仮想カメラで仮想的に撮影された画像が表示装置に表示される。領域５３は、この仮想カメラにより撮影される領域、すなわち表示装置に表示される領域を表している。領域５３は、ユーザの操作入力に応じて移動、拡大、または縮小する。すなわち、表示装置に表示される画像は、操作入力に応じてスクロール、拡大、または縮小する。領域５３に対しては、自由移動範囲５４が設定されている。領域５３は、自由移動範囲５４の内部であれば仮想カメラの操作に応じて自由に移動するが、自由移動範囲５４の外部においては、領域５３の移動は、自由移動範囲５４の内部にある場合と比較して制限される。なおこの例では、領域５３は自由移動範囲５４を超えることが一切できないわけではない。決められた制限のもと、領域５３の少なくとも一部が自由移動範囲５４の外に出る場合がある。また、自由移動範囲５４は３次元形状を有しているが、図１では単純化して２次元的な形状を示している。
【００２７】
このような仮想空間５０を提供するシステムを、ユーザは例えば以下のように使用する場合がある。ユーザは、複数のオブジェクト５２の中から所望のオブジェクトを探すため、領域５３を移動させる。所望のオブジェクトを見つけると、ユーザは、そのオブジェクトの詳細を確認するため、画像を拡大する。
【００２８】
図２は、比較例における画像のスクロールおよび拡大を例示する図である。領域５３を移動させていたユーザは、所望のオブジェクト（例えばハッチングされたオブジェクト）を画面内に発見すると（図２（ａ）。矢印は領域５３の移動方向を示している）、画像の拡大（すなわち領域５３の縮小）を指示する。画像は、決められた基準点を中心として拡大される。この例で、拡大の基準点は、領域５３の中心点である（以下、領域５３の中心点を注視点Ｐｓという）。比較例においては、拡大の前後で、仮想空間５０における注視点の位置は移動しない。ここで、拡大を指示したときの注視点とオブジェクトとの位置関係によっては、拡大後に、所望のオブジェクトが領域５３の外に出てしまう場合がある（図２（ｂ））。この場合、ユーザは、所望のオブジェクトを探して再び領域５３を移動させなければならない。
【００２９】
図３は、本実施形態における画像のスクロールおよび拡大を例示する図である。領域５３を移動させていたユーザは、所望のオブジェクトを画面内に発見すると（図３（ａ））、画像の拡大（すなわち領域５３の縮小）を指示する。なお、以下の説明において、拡大前の注視点と拡大後の注視点とを区別するときは、拡大前の注視点を注視点Ｐｓｂといい、拡大後の注視点を注視点Ｐｓａという。この例で、拡大の基準点Ｐｅは、領域５３の注視点Ｐｓｂからずれている（図３（ｂ））。拡大の基準点Ｐｅは、拡大後の画像における注視点Ｐｓａである。換言すると、拡大の前後において注視点Ｐｓは移動している。このずれは、仮想空間５０の基準点Ｐｏ（例えば仮想空間５０の中心点Ｐｃ）と、領域５３の注視点Ｐｓｂとの位置関係に応じて決まる。具体的には、このずれは、基準点Ｐｏから注視点Ｐｓｂに向かうベクトルと同じ向きを有している。この例によれば、拡大前後で注視点が移動しない場合と比較して、拡大後に所望のオブジェクトが画面内に表示される確率を上げることができる。以下、このようなユーザインターフェースを提供する装置の構成および動作について説明する。
【００３０】
２．構成
図４は、一実施形態に係る情報処理装置１の機能構成を示す図である。情報処理装置１は、移動指示受け付け手段１１と、拡大・縮小指示受け付け手段１２と、注視点制御手段１３と、拡大・縮小制御手段１４と、表示制御手段１５とを有する。移動指示受け付け手段１１は、所定領域（この例では仮想空間５０）の少なくとも一部である領域５３を移動させる移動指示を受け付ける。拡大・縮小指示受け付け手段１２は、領域５３を拡大または縮小させる指示（以下この指示を単に「拡大・縮小指示」という）を受け付ける。注視点制御手段１３は、拡大・縮小指示に従って領域５３を拡大または縮小する際、仮想空間５０における領域５３の拡大または縮小前の注視点の位置と仮想空間５０の基準点の位置との関係に基づいて、拡大または縮小後の仮想空間５０における注視点の位置を算出する。なお、この例で、仮想空間５０の基準点は、仮想空間５０の中心点である。拡大・縮小制御手段１４は、拡大・縮小指示に基づいて、領域５３を拡大または縮小させる。表示制御手段１５は、仮想空間５０のうち領域５３の画像を表示手段２０に表示させる。表示手段２０は、この例では、情報処理装置１とは別の外部装置により提供される機能であり、文字および画像の少なくとも一方を表示する。
【００３１】
図５は、情報処理装置１のハードウェア構成を示す図である。この例で、情報処理装置１は、ビデオゲームを実行するためのゲーム装置である。情報処理装置１は、ＣＰＵ１０１と、メモリ１０２と、外部メモリＩＦ１０３と、入出力ＩＦ１０４と、通信部１０５とを有するコンピュータ装置である。情報処理装置１の操作には、コントローラ２が用いられる。また、情報処理装置１は、表示装置４に接続されている。表示装置４は、画像および文字の少なくとも一方を含む情報を表示する装置であり、ディスプレイ（液晶パネル、有機ＥＬ（Electro-Luminescence）パネル等）、および駆動回路を有する。この例で、情報処理装置１はいわゆる据え置き型のゲーム装置であり、表示装置４を内蔵していない。表示装置４は、外付け装置、例えばテレビ受像機である。なお、情報処理装置１は、表示装置４を内蔵していてもよい。
【００３２】
ＣＰＵ１０１は、情報処理装置１の各部を制御する装置であり、各種の演算を行う。メモリ１０２は、プログラムおよびデータを記憶する記憶装置であり、例えばＲＡＭ（Random Access Memory）およびＲＯＭ（Read Only Memory）を有する。外部メモリＩＦ１０３は、プログラム（例えばゲームプログラム）およびデータを記憶した外部メモリ３（例えば光ディスク、磁気ディスク、または半導体メモリ）との間でプログラムおよびデータの読み書きをするインターフェースである。入出力ＩＦ１０４は、入出力装置（この例では表示装置４）との間で信号を仲介するインターフェースである。通信部１０５は、コントローラ２と通信する装置であり、例えばアンテナおよび増幅器を有する。外部メモリ３またはメモリ１０２に記憶されているプログラム（例えばゲームプログラム）を実行することにより、そのプログラムに係る機能（例えばビデオゲーム）が情報処理装置１において実現される。
【００３３】
コントローラ２は、情報処理装置１に対し指示を入力する装置であるが、この例ではさらに、情報処理装置１から送信される信号に従って画像を表示する機能を有する。コントローラ２は、ＣＰＵ２０１と、タッチスクリーン２０２と、通信部２０３とを有する。ＣＰＵ２０１は、コントローラ２の各部を制御する装置であり、メモリ（図示略）を使用して各種の演算を行う。タッチスクリーン２０２は、情報を表示する機能と指示を入力する機能とを兼ね備えた装置であり、例えば、ディスプレイおよび駆動回路、並びにディスプレイの表面に設けられたタッチセンサを有する。通信部２０３は、情報処理装置１と通信する装置であり、例えばアンテナおよび増幅器を有する。
【００３４】
この例では、外部メモリ３またはメモリ１０２に記憶されているプログラム（ゲームプログラム、システムソフトウェア、またはこれらの組み合わせ）によって、仮想空間５０における領域５３の画像を、表示装置４およびタッチスクリーン２０２の少なくとも一方に表示する機能が提供される。また、領域５３は、コントローラ２を介した操作入力に応じて、仮想空間５０内を移動する。このプログラムを実行しているＣＰＵ１０１は、移動指示受け付け手段１１、拡大・縮小指示受け付け手段１２、注視点制御手段１３、拡大・縮小制御手段１４、および表示制御手段１５の一例である。表示装置４およびタッチスクリーン２０２の少なくとも一方は、表示手段２０の一例である。
【００３５】
３．動作
図６は情報処理装置１の動作を示すフローチャートである。図６のフローの開始前において、仮想空間５０における領域５３の画像を表示させるためのプログラムが実行されている。ここでは、領域５３の画像がタッチスクリーン２０２に表示され、タッチスクリーン２０２におけるユーザによる操作入力に応じた指示が情報処理装置１に入力される例を説明する。また、この例で図６の処理は、所定の周期（例えば６０Ｈｚに相当する１６．７ミリ秒）で繰り返し実行される。この処理の単位期間を「フレーム」という。
【００３６】
タッチスクリーン２０２における操作には、「ドラッグ」と「フリック」とがある。ドラッグは、指でタッチスクリーン２０２をなぞる操作、すなわちタッチした状態を継続したままタッチ位置を動かす操作である。フリックは、指でタッチスクリーン２０２を素早くはらう操作、すなわち所定の基準値より速い速度でドラッグした後で指をタッチスクリーン２０２から離す操作である。これらの操作に応じて領域５３の移動速度が決定され、決定された移動速度に応じて移動した領域５３の画像が表示される。
【００３７】
図７は、タッチスクリーン２０２に表示される画像を例示する図である。この例で、タッチスクリーン２０２には、領域５３の画像に加え、画像の拡大を指示するためのボタン５５および画像の縮小を指示するためのボタン５６が表示されている。タッチスクリーン２０２上のボタン５５に相当する位置をユーザがタッチすると、画像の拡大・縮小指示が情報処理装置１に入力される。タッチスクリーン２０２上のボタン５６に相当する位置をユーザがタッチすると、画像の縮小指示が情報処理装置１に入力される。
【００３８】
再び図６を参照する。ステップＳ１０１において、ＣＰＵ１０１は、操作入力を受け付ける。詳細には以下のとおりである。コントローラ２から送信される、ユーザの操作入力を示す信号（以下「操作入力信号」という）は、タッチスクリーン２０２においてタッチされた位置の座標（以下「実座標」という）を含む。現フレームにおいてタッチスクリーン２０２がタッチされていない場合、操作入力信号はヌル値を含む。実座標が領域５３に相当する領域であった場合、ＣＰＵ１０１は、実座標を、仮想空間５０における位置を示す座標（以下「仮想座標」という。また、仮想座標により示される点を「仮想点」という）に変換する。
【００３９】
ステップＳ１０２において、ＣＰＵ１０１は、受け付けた操作入力が、画像の拡大または縮小を指示するものであるか判断する。この判断は、操作入力信号により示される実座標を用いて行われる。具体的には、実座標がボタン５５またはボタン５６に相当する位置を示していた場合、ＣＰＵ１０１は、受け付けた操作入力が、画像の拡大または縮小を指示するものであると判断する。受け付けた操作入力が、画像の拡大または縮小を指示するものであると判断された場合（Ｓ１０２：ＹＥＳ）、ＣＰＵ１０１は、処理をステップＳ１０６に移行する。受け付けた操作入力が、画像の拡大または縮小を指示するものでないと判断された場合（Ｓ１０２：ＮＯ）、ＣＰＵ１０１は、処理をステップＳ１０３に移行する。
【００４０】
ステップＳ１０３において、ＣＰＵ１０１は、ステップＳ１０１において得られた仮想座標をメモリ１０２に記憶する。メモリ１０２は、操作入力の履歴、具体的には、過去の所定期間（例えば、継続中のドラッグまたは継続中のフリックが開始されたフレームから直近のフレームまで）の各フレームにおける仮想座標を順に記憶している。ＣＰＵ１０１は、このフレームにおける仮想座標を、メモリ１０２に書き込む。
【００４１】
ステップＳ１０４において、ＣＰＵ１０１は、入力ベクトルを算出する。入力ベクトルは、操作入力に応じて算出されるベクトルであり、この例では次式（１）により算出される。
Ｉ（ｊ）＝（１−ｋ）・Ｉ（ｊ−１）＋ｋ・ｉ（ｊ）    …（１）
ここで、Ｉ（ｊ）は第ｊフレームにおける入力ベクトルを示す。ｋは、０＜ｋ＜１を満たす所定の係数を示す。ｉ（ｊ）は、第ｊフレームにおける操作入力、すなわち、第（ｊ−１）フレームにおける仮想位置から第ｊフレームにおける仮想位置に向かうベクトルを示す。
【００４２】
図８は、操作入力と入力ベクトルとの関係を例示する図である。ここでは単純化のため、入力ベクトルが１次元ベクトルである例を説明する。図８において、横軸は時間を、縦軸はベクトルの値を示している。また、破線は操作入力を、実線は入力ベクトルを示している。ここでは、＋ＭＡＸの操作入力と−ＭＡＸの操作入力とが交互に与えられている例（すなわち、例えば右向きの操作入力と左向きの操作入力とが交互に与えられている例）が示されている。この例では、入力ベクトルは、時間的に少し遅れて操作入力を追従している。この遅れの程度は、係数ｋにより定められる。なお、入力ベクトルを算出する方法は式（１）に限られない。操作入力の履歴に応じたものであれば、入力ベクトルはどのような方法で算出されてもよい。
【００４３】
再び図６を参照する。ステップＳ１０５において、ＣＰＵ１０１は、領域５３の移動後の位置を算出する。移動後の位置の算出には、領域５３の現在位置と入力ベクトルとが用いられる。より具体的には、領域５３は、現在位置から入力ベクトルの方向に、入力ベクトルの大きさに所定の係数を乗じた距離だけ移動する。領域５３の位置は、注視点の位置により表される。なお、ＣＰＵ１０１は、領域５３が自由移動範囲５４からはみ出ないように、領域５３の移動を制限してもよい。ステップＳ１０５の処理が終了すると、ＣＰＵ１０１は、処理をステップＳ１０８に移行する。
【００４４】
ステップＳ１０６において、ＣＰＵ１０１は、領域５３の注視点の位置を移動させる。この例で、ＣＰＵ１０１は、まず注視点の移動範囲を算出する。移動範囲は、注視点の移動後の位置の候補を示す範囲である。移動範囲は、仮想空間５０の基準点（例えば中心点）と注視点との位置関係に応じて決められる。移動範囲を決定した後で、ＣＰＵ１０１は、移動範囲のうちどの位置に注視点を移動させるか決定する。
【００４５】
図９は、注視点の移動方向を例示する図である。この例で、拡大後の注視点Ｐｓａは、仮想空間５０の中心点Ｐｃから、拡大前の注視点Ｐｓｂに向かう方向に移動している。換言すると、注視点Ｐｓｂから注視点Ｐｓａに向かうベクトルｒ（拡大前後における注視点Ｐｓの移動を示すベクトル）は、基準点Ｐｃから注視点Ｐｓｂに向かうベクトルｑと同じ向きを有する。
【００４６】
図１０は、注視点の移動範囲を例示する図である。注視点の移動範囲ＲＧは、基準点Ｐｃと注視点Ｐｓｂとの距離に応じて決められる。具体的には、基準点Ｐｃから注視点Ｐｓｂまでの距離｜ｑ｜が長いほど、移動範囲ＲＧは広くなる。また、基準点から注視点までの距離｜ｑ｜が長いほど、移動量の最大値ｒｍａｘは大きくなる。さらに、基準点から注視点までの距離｜ｑ｜が長いほど、移動量の最小値ｒｍｉｎは大きくなる。なお、図１０では、ＲＧ＝ＲＧ１の場合のみ、移動距離の最大値ｒｍａｘおよび最小値ｒｍｉｎを図示している（ｒ１ｍａｘおよびｒ１ｍｉｎ）。また、この例では、ｒｍｉｎ＞０であるが、ｒｍｉｎ＝０であってもよい。図１０（ａ）〜（ｃ）においては、それぞれ基準点Ｐｃから注視点Ｐｓｂに向かうベクトルｑの大きさが異なる３つの例が示されている。この例において、｜ｑ１｜＞｜ｑ２｜＞｜ｑ３｜であり、従って、ＲＧ１＞ＲＧ２＞ＲＧ３である。
【００４７】
移動範囲ＲＧのうちどの位置に注視点を移動させるかは、ベクトルｑと入力ベクトルＩとの関係に応じて決められる。具体的には、ベクトルｑと入力ベクトルＩとが同じ向きを向いている場合、ＣＰＵ１０１は、移動距離が最大となるように、移動後の注視点の位置を決定する。図１０（ｄ）は、図１０（ａ）の例において、移動距離が最大となるように決定された注視点Ｐｓａの位置を示している。また、ベクトルｑと入力ベクトルＩとが逆の向きを向いている場合、ＣＰＵ１０１は、移動距離が最小となるように、注視点Ｐｓａの位置を決定する。図１０（ｅ）は、図１０（ａ）の例において、移動距離が最小となるように決定された注視点Ｐｓａの位置を示している。より詳細には、ＣＰＵ１０１は、例えば次式（２）によって移動後の注視点の位置を決定する。
ｒｒ＝（ｑ・Ｉ＋１）×（ｒｍａｘ−ｒｍｉｎ）／２＋ｒｍｉｎ    …（２）
ここで、ｒｒは移動距離を、ｑ・Ｉはベクトルｑと入力ベクトルＩの内積を、それぞれ示す。最大値ｒｍａｘおよび最小値ｒｍｉｎは、ベクトルｑの大きさの関数である。最大値ｒｍａｘおよび最小値ｒｍｉｎの具体的算出方法は、どのようなものであってもよい。なお、移動距離ｒｒの決定方法は式（２）によるものに限定されない。例えば、ベクトルｑと入力ベクトルＩの内積が正の場合はｒｒ＝ｒｍａｘ、ベクトルｑと入力ベクトルＩの内積が負の場合はｒｒ＝ｒｍｉｎというように移動距離ｒｒが決められてもよい。
【００４８】
再び図６を参照する。ステップＳ１０７において、ＣＰＵ１０１は、ステップＳ１０１で受け付けた操作入力に応じて、領域５３を拡大または縮小する。この例では、ステップＳ１０１で受け付けられる指示は、タッチスクリーン２０２に表示される画像の拡大または縮小の指示であるので、ＣＰＵ１０１は、画像の拡大が指示された場合は領域５３を縮小し、画像の縮小が指示された場合は領域５３を拡大する。
【００４９】
ステップＳ１０８において、ＣＰＵ１０１は、タッチスクリーン２０２に画像を表示させる。具体的には、ＣＰＵ１０１は、メモリ１０２に記憶されている座標に対応する位置における領域５３の画像を、タッチスクリーン２０２に描画するための信号を出力する。タッチスクリーン２０２は、通信部１０５および通信部２０３を介して受信したこの信号に従って画像を描画する。次のフレームになると、ＣＰＵ１０１は、ステップＳ１０１〜Ｓ１０８の処理を再び実行する。
【００５０】
以上で説明したように本実施形態によれば、拡大前後で注視点が移動しない場合と比較して、拡大後に所望のオブジェクトが画面内に表示される確率を上げることができる。
【００５１】
４．変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００５２】
４−１．変形例１
拡大前後における注視点Ｐｓの移動を示すベクトルｒの向きは、実施形態で説明したものに限定されない。例えば、ベクトルｒは、入力ベクトルＩと同じ向きを有していてもよい。あるいは、ベクトルｒは、拡大・縮小指示が入力された直近のフレームにおける操作入力ｉと同じ向きを有していてもよい。このように、注視点制御手段１３は、仮想空間５０における基準点と領域５３の注視点との位置関係によらず、操作入力の履歴に応じた方向に注視点を移動させてもよい。あるいは、注視点制御手段１３は、仮想空間５０における基準点と領域５３の注視点との位置関係および操作入力の履歴の双方に応じた方向に注視点を移動させてもよい。
【００５３】
４−２．変形例２
仮想空間５０の基準点は、中心点に限定されない。座標軸の原点、端点等、中心点以外の点が基準点として用いられてもよい。また、基準点は常に一定であるものに限定されない。基準点は、仮想空間５０の状況に応じて動的に移動してもよい。例えば、基準点は、仮想オブジェクトの状態、具体的には、仮想オブジェクトの数、仮想オブジェクトの位置の分布、仮想オブジェクトの大きさ等に応じて移動してもよい。あるいは、基準点は、仮想オブジェクトと仮想カメラとの位置関係に応じて移動してもよい。
【００５４】
４−３．変形例３
操作入力と領域５３の移動方向との関係は、実施形態で説明したものに限定されない。ＣＰＵ１０１は、ドラッグまたはフリックの方向と同じ方向の移動速度を発生させてもよい。
【００５５】
４−４．変形例４
実施形態においては画像の拡大が指示されたとき、および画像の縮小が指示されたときのいずれも、注視点の移動が行われた。しかし、画像の縮小の際には、注視点を移動させなくてもよい。
【００５６】
４−５．変形例５
情報処理装置１またはその他の装置のハードウェア構成は実施形態で説明したものに限定されない。例えば、コントローラ２はタッチスクリーン２０２を有していなくてもよい。この場合、コントローラ２は、キーパッドおよび／またはボタンを有し、押下されたキーまたはボタンに応じた操作入力信号を、情報処理装置１に供給してもよい。あるいは、コントローラ２は、加速度センサを有し、与えられた加速度に応じた（すなわちユーザがコントローラ２を振り回すアクションに応じた）操作入力信号を、情報処理装置１に供給してもよい。
【００５７】
４−６．変形例６
情報処理装置１のフローや、各種の処理に用いられるパラメータおよび数式はあくまで例示であり、実施形態で説明したものに限定されない。例えば、図６のフローの一部のステップは、省略されたり、他のステップと順番が入れ替えられたりしてもよい。
【００５８】
４−７．その他の変形例
領域５３は、仮想空間の一部であるものに限定されない。領域５３は実空間の一部であってもよい。
【００５９】
情報処理装置１は、据え置き型のゲーム装置に限定されない。情報処理装置１０は、携帯型ゲーム装置、パーソナルコンピュータ、携帯電話機、ＰＤＡ（Personal Digital Assistants）、タブレット端末など、ゲーム装置以外の情報処理装置であってもよい。また、情報処理装置１において実行されるアプリケーションプログラムは、ゲームアプリケーションに限定されない。文書編集アプリケーション、学習アプリケーション、その他の実用ソフトなど、ゲーム以外の機能を実現させるためのアプリケーションプログラムが情報処理装置１において実行されてもよい。また、実施形態で説明した情報処理装置１の機能の一部を、ネットワーク上のサーバ装置が有していてもよい。この場合、サーバ装置と情報処置装置１とを有する情報処理システムが、実施形態で説明した機能を有する。さらに、実施形態で説明した情報処理装置１の機能の一部は省略されてもよい。
【００６０】
情報処理装置１により実行されるアプリケーションプログラムは、記憶媒体により提供されるものに限定されない。アプリケーションプログラムは、インターネット等のネットワークを介したダウンロードにより提供されてもよい。また、情報処理装置１のシステムソフトウェアが、記憶媒体またはダウンロードにより提供されてもよい。
【符号の説明】
【００６１】
１…情報処理装置
１１…移動指示受け付け手段
１２…拡大・縮小指示受け付け手段
１３…注視点制御手段
１４…拡大・縮小制御手段
１５…表示制御手段
１０１…ＣＰＵ
１０２…メモリ
１０３…外部メモリＩＦ
１０４…入出力ＩＦ
１０５…通信部
２…コントローラ
２０１…ＣＰＵ
２０２…タッチスクリーン
２０３…通信部
３…外部メモリ
４…表示装置
２０…表示手段
５０…仮想空間
５１…フィールド
５２…オブジェクト
５３…領域
５４…自由移動範囲
５５…ボタン
５６…ボタン
【図１】
2014085818.tif 000003
【図２】
2014085818.tif 000004
【図３】
2014085818.tif 000005
【図４】
2014085818.tif 000006
【図５】
2014085818.tif 000007
【図６】
2014085818.tif 000008
【図７】
2014085818.tif 000009
【図８】
2014085818.tif 000010
【図９】
2014085818.tif 000011
【図１０】
2014085818.tif 000012