(57)【特許請求の範囲】
【請求項１】
表示部に表示されている３次元モデルの操作対象画像に対してユーザによるタッチ操作が行われた場合に、当該タッチ操作の操作状況を当該ユーザに提示する触覚提示装置であって、
前記表示部の表示面に対応する位置においてユーザによるタッチ操作を受け付けて、受け付けた前記対応する位置をタッチ位置として検出するタッチパネルと、
前記タッチパネルを振動させる振動部と、
前記表示部と、
前記タッチパネルにより検出された複数の前記タッチ位置に基づいて、ユーザが前記タッチパネルをなぞった距離であるなぞり距離を算出する判定部と、
（１）前記操作対象画像を前記表示部に表示させ、（２）前記なぞり距離を予め定められた基準点を中心とした前記操作対象画像の回転角度に変換し、変換した前記回転角度の分だけ回転させた前記操作対象画像を前記表示部に表示させる表示制御部と、
（１）前記振動部を前記操作対象画像の回転開始時に所定の振幅および所定の周波数の駆動波形で前記振動部を駆動し、（２）前記なぞり距離の増加に応じて前記駆動波形の振幅を減少させ、（３）前記操作対象画像の回転停止時に所定の時間で前記駆動波形の振幅が０となるように前記振動部を制御する振動制御部と、を備える
触覚提示装置。
【請求項２】
表示部に表示されている３次元モデルの操作対象画像に対してユーザによるタッチ操作が行われた場合に、当該タッチ操作の操作状況をユーザに提示する触覚提示装置であって、
前記表示部の表示面に対応する位置においてユーザによるタッチ操作を受け付けて、受け付けた前記対応する位置をタッチ位置として検出するタッチパネルと、
前記タッチパネルを振動させる振動部と、
前記表示部と、
前記操作対象画像を示す表示データを記憶している第１の記憶部と、
（１）異なる複数のタイミングで前記タッチパネルにより検出された前記タッチ位置を取得し、（２）取得した複数の前記タッチ位置に基づいて前記操作状況を判定する判定部と、
（１）前記操作対象画像を前記表示部に表示させ、（２）前記判定部により判定された前記操作状況に基づいて前記表示部に表示させている前記操作対象画像を回転させる変更を行う、または、前記変更を行わない表示制御部と、
前記判定部により判定された前記操作状況に基づいて前記振動部を振動させる振動制御部と、を備え、
前記判定部は、（１）前記操作対象画像に対するタッチ操作において前記タッチパネルにより検出されたタッチ位置が、前記操作対象画像が表示されている前記表示部の領域内のみで移動している場合に、当該タッチ操作の操作状況が第１の操作状況であると判定し、（２）前記操作対象画像に対するタッチ操作において前記タッチパネルにより検出されたタッチ位置が、前記操作対象画像が表示されている前記表示部の領域内から領域外へ移動している場合に、当該タッチ操作の操作状況が第２の操作状況であると判定し、
前記振動制御部は、前記操作状況が前記第１の操作状況であると前記判定部により判定された場合には、前記変更の開始から前記変更の停止に至るまでの前記タッチ位置の移動距離が増加するほど、前記振動部を振動させる第１の駆動波形の振幅を減少させ、前記変更の停止時に所定の時間で前記駆動波形の振幅が０となるように前記振動部を制御し、前記操作状況が前記第２の操作状況であると前記判定部により判定された場合には、前記タッチ位置が前記操作対象画像の領域内から領域外へ移動した以降において、第２の駆動波形により前記振動部を振動させ、
前記表示制御部は、前記操作状況が前記第１の操作状況であると前記判定部により判定された場合には、前記複数のタッチ位置の変化量に基づいて前記表示部に表示させている前記操作対象画像に対する前記変更を行い、前記操作状況が前記第２の操作状況であると前記判定部により判定された場合には、前記操作対象画像の領域内から領域外へ移動した時の前記複数のタッチ位置から算出される速度に基づいて、前記表示部に表示させている前記操作対象画像に対する前記変更を行う
触覚提示装置。
【請求項３】
表示部に表示されている３次元モデルの操作対象画像に対してユーザによるタッチ操作が行われた場合に、当該タッチ操作の操作状況をユーザに提示する触覚提示装置の駆動方法であって、
前記触覚提示装置は、
前記表示部の表示面に対応する位置においてユーザによるタッチ操作を受け付けて、受け付けた前記対応する位置をタッチ位置として検出するタッチパネルと、
前記タッチパネルを振動させる振動部と、
前記表示部と、
前記操作対象画像を示す表示データを記憶している第１の記憶部と、を備え、
当該触覚提示装置の駆動方法は、
（１）異なる複数のタイミングで前記タッチパネルにより検出された前記タッチ位置を取得し、（２）取得した複数の前記タッチ位置に基づいて前記操作状況を判定する判定ステップと、
（１）前記操作対象画像を前記表示部に表示させ、（２）前記判定ステップにおいて判定された前記操作状況に基づいて前記表示部に表示させている前記操作対象画像を回転させる変更を行う、または、前記変更を行わない表示制御ステップと、
前記判定ステップにおいて判定された前記操作状況に基づいて前記振動部を振動させる振動制御ステップと、を含み、
前記判定ステップでは、（１）前記操作対象画像に対するタッチ操作において前記タッチパネルにより検出されたタッチ位置が、前記操作対象画像が表示されている前記表示部の領域内のみで移動している場合に、当該タッチ操作の操作状況が第１の操作状況であると判定し、（２）前記操作対象画像に対するタッチ操作において前記タッチパネルにより検出されたタッチ位置が、前記操作対象画像が表示されている前記表示部の領域内から領域外へ移動している場合に、当該タッチ操作の操作状況が第２の操作状況であると判定し、
前記振動制御ステップでは、前記操作状況が前記第１の操作状況であると前記判定ステップにおいて判定された場合には、前記変更の開始から前記変更の停止に至るまでの前記タッチ位置の移動距離が増加するほど、前記振動部を振動させる第１の駆動波形の振幅を減少させ、前記変更の停止時に所定の時間で前記駆動波形の振幅が０となるように前記振動部を制御し、前記操作状況が前記第２の操作状況であると前記判定ステップにおいて判定された場合には、前記タッチ位置が前記操作対象画像の領域内から領域外へ移動した以降において、第２の駆動波形により前記振動部を振動させ、
前記表示制御ステップでは、前記操作状況が前記第１の操作状況であると前記判定ステップにおいて判定された場合には、前記複数のタッチ位置の変化量に基づいて前記表示部に表示させている前記操作対象画像に対する前記変更を行い、前記操作状況が前記第２の操作状況であると前記判定ステップにおいて判定された場合には、前記操作対象画像の領域内から領域外へ移動した時の前記複数のタッチ位置から算出される速度に基づいて、前記表示部に表示させている前記操作対象画像に対する前記変更を行う
触覚提示装置の駆動方法。
【請求項４】
請求項３に記載の触覚提示装置の駆動方法に含まれるステップをコンピュータに実行させるための触覚提示装置の駆動プログラム。
【請求項５】
表示部に表示されている３次元モデルの操作対象画像に対してユーザによるタッチ操作が行われた場合に、当該タッチ操作の操作状況をユーザに提示する触覚提示装置であって、
前記表示部の表示面に対応する位置においてユーザによるタッチ操作を受け付けて、受け付けた前記対応する位置をタッチ位置として検出するタッチパネルと、
前記タッチパネルを振動させる振動部と、
前記表示部と、
（１）前記操作対象画像に対するタッチ操作において前記タッチパネルにより検出されたタッチ位置が、前記操作対象画像が表示されている前記表示部の領域内のみで移動している場合に、当該タッチ操作の操作状況が第１の操作状況であると判定し、（２）前記操作対象画像に対するタッチ操作において前記タッチパネルにより検出されたタッチ位置が、前記操作対象画像が表示されている前記表示部の領域内から領域外へ移動している場合に、当該タッチ操作の操作状況が第２の操作状況であると判定する判定部と、
（１）前記タッチ操作による操作の対象となる操作対象画像を前記表示部の一部に表示させ、（２）複数の前記タッチ位置間の距離および方向に基づいて、前記操作対象画像を回転表示する表示制御部と、
前記第１の操作状況および第２の操作状況に応じて、前記タッチパネルを異なる振幅および周波数の駆動波形により、前記振動部の振動制御を行う振動制御部とを、備える
触覚提示装置。
【請求項６】
前記振動制御部は、前記操作状況が前記第１の操作状況であると前記判定部により判定された場合には、前記第１の操作状況と判定されたタッチ位置の移動距離が増加するほど、前記振動部を振動させる第１の駆動波形の振幅を減少させ、当該タッチ操作における最終の前記タッチ位置で前記駆動波形の振幅が０となるように前記振動部を制御し、前記操作状況が前記第２の操作状況であると前記判定部により判定された場合には、前記タッチ位置が前記操作対象画像の領域内から領域外へ移動した以降において、第２の駆動波形により前記振動部を振動させ、
前記表示制御部は、前記操作状況が前記第１の操作状況であると前記判定部により判定された場合には、前記複数のタッチ位置の変化量に基づいて前記表示部に表示させている前記操作対象画像に対する前記変更を行い、前記操作状況が前記第２の操作状況であると前記判定部により判定された場合には、前記操作対象画像の領域内から領域外へ移動した時の前記複数のタッチ位置から算出される速度に基づいて、前記表示部に表示させている前記操作対象画像に対する前記変更を行う
請求項５記載の触覚提示装置。
【請求項７】
表示部に表示されている３次元モデルの操作対象画像に対してユーザによるタッチ操作が行われた場合に、当該タッチ操作の操作状況をユーザに提示する触覚提示装置であって、
前記表示部の表示面に対応する位置においてユーザによるタッチ操作を受け付けて、受け付けた前記対応する位置をタッチ位置として検出するタッチパネルと、
前記表示部と、
（１）前記操作対象画像を前記表示部に表示させ、（２）前記タッチパネルにより検出された複数の前記タッチ位置間の距離および方向に基づいて回転させた前記操作対象画像を前記表示部に表示させる表示制御部と、
前記タッチパネルを振動させる振動部と、
前記複数のタッチ位置の時系列情報に基づいて、前記タッチパネル上をユーザがなぞった距離を算出する判定部と、
（１）前記操作対象画像に対する前記タッチ操作におけるタッチ開始地点において、所定の振幅および周波数の駆動波形で前記振動部を駆動し、（２）前記なぞり距離の増加に応じて前記駆動波形の振幅を減少させ、（３）前記操作対象画像のタッチ位置のタッチ終了地点において、前記タッチ終了地点をタッチしてから所定の時間経過時に前記駆動波形の振幅が０となるように前記振動部を制御する振動制御部と、を備える
触覚提示装置。
【請求項８】
表示部に表示されている３次元モデルの操作対象画像に対してユーザによるタッチ操作が行われた場合に、当該タッチ操作の操作状況をユーザに提示する触覚提示装置であって、
前記表示部の表示面に対応する位置においてユーザによるタッチ操作を受け付けて、受け付けた前記対応する位置をタッチ位置として検出するタッチパネルと、
前記表示部と、
（１）前記操作対象画像を前記表示部に表示させ、（２）前記タッチパネルにより検出された複数の前記タッチ位置間の距離および方向に基づいて回転させた前記操作対象画像を前記表示部に表示させる表示制御部と、
前記タッチパネルを振動させる振動部と、
前記複数のタッチ位置の時系列情報に基づいて、前記タッチパネル上をユーザがなぞった距離を算出する判定部と、
前記操作対象画像に対する前記タッチ操作におけるタッチ開始地点からタッチ終了地点までの間において、所定の振幅および周波数の駆動波形による前記振動部の駆動と駆動停止とを繰り返す振動制御を行う振動制御部とを備える
触覚提示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はタッチパネルディスプレイに表示されている仮想オブジェクトを指やペンで操作したときの操作状況を触覚により提示するものである。特に、仮想オブジェクトを回転させる操作を行った際の操作状況を触覚により提示する触覚提示装置および触覚提示方法に関する。
【背景技術】
【０００２】
近年、スマートフォン、タブレット、パソコン、ゲーム機などの操作インタフェースとして、タッチパネルが普及している。これらの機器では、ユーザがタッチパネルに触れた位置をタッチ位置として検出し、当該タッチ位置に表示されているＧＵＩ（Ｇｒａｐｈｉｃａｌ  ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）などの仮想オブジェクトを操作する。一般に、タッチパネルは機械的なスイッチとは異なり、仮想オブジェクトを操作したときの感触（触覚による操作感）が得られないため、仮想オブジェクトを操作したときにタッチパネルを振動させることにより、仮想オブジェクトの状態または操作状況をユーザに確実に認識させる触覚提示装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４４７３０７８号公報
【特許文献２】特開２０１１−１５９１１０号公報
【特許文献３】特許第４７６３６９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、３次元の仮想オブジェクトに対するタッチ操作を行った時の操作状況を触覚による操作感により適切にユーザにフィードバックすることができないという課題があった。【０００５】
本発明は、上記従来の課題に鑑みてなされたものであり、表示部に表示されたユーザの操作の対象となる３次元モデルの操作対象画像を、タッチパネルをなぞることにより回転させる操作を行う時に、当該操作対象画像を回転させている状況を触覚を提示することによりユーザに操作感をフィードバックすることを可能とする触覚提示装置および触覚提示方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記従来の課題を解決するために、本発明の一態様に係る触覚提示装置は、表示部に表示されている３次元モデルの操作対象画像に対してユーザによるタッチ操作が行われた場合に、当該タッチ操作の操作状況をユーザに提示する触覚提示装置であって、前記表示部の表示面に対応する位置においてユーザによるタッチ操作を受け付けて、受け付けた前記対応する位置をタッチ位置として検出するタッチパネルと、前記タッチパネルを振動させる振動部と、前記表示部と、前記操作対象画像を示す表示データを記憶している第１の記憶部と、（１）異なる複数のタイミングで前記タッチパネルにより検出された前記タッチ位置を取得し、（２）取得した複数の前記タッチ位置に基づいて前記操作状況を判定する判定部と、（１）前記操作対象画像を前記表示部に表示させ、（２）前記判定部により判定された前記操作状況に基づいて前記表示部に表示させている前記操作対象画像を回転させる変更を行う、または、前記変更を行わない表示制御部と、前記判定部により判定された前記操作状況に基づいて前記振動部を振動させる振動制御部と、を備え、前記判定部は、（１）前記操作対象画像に対するタッチ操作において前記タッチパネルにより検出されたタッチ位置が、前記操作対象画像が表示されている前記表示部の領域内のみで移動している場合に、当該タッチ操作の操作状況が第１の操作状況であると判定し、（２）前記操作対象画像に対するタッチ操作において前記タッチパネルにより検出されたタッチ位置が、前記操作対象画像が表示されている前記表示部の領域内から領域外へ移動している場合に、当該タッチ操作の操作状況が第２の操作状況であると判定し、前記振動制御部は、前記操作状況が前記第１の操作状況であると前記判定部により判定された場合には、前記変更の開始から前記変更の停止に至るまでの前記タッチ位置の移動距離が増加するほど、前記振動部を振動させる第１の駆動波形の振幅を減少させ、前記変更の停止時に所定の時間で前記駆動波形の振幅が０となるように前記振動部を制御し、前記操作状況が前記第２の操作状況であると前記判定部により判定された場合には、前記タッチ位置が前記操作対象画像の領域内から領域外へ移動した以降において、第２の駆動波形により前記振動部を振動させ、前記表示制御部は、前記操作状況が前記第１の操作状況であると前記判定部により判定された場合には、前記複数のタッチ位置の変化量に基づいて前記表示部に表示させている前記操作対象画像に対する前記変更を行い、前記操作状況が前記第２の操作状況であると前記判定部により判定された場合には、前記操作対象画像の領域内から領域外へ移動した時の前記複数のタッチ位置から算出される速度に基づいて、前記表示部に表示させている前記操作対象画像に対する前記変更を行う。【０００７】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００８】
本発明である触覚提示装置および触覚提示方法によれば、表示部に表示された操作対象画像（例えば球体からなるＧＵＩ）を、タッチパネルをなぞることにより回転させる操作を行う時の操作感をユーザにフィードバックすることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の実施の形態１における触覚提示装置の構成図である。
【図２】図２は、本発明の実施の形態１における仮想トラックボールの表示制御方法を示す図である。
【図３】図３は、本発明の実施の形態１における触覚提示装置の動作を示すフローチャートである。
【図４】図４は、本発明の実施の形態１における操作状況判定部と振動制御部と表示制御部の動作の関係を示す図である。
【図５】図５は、仮想トラックボールに指を触れたまま操作する際の駆動波形の一例を示す図である。
【図６】図６は、仮想トラックボールに指を触れたまま操作する際の別の駆動波形の一例を示す図である。
【図７】図７は、なぞり停止時の駆動波形の一例を示す図である。
【図８】図８は、仮想トラックボールを回転させ続ける操作時の駆動波形の一例を示す図である。
【発明を実施するための形態】
【００１０】
（本発明の基礎となった知見）
本発明者は、「背景技術」の欄において記載した、触覚提示装置に関し、以下の問題が生じることを見出した。
【００１１】
特許文献１では、キーボードのキーを押し下げた時の操作状況のユーザへのフィードバックを目的として、キーの押下力の時間変化を模擬した波形でタッチパネルを振動させてクリック感をユーザに提示することが開示されている。
【００１２】
特許文献２では、仮想オブジェクトに対してドラッグ操作を行った時の仮想オブジェクトの状態のユーザへのフィードバックを目的として、仮想オブジェクトの操作時に、仮想オブジェクトの加速度または速度に比例して振動振幅を増減することにより、質量または粘性の増減をユーザに感じさせる技術が開示されている。
【００１３】
特許文献３では、タッチパネル上で円を描くように指を動かす回転ジェスチャにより、音量などを設定するための仮想ノブ、または、リストなどを操作するための仮想スクロールホイールの操作量のフィードバックを目的として、単位量回転する毎に（例えば５度毎）振動させることが開示されている。
【００１４】
特許文献１〜３においては、ユーザが、仮想のキーを押下げた時のクリック感、アイコンをドラッグした時の質量または粘性変化、タッチパネル平面上での回転ジェスチャ認識による仮想スクロールホイールの操作における単位回転量ごとの振動通知など、２次元のＧＵＩに対する触覚による操作状況のフィードバック方法が開示されている。
【００１５】
しかしながら、これら従来の技術では、３次元の仮想オブジェクトを回転させる操作に対する触覚による操作感のフィードバックについては考慮されていない。すなわち、球体を指で回転させてカーソルなどを移動させるトラックボールの機能を、タッチパネルにより操作可能なＧＵＩとして仮想的に実現しようとしても、ディスプレイに表示された仮想の球体を回転させている状況を触覚による操作感をユーザにフィードバックすることができないという課題があった。
【００１６】
このような問題を解決するために、本発明の一態様に係る触覚提示装置は、表示部に表示されている３次元モデルの操作対象画像に対してユーザによるタッチ操作が行われた場合に、当該タッチ操作の操作状況を当該ユーザに提示する触覚提示装置であって、前記表示部の表示面に対応する位置においてユーザによるタッチ操作を受け付けて、受け付けた前記対応する位置をタッチ位置として検出するタッチパネルと、前記タッチパネルを振動させる振動部と、前記表示部と、前記タッチパネルにより検出された複数の前記タッチ位置に基づいて、ユーザが前記タッチパネルをなぞった距離であるなぞり距離を算出する判定部と、（１）前記操作対象画像を前記表示部に表示させ、（２）前記なぞり距離を予め定められた基準点を中心とした前記操作対象画像の回転角度に変換し、変換した前記回転角度の分だけ回転させた前記操作対象画像を前記表示部に表示させる表示制御部と、（１）前記振動部を前記操作対象画像の回転開始時に所定の振幅および所定の周波数の駆動波形で前記振動部を駆動し、（２）前記なぞり距離の増加に応じて前記駆動波形の振幅を減少させ、（３）前記操作対象画像の回転停止時に所定の時間で前記駆動波形の振幅が０となるように前記振動部を制御する振動制御部と、を備える。
【００１７】
本構成によって、３次元の仮想オブジェクトを回転操作するときの触覚による操作感をフィードバックすることができる。
【００１８】
また、本発明の一態様に係る触覚提示装置は、表示部に表示されている３次元モデルの操作対象画像に対してユーザによるタッチ操作が行われた場合に、当該タッチ操作の操作状況をユーザに提示する触覚提示装置であって、前記表示部の表示面に対応する位置においてユーザによるタッチ操作を受け付けて、受け付けた前記対応する位置をタッチ位置として検出するタッチパネルと、前記タッチパネルを振動させる振動部と、前記表示部と、前記操作対象画像を示す表示データを記憶している第１の記憶部と、（１）異なる複数のタイミングで前記タッチパネルにより検出された前記タッチ位置を取得し、（２）取得した複数の前記タッチ位置に基づいて前記操作状況を判定する判定部と、（１）前記操作対象画像を前記表示部に表示させ、（２）前記判定部により判定された前記操作状況に基づいて前記表示部に表示させている前記操作対象画像を回転させる変更を行う、または、前記変更を行わない表示制御部と、前記判定部により判定された前記操作状況に基づいて前記振動部を振動させる振動制御部と、を備え、前記判定部は、（１）前記操作対象画像に対するタッチ操作において前記タッチパネルにより検出されたタッチ位置が、前記操作対象画像が表示されている前記表示部の領域内のみで移動している場合に、当該タッチ操作の操作状況が第１の操作状況であると判定し、（２）前記操作対象画像に対するタッチ操作において前記タッチパネルにより検出されたタッチ位置が、前記操作対象画像が表示されている前記表示部の領域内から領域外へ移動している場合に、当該タッチ操作の操作状況が第２の操作状況であると判定し、前記振動制御部は、前記操作状況が前記第１の操作状況であると前記判定部により判定された場合には、前記変更の開始から前記変更の停止に至るまでの前記タッチ位置の移動距離が増加するほど、前記振動部を振動させる第１の駆動波形の振幅を減少させ、前記変更の停止時に所定の時間で前記駆動波形の振幅が０となるように前記振動部を制御し、前記操作状況が前記第２の操作状況であると前記判定部により判定された場合には、前記タッチ位置が前記操作対象画像の領域内から領域外へ移動した以降において、第２の駆動波形により前記振動部を振動させ、前記表示制御部は、前記操作状況が前記第１の操作状況であると前記判定部により判定された場合には、前記複数のタッチ位置の変化量に基づいて前記表示部に表示させている前記操作対象画像に対する前記変更を行い、前記操作状況が前記第２の操作状況であると前記判定部により判定された場合には、前記操作対象画像の領域内から領域外へ移動した時の前記複数のタッチ位置から算出される速度に基づいて、前記表示部に表示させている前記操作対象画像に対する前記変更を行う。
【００１９】
本構成によって、表示部に表示された球体からなるＧＵＩを、仮想トラックボールとしてタッチパネルをなぞることにより回転操作する場合に、仮想トラックボールに指をつけたまま回転させている操作状況、および、回転している途中で仮想トラックボールから指を離して仮想トラックボールを回転させ続ける操作状況を判定し、触覚による操作感によりユーザにフィードバックすることができる。
【００２０】
また、本発明の一態様に係る触覚提示装置は、表示部に表示されている３次元モデルの操作対象画像に対してユーザによるタッチ操作が行われた場合に、当該タッチ操作の操作状況をユーザに提示する触覚提示装置であって、前記表示部の表示面に対応する位置においてユーザによるタッチ操作を受け付けて、受け付けた前記対応する位置をタッチ位置として検出するタッチパネルと、前記タッチパネルを振動させる振動部と、前記表示部と、（１）前記操作対象画像に対するタッチ操作において前記タッチパネルにより検出されたタッチ位置が、前記操作対象画像が表示されている前記表示部の領域内のみで移動している場合に、当該タッチ操作の操作状況が第１の操作状況であると判定し、（２）前記操作対象画像に対するタッチ操作において前記タッチパネルにより検出されたタッチ位置が、前記操作対象画像が表示されている前記表示部の領域内から領域外へ移動している場合に、当該タッチ操作の操作状況が第２の操作状況であると判定する判定部と、（１）前記タッチ操作による操作の対象となる操作対象画像を前記表示部の一部に表示させ、（２）複数の前記タッチ位置間の距離および方向に基づいて、前記操作対象画像を回転表示する表示制御部と、前記第１の操作状況および第２の操作状況に応じて、前記タッチパネルを異なる振幅および周波数の駆動波形により、前記振動部の振動制御を行う振動制御部とを、備える。
【００２１】
例えば、前記振動制御部は、前記操作状況が前記第１の操作状況であると前記判定部により判定された場合には、前記第１の操作状況と判定されたタッチ位置の移動距離が増加するほど、前記振動部を振動させる第１の駆動波形の振幅を減少させ、当該タッチ操作における最終の前記タッチ位置で前記駆動波形の振幅が０となるように前記振動部を制御し、前記操作状況が前記第２の操作状況であると前記判定部により判定された場合には、前記タッチ位置が前記操作対象画像の領域内から領域外へ移動した以降において、第２の駆動波形により前記振動部を振動させ、前記表示制御部は、前記操作状況が前記第１の操作状況であると前記判定部により判定された場合には、前記複数のタッチ位置の変化量に基づいて前記表示部に表示させている前記操作対象画像に対する前記変更を行い、前記操作状況が前記第２の操作状況であると前記判定部により判定された場合には、前記操作対象画像の領域内から領域外へ移動した時の前記複数のタッチ位置から算出される速度に基づいて、前記表示部に表示させている前記操作対象画像に対する前記変更を行ってもよい。
【００２２】
また、本発明の一態様に係る触覚提示装置は、表示部に表示されている３次元モデルの操作対象画像に対してユーザによるタッチ操作が行われた場合に、当該タッチ操作の操作状況をユーザに提示する触覚提示装置であって、前記表示部の表示面に対応する位置においてユーザによるタッチ操作を受け付けて、受け付けた前記対応する位置をタッチ位置として検出するタッチパネルと、前記表示部と、（１）前記操作対象画像を前記表示部に表示させ、（２）前記タッチパネルにより検出された複数の前記タッチ位置間の距離および方向に基づいて回転させた前記操作対象画像を前記表示部に表示させる表示制御部と、前記タッチパネルを振動させる振動部と、前記複数のタッチ位置の時系列情報に基づいて、前記タッチパネル上をユーザがなぞった距離を算出する判定部と、（１）前記操作対象画像に対する前記タッチ操作におけるタッチ開始地点において、所定の振幅および周波数の駆動波形で前記振動部を駆動し、（２）前記なぞり距離の増加に応じて前記駆動波形の振幅を減少させ、（３）前記操作対象画像のタッチ位置のタッチ終了地点において、前記タッチ終了地点をタッチしてから所定の時間経過時に前記駆動波形の振幅が０となるように前記振動部を制御する振動制御部と、を備える。
【００２３】
また、本発明の一態様に係る触覚提示装置は、表示部に表示されている３次元モデルの操作対象画像に対してユーザによるタッチ操作が行われた場合に、当該タッチ操作の操作状況をユーザに提示する触覚提示装置であって、前記表示部の表示面に対応する位置においてユーザによるタッチ操作を受け付けて、受け付けた前記対応する位置をタッチ位置として検出するタッチパネルと、前記表示部と、（１）前記操作対象画像を前記表示部に表示させ、（２）前記タッチパネルにより検出された複数の前記タッチ位置間の距離および方向に基づいて回転させた前記操作対象画像を前記表示部に表示させる表示制御部と、前記タッチパネルを振動させる振動部と、前記複数のタッチ位置の時系列情報に基づいて、前記タッチパネル上をユーザがなぞった距離を算出する判定部と、前記操作対象画像に対する前記タッチ操作におけるタッチ開始地点からタッチ終了地点までの間において、所定の振幅および周波数の駆動波形による前記振動部の駆動と駆動停止とを繰り返す振動制御を行う振動制御部とを備える。
【００２４】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【００２５】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００２６】
（実施の形態１）
実施の形態１に係る触覚提示装置は、ＧＵＩとしての球体の操作対象画像（仮想トラックボール）を回転させる操作を行う時の操作状況を、触覚による操作感としてユーザに提示する。つまり、触覚提示装置は、タッチ操作の対象として表示部に表示されている操作対象画像に対してユーザによるタッチ操作が行われた場合に、当該タッチ操作の操作状況をユーザに提示する。
【００２７】
実際のトラックボールの操作には、主に、指をボールにつけたまま回転させた量だけカーソルなどを移動させる第１の操作と、ボールを勢いよく回転させて途中でボールから指を離し、ボールが連続して回り続ける間、カーソルなどを移動させ続ける第２の操作との２種類の操作がある。本実施の形態１に係る触覚提示装置は、仮想トラックボールの操作において、第１の操作および第２の操作の状況を触覚による操作感としてユーザに提示する。
【００２８】
図１は、本発明の実施の形態における触覚提示装置の構成を示す。
【００２９】
本実施形態の触覚提示装置１００は、タッチパネル１０１、振動部１０２、表示部１０３、第１の記憶部１０４、判定部１０５、表示制御部１０６、および振動制御部１０７を備える。
【００３０】
タッチパネル１０１は、表示部１０３の表示面に対応する位置においてユーザの指１によるタッチ操作を受け付けて、受け付けた対応する位置をタッチ位置２として検出する。タッチパネル１０１としては、例えば静電容量方式や抵抗膜方式などを用いることができる。
【００３１】
振動部１０２は、タッチパネル１０１を振動させることにより、ユーザの指１に触覚を提示する。振動部１０２は、例えば、接着剤等でタッチパネル１０１に固定される。振動部１０２は、例えば圧電素子や振動モータ、ボイスコイル、人工筋肉などが用いられる。
【００３２】
表示部１０３は、後述する表示制御部１０６により出力された画像を表示する例えば液晶ディスプレイ、有機ＥＬディスプレイなどである。
【００３３】
本実施の形態１に係る触覚提示装置１００では、タッチパネル１０１、振動部１０２、および表示部１０３の位置関係は、タッチパネル１０１が表示部１０３の表示面の上部に配置され、振動部１０２は表示部１０３の表示を妨げないタッチパネルの周辺部に配置される。しかし、このような構成に限らず、タッチパネル１０１と表示部１０３とを別々の位置に配置することも考えられる。例えば、テレビを表示部１０３、タッチパネル１０１をテレビのリモコンに設置し、テレビにはタッチ位置の検出結果示すカーソルを表示する配置にしてもよい。
【００３４】
第１の記憶部１０４は、操作対象画像３を示す表示データを記憶している。第１の記憶部１０４は、操作対象画像３が球体を表現している場合、記憶している操作対象画像３の表示データとしては、球体の三次元モデルと三次元モデルの表面上にマッピングするテクスチャ情報４とを記憶していることが望ましい。ユーザのタッチ操作により操作対象画像３を回転させる操作を行った場合、後述する表示制御部１０６は、このテクスチャ情報４を用いて操作対象画像３を表示部１０３に表示させるため、操作対象画像３上にＣＧで再現する光の見え方を変化させることができる。これにより、表示部１０３に表示される操作対象画像３がユーザのタッチ操作により回転していることを、ユーザに認識させることができる。
【００３５】
球体の表面にマッピングするテクスチャ情報４は、例えば８ビットのＲＧＢ値を持つビットマップ画像である。ビットマップ画像として例えば宇宙から見た地球の画像を第１の記憶部１０４に記憶させておけば、表示制御部１０６は、仮想の地球儀を仮想トラックボールのようなＧＵＩとして表示させることができる。また、表示データとして、仮想トラックボール３ａを回転させる方向を限定し、球体の三次元モデルを所定の角度ごとに回転させたときの表示部１０３に投影される２次元の画像を第１の記憶部に複数記憶させておき、表示制御部１０６がタッチ位置２の変化に応じて第１の記憶部に記憶されている複数の画像を切り替えて表示させるようにしてもよい。
【００３６】
判定部１０５は、異なる複数のタイミングでタッチパネル１０１で検出されたタッチ位置を取得する。判定部１０５は、取得した複数のタッチ位置に基づいて操作状況を判定する。判定部１０５は、タッチパネル１０１により検出された複数のタッチ位置２から特定されたユーザがタッチパネル１０１をなぞった軌跡を用いて操作対象画像３を回転させる際の操作状況が、第１の操作状況であるか第２の操作状況であるかを判定する。具体的には、判定部１０５は、操作対象画像３に対するタッチ操作においてタッチパネル１０１により検出されたタッチ位置が、操作対象画像３が表示されている表示部１０３の領域内のみで移動している場合（つまり、タッチ位置２が当該領域内に全て含まれる場合）に、当該タッチ操作の操作状況が第１の操作状況であると判定する。判定部１０５はまた、操作対象画像３に対するタッチ操作においてタッチパネル１０１により検出されたタッチ位置が、操作対象画像３が表示されている表示部１０３の領域内から領域外へ移動している場合に、当該タッチ操作の操作状況が第２の操作状況であると判定する。
【００３７】
具体的には、判定部１０５は、所定のサンプリング時間Δｔが経過するごとの異なる複数のタイミングでタッチ位置Ｐｔ（ｘｔ、ｙｔ）を取得し、取得したタッチ位置Ｐｔ（ｘｔ、ｙｔ）を時系列（複数のタイミングごと）に第２の記憶部に記憶させる。判定部１０５は、第１の記憶部１０４から取得したタッチパネル１０１上の操作対象画像３の領域情報と、第２の記憶部から取得したタッチ位置２とを参照し、異なる複数の位置に存在するタッチ位置２が操作対象画像３の領域内に含まれているか否かにより操作状況を判定する。つまり、判定部１０５は、複数のタッチ位置２が操作対象画像３の領域内に全て含まれていれば、当該複数のタッチ位置２が検出されたタッチ操作の操作状況を第１の操作状況であると判定する。また、判定部は、複数のタッチ位置が操作対象画像３の領域内と操作対象画像３の領域外とに分布していれば第２の操作状況であると判定する。更に、判定部１０５は、タッチ位置２を検出できない不検出状態を判定してもよい。
【００３８】
なお、判定部１０５は、複数のタッチ位置が検出されない場合には、判定部１０５は、当該タッチ操作についての操作状況の判定を行わなくてもよい。この場合、操作状況の判定を行わない場合は、厳密に複数のタッチ位置が同一の位置にあることに限らずに、予め定められた領域（操作対象画像３が表示される領域よりも遙かに小さい領域）内に含まれる場合であってもよい。
【００３９】
表示制御部１０６は、操作対象画像３（仮想トラックボール）を表示部１０３に表示させる。表示制御部１０６はまた、判定部１０５により判定された操作状況に基づいて表示部に表示させている操作対象画像を、回転させる変更を行う、または、変更を行わない。また、表示制御部１０６は、タッチパネルにより検出された複数のタッチ位置間の距離および方向に基づいて、操作対象画像を回転させて表示部１０３に表示させる。つまり、表示制御部１０６は、なぞり距離を予め定められた基準点を中心とした操作対象画像３の回転角度に変換し、変換した回転角度の分だけ回転させた操作対象画像３を表示部１０３に表示させる。
【００４０】
具体的に、表示制御部１０６は、操作状況が第１の操作状況であると判定部１０５により判定された場合には、タッチ位置２の変化量に基づいて表示部１０３に表示させている操作対象画像３に対する変更を行う。一方で、表示制御部１０６は、操作状況が第２の操作状況であると判定部１０５により判定された場合には、操作対象画像３の領域内から領域外へ移動した時の複数のタッチ位置から算出される速度に基づいて、表示部１０３に表示させている操作対象画像３に対する変更を行う。
【００４１】
表示制御部１０６は、表示部１０３に表示させている操作対象画像３の変更を、回転軸６を中心に２つのタッチ位置の差から算出される回転角度７（Δθ）だけ操作対象画像３を回転させた画像に変更することにより行う。なお、回転軸６は、連続する２つのタッチ位置２および球体中心５の３点を含む平面に直交し、かつ、球体中心５を通る直線である。
【００４２】
また、説明の便宜上、図１に示すような３次元座標系（ｘ、ｙ、ｚ）（ｚ軸は紙面に対して垂直で手前を正とし、表示部１０３をｘｙ平面（ｚ＝０）とする。）を用いる。この場合に、別の表示部１０３に表示させている操作対象画像３の変更方法としては、回転軸６として、連続する２つのタッチ位置２を含む平面であって、ｘｙ平面に垂直な平面と、操作対象画像３（球体）が交わる平面に対して、垂直かつ球体中心５を通る直線を採用してもよい。
【００４３】
なお、表示制御部１０６は、ユーザによるタッチ操作がないとき、またはタッチ位置に変化がないときは、表示部１０３に表示させている操作対象画像３に対する変更を行わない。
【００４４】
振動制御部１０７は、判定部１０５により判定された操作状況に基づいて振動部１０２を振動させる。振動制御部１０７は、操作状況が第１の操作状況であると判定部１０５により判定された場合には、変更の開始から変更の停止に至るまでのタッチ位置２の移動距離が増加するほど、振動部１０２を振動させる第１の駆動波形の振幅を減少させる。そして、振動制御部１０７は、変更の停止時に所定の時間で駆動波形の振幅が０となるように振動部１０２を制御する。
【００４５】
なお、本実施の形態では、タッチ操作が開始されたタッチ位置（タッチ開始地点（時点））において、操作対象画像３の回転を開始し、タッチ操作が終了したタッチ位置（タッチ終了地点（時点））で、操作対象画像３の回転を停止するものとする。また、振動制御部１０７は、操作状況が第２の操作状況であると判定部１０５により判定された場合には、タッチ位置２が操作対象画像３の領域内から領域外へ移動した以降において、第２の駆動波形により振動部１０２を振動させる。このように、振動制御部１０７は、第１の操作状況および第２の操作状況に応じて、タッチパネル１０１を異なる振幅および周波数の駆動波形で振動部１０２の振動制御を行うことにより、そのときの操作状況が第１の操作状況または第２の操作状況であるかをユーザに提示する。
【００４６】
振動部１０２の駆動波形としては、例えば、正弦波を搬送波とする変調波を用い、搬送波の周波数はユーザが感じられる５０Ｈｚ〜５００Ｈｚが望ましい。
【００４７】
本実施の形態１の触覚提示装置１００の動作を図２〜図７に基づいて説明する。ここでは図２に示すような球体の操作対象画像３（以下、仮想トラックボール３ａと呼ぶ）を回転操作する例を用いて実施の形態１の動作を説明する。
【００４８】
説明の便宜上、図２に示すような３次元座標系（ｘ、ｙ、ｚ）を用いる。ｚ軸は紙面に対して垂直であり手前を正とし、表示部１０３の表示面をｘｙ平面（ｚ＝０）とする。なお、表示部１０３の表示面と、タッチパネル１０１の表面とは同じ面である。但し、ｘｙ平面上の点については、（ｘ、ｙ）座標で表す。図２において、球体の三次元モデルは、球体の半径をｒ、球体中心５を（ｘｓｃ，ｙｓｃ，ｚｓｃ）と仮定した場合、（式１）で表せる。
【００４９】
【数１】
0006008331.tif 000002
【００５０】
図２に示すように、ユーザが（式１）で表される仮想トラックボール３ａが表示部１０３に表示されたタッチパネルの領域を、指１によりなぞり、仮想トラックボール３ａを回転させる操作（以下、「なぞり操作」という。）を行った場合を考える。
【００５１】
ここでは、なぞり操作によるタッチ位置２のｘｙ平面での移動を（式１）で表される球体の３次元モデルの回転角に変換することにより仮想トラックボール３ａを回転させる例で説明する。
【００５２】
具体的には、時刻ｔで取得したタッチ位置Ｐｔ（ｘｔ、ｙｔ）と、時刻（ｔ−Δｔ）で取得したタッチ位置Ｐｔ−１（ｘｔ−１、ｙｔ−１）との２つのタッチ位置２を含みｘｙ平面に垂直な平面と操作対象画像３とが交わる回転平面８に対して、垂直かつ球体中心５を通る直線を回転軸６とする。そして、タッチ位置２の差に基づく回転角度７Δθ＝θｔ−θｔ−１だけ回転軸６を中心にして仮想トラックボール３ａを回転する。なお、角度θｔは、時刻ｔで取得したタッチ位置Ｐｔ（ｘｔ、ｙｔ）と球体中心５とを通る直線と、回転軸６に垂直かつ球体中心を通る直線（基準線）とが為す角度である。また、角度θｔ−１は、時刻（ｔ−Δｔ）で取得したタッチ位置Ｐｔ−１（ｘｔ−１、ｙｔ−１）と球体中心５とを通る直線と、基準線とが為す角度である。
【００５３】
図２の例では、ユーザが仮想トラックボール３ａの直径上をなぞり、回転平面８の半径が球体の半径と等しい場合で説明しているが、仮想トラックボール３ａの領域内での任意のなぞり方向に対して同様に回転させることができる。
【００５４】
図３は本発明の実施の形態における操作感提示装置の動作を示すフローチャートであり、これに基づいて本実施の形態１の触覚提示装置の動作を詳細に説明する。
【００５５】
（ステップＳ３０１：操作対象画像の表示）
表示制御部１０６は、第１の記憶部１０４に記憶されている表示データを参照し、表示部１０３に操作対象画像として仮想トラックボール３ａを表示させる。仮想トラックボール３ａは、操作する対象となるアプリケーションにおけるＧＵＩ上での予め決められた場所に表示させてもよいし、操作する対象となるアプリケーションにおけるＧＵＩ上で、タッチパネル１０１に指１を所定の時間触れたままにしたときの位置、複数本の指１をタッチパネル１０１に触れたときの位置に表示させてもよい。また仮想トラックボール３ａの表示は、所定時間操作がないときに表示させないようにしてもよい。
【００５６】
（ステップＳ３０２：タッチ情報取得）
判定部１０５は、タッチパネル１０１によりユーザの指１によるタッチ位置２を検出し、ユーザによるタッチ操作の操作状況を判定する。タッチ位置２は、例えば２０ｍＳなど所定のサンプリング時間Δｔごとに取得され、ユーザの操作状況を判定するパラメータとして、タッチ位置２であるＰｔ（ｘｔ、ｙｔ）が時系列に記憶される。例えば、時刻ｔでの指１のなぞり速度ｖｔは、時刻ｔで取得したタッチ位置Ｐｔ（ｘｔ、ｙｔ）と、時刻（ｔ−Δｔ）で取得したタッチ位置Ｐｔ−１（ｘｔ−１、ｙｔ−１）とを用いて、（式２）により求めることができる。
【００５７】
【数２】
0006008331.tif 000003
【００５８】
ここで、ｖｘは時刻ｔでのｘ軸方向の速度成分である。ｖｙは時刻ｔでのｙ軸方向の速度成分である。｜ｖｔ｜はなぞり速度の大きさである。また、ユーザが指１でタッチパネル１０１をなぞり始めた時刻（ｔ＝０、なぞり開始位置Ｐ０（ｘ０、ｙ０））から時刻ｔ（タッチ位置Ｐｔ（ｘｔ、ｙｔ））までの間になぞった距離を表すなぞり距離ｄｔは、（式３）により求められる。指１がほとんど動かずに停止したとき、なぞり開始位置Ｐ０（ｘ０、ｙ０）をＰｔ（ｘｔ、ｙｔ）で置き換えて初期化する。ここで、「指１がほとんど動かずに停止したとき」とは、時刻ｔで取得したタッチ位置Ｐｔ（ｘｔ、ｙｔ）と、時刻（ｔ−Δｔ）で取得したタッチ位置Ｐｔ−１（ｘｔ−１、ｙｔ−１）とが同じであるとき、あるいは、Ｐｔ（ｘｔ、ｙｔ）とＰｔ−１（ｘｔ−１、ｙｔ−１）との距離が所定の距離より小さいときである。
【００５９】
【数３】
0006008331.tif 000004
【００６０】
このように、ステップＳ３０２では、タッチ情報として、時系列で取得された複数のタッチ位置Ｐｔ（ｘｔ、ｙｔ）と、複数のタッチ位置Ｐｔ（ｘｔ、ｙｔ）から算出されたなぞり速度ｖｔおよびなぞり距離ｄｔを取得する。
【００６１】
（ステップＳ３０３：操作対象画像の操作開始判定）
判定部１０５は、時刻ｔで取得したタッチ位置Ｐｔ（ｘｔ、ｙｔ）が、ｘｙ平面である表示部１０３の表示面に表示されている仮想トラックボール３ａの領域内にあるか否かを判定する。仮想トラックボール３ａのｘｙ平面上における領域は、以下の（式４）により表される。したがって、ｘｙ平面上での球体中心５である（ｘｓｃ，ｙｓｃ）と時刻ｔで取得したタッチ位置Ｐｔ（ｘｔ、ｙｔ）との距離が球体半径ｒ以下であるタッチ位置Ｐｔ（ｘｔ、ｙｔ）、すなわち以下の（式５）を満たすタッチ位置Ｐｔ（ｘｔ、ｙｔ）は仮想トラックボール３ａの領域内にあると判定部１０５により判定される。
【００６２】
【数４】
0006008331.tif 000005
【００６３】
【数５】
0006008331.tif 000006
【００６４】
タッチ位置Ｐｔ（ｘｔ、ｙｔ）が仮想トラックボール３ａの領域内にあると判定部１０５により判定されれば、当該タッチ位置はなぞり開始位置Ｐ０（ｘ０、ｙ０）として記憶される。タッチパネル１０１によりユーザによるタッチ操作のタッチ位置２が検出されなくなったとき、なぞり開始位置Ｐ０（ｘ０、ｙ０）は破棄される。タッチパネル１０１により再度ユーザのタッチ操作が検出され、かつタッチ位置２が仮想トラックボール３ａの領域内にあるとき、判定部１０５は、再度検出されたタッチ操作のタッチ位置をなぞり開始位置Ｐ０（ｘ０、ｙ０）を新たに記憶する。
【００６５】
つまり、ここでは、タッチ位置が仮想トラックボール３ａの領域内と判定部１０５により判定された場合、操作対象画像である仮想トラックボール３ａに対する操作が開始されたと判定される。タッチ位置Ｐｔ（ｘｔ、ｙｔ）が仮想トラックボール３ａの領域内にないと判定部１０５により判定されるとき、すなわち（式５）を満たさないとき、ステップＳ３０２に戻る。
【００６６】
（ステップＳ３０４：操作状況の判定）
判定部１０５は、時刻ｔでのタッチ位置Ｐｔ（ｘｔ、ｙｔ）および時刻（ｔ−Δｔ）でのタッチ位置Ｐｔ−１（ｘｔ−１、ｙｔ−１）が、それぞれ仮想トラックボール３ａの「領域内」、「領域外」、および「不検出」のいずれの状況であるかの組合せによりユーザの操作状況の判定を行う。
【００６７】
判定部１０５は、当該操作状況の判定として、ステップＳ３０２において取得されたタッチ位置の記憶情報を参照し、タッチ位置Ｐｔ（ｘｔ、ｙｔ）が、（式５）を満たすときにタッチ位置Ｐｔ（ｘｔ、ｙｔ）は仮想トラックボール３ａの「領域内」であると判定し、（式５）を満たさない場合「領域外」と判定する。また、「不検出」とは、時刻ｔでユーザのタッチ操作がタッチパネル１０１により検出されない状況を指す。つまり、判定部１０５は、予め定められた時間ユーザのタッチ操作を検出していない場合、「不検出」であると判定する。
【００６８】
図４は、判定部１０５により判定される操作状況と、振動制御部１０７および表示制御部１０６の動作の関係を表している。
【００６９】
判定部１０５は、図４に示す操作状況〔１〕〜操作状況〔９〕のいずれであるかを判定する。
【００７０】
操作状況〔１〕は、タッチパネル１０１を指１でなぞることによりタッチ位置２を移動させて仮想トラックボール３ａを回転させる際に、表示部１０３に表示された仮想トラックボール３ａの領域内のみでタッチ位置２を変化させる第１の操作状況であり、タッチ位置Ｐｔ−１（ｘｔ−１、ｙｔ−１）とタッチ位置Ｐｔ（ｘｔ、ｙｔ）とがともに「領域内」の場合である。この操作状況は、実際のトラックボールの場合、ボールに指をつけたまま回転される第１の操作状況に相当する。
【００７１】
操作状況〔２〕は、タッチ位置２を仮想トラックボール３ａの領域内から領域外へ移動させる第２の操作状況であり、タッチ位置Ｐｔ−１（ｘｔ−１、ｙｔ−１）が「領域内」、タッチ位置Ｐｔ（ｘｔ、ｙｔ）が「領域外」の場合である。この操作状況は、実際のトラックボールの場合、ボールを指で回転させている途中に指１をボールから離して、ボールを回転させ続ける第２の操作状況に相当する。
【００７２】
操作状況〔３〕は、タッチ位置Ｐｔ−１（ｘｔ−１、ｙｔ−１）が「領域内」、タッチ位置Ｐｔ（ｘｔ、ｙｔ）が「不検出」の場合であり、指１によりトラックボールを回転させている際に、指１がタッチパネル１０１から離れるという操作状況である。この操作状況は、仮想トラックボール３ａの時刻ｔ−Δｔでの操作状況を維持しようと意図的に指１を離した状況、あるいは意図せずタッチパネル１０１から指１が離れてしまった状況である。操作状況〔４〕は、タッチ位置Ｐｔ−１（ｘｔ−１、ｙｔ−１）が「領域外」、タッチ位置Ｐｔ（ｘｔ、ｙｔ）が「領域内」の場合であり、仮想トラックボール３ａ以外の領域をタッチしていた指１を仮想トラックボール３ａ内に移動させた場合である。この操作状況は、仮想トラックボール３ａの操作を開始した状況である。
【００７３】
操作状況〔５〕、操作状況〔６〕、操作状況〔８〕、操作状況〔９〕は、すべて仮想トラックボール３ａの領域内にタッチ位置２が存在せず、仮想トラックボール３ａを操作しない場合である。操作状況〔７〕は、タッチ位置Ｐｔ−１（ｘｔ−１、ｙｔ−１）が「不検出」、タッチ位置Ｐｔ（ｘｔ、ｙｔ）が「領域内」の場合であり、この操作状況は、時刻ｔ−Δｔで指１がタッチパネル１０１から離れていた状態から、時刻ｔで直接仮想トラックボールの領域をタッチした状況であり、時刻ｔでの仮想トラックボール３ａの状態に対して、新たに操作を開始するあるいは回転している仮想トラックボール３ａを止める操作である。
【００７４】
以上のようにして、判定部１０５は、操作状況〔１〕〜操作状況〔９〕のいずれであるかを判定する。
【００７５】
（ステップＳ３０５：振動による操作状況の通知）
振動制御部１０７は、ステップＳ３０４で判定された図４に示す操作状況により振動部１０２の振動制御を行う。振動制御は、振動部１０２として例えば圧電素子をタッチパネル１０１に貼り付けて用いる場合、圧電素子に電圧をかけることによって、圧電素子を伸縮および収縮を繰り替えさせ、その変位によってタッチパネル１０１を振動させる制御である。すなわち、振動制御部１０７は、圧電素子の駆動電圧を制御することによって振動部１０２の振動制御を行い、タッチパネル１０１を所望の周波数および振幅で振動させる。
【００７６】
操作状況〔１〕とステップＳ３０４で判定された場合の振動制御部１０７の動作を、図５を用いて説明する。図５（ａ）は、指１が、球体中心５（タッチパネル上の位置Ｃ）を通り、球体の直径に沿って直径の長さだけなぞることにより仮想トラックボール３ａを回転させる例である。ユーザは指１を位置Ａ、位置Ｂ、位置Ｃ、位置Ｄ、位置Ｅの順に通過してなぞった場合を示す。位置Ａはなぞり開始位置Ｐ０（ｘ０、ｙ０）、位置Ｅはなぞり停止位置ＰＴ（ｘＴ、ｙＴ）をそれぞれ表す。位置Ｂは位置Ａからｒ／２離れた位置、位置Ｄは位置Ａから３ｒ／２離れた位置である。このなぞり操作は、図５（ｂ）に示すように、指１を仮想トラックボール３ａの表面に触れたまま、指１を仮想トラックボール３ａから滑らさずに、仮想トラックボール３ａを１８０度回転させる操作である。実際のトラックボールの構造の一例としては、ボールを摩擦係数の小さな支持球で支えることにより、抵抗が少なく滑らかに回転するものが知られている。このことを利用して、仮想トラックボール３ａを回転させる操作感を触覚によりユーザに伝える場合、指１が表示部１０３の表面をなぞっている途中で、意図的に抵抗が増減して仮想トラックボール３ａが回転しているという操作状況をユーザに認識させるために、駆動波形（振幅および周波数）を変化させる。
【００７７】
仮想トラックボール３ａの回転の抵抗の仮想的な増減は、図５（ａ）および図５（ｂ）に示す仮想支持球９と仮想トラックボール３ａとの間の仮想摩擦力１０の増減、回転軸６回りの抵抗の増減などが考えられる。この抵抗の仮想的な増減により、ユーザが指１で仮想トラックボール３ａを回転させるために必要な仮想接線力１１が増減する。
【００７８】
本実施の形態１では、図５（ｃ）に示すように、指１がタッチパネル１０１をなぞる際に、仮想トラックボール３ａの回転開始から回転停止に至るなぞり距離ｄｔが増加するに従って、振動部１０２の駆動波形の振幅を減少させるように制御する。これにより、仮想トラックボール３ａの回転開始から回転停止に至るまでの抵抗の変化をユーザにフィードバックする。
【００７９】
このなぞり操作の例では、なぞり距離ｄｔが増加するにつれて振幅が減少し、なぞり距離が直径２ｒに到達した時点で振幅が０になるような変調波（減少曲線）を用いて抵抗の仮想的な変化を表す。この変調波は、具体的には、例えば（式６）のような線形関数を変調波Ｓｍ（ｔ）として用いる。但し、ｄｔは時刻ｔでのなぞり距離、ｒは仮想トラックボール３ａの半径である。また、なぞり距離ｄは（式３）により求める。あるいは、変調波は、例えば（式７）のようなべき乗の関数でもよい。（式７）では２次関数を例としたが、べき乗の定数は抵抗の大きさに反比例して与えることができる。
【００８０】
【数６】
0006008331.tif 000007
【００８１】
【数７】
0006008331.tif 000008
【００８２】
振動部１０２を駆動させる第１の駆動波形Ｓ（ｔ）としては、（式３）で算出されるなぞり距離ｄｔに基づく（式６）の変調波で正弦波の振幅を変調した（式８）の振幅変調波を用いることができる。
【００８３】
図５（ｄ）は第１の駆動波形の一例である。これは、ユーザのなぞり操作として、図５（ａ）に示すような、タッチパネル１０１上のなぞり開始位置を位置Ａ、なぞり停止位置を位置Ｅとし、位置Ａから位置Ｃまでは、加速度ａ（ａ＞０）で、位置Ｃから位置Ｅまでは加速度−ａで等加速度直線運動をしてなぞった場合である。なぞり距離ｄｔは以下の（式９）、（式１０）で表され、なぞり開始位置Ａから位置Ｃへの到達時間は（２ｒ／ａ）１／２、なぞり開始位置Ａから位置Ｅへの到達時間は２（２ｒ／ａ）１／２である。搬送波の周波数はユーザが触覚として感じられる５０Ｈｚ〜５００Ｈｚが望ましく、図５（ｄ）は１００Ｈｚとした場合の駆動波形例である。
【００８４】
【数８】
0006008331.tif 000009
【００８５】
【数９】
0006008331.tif 000010
【００８６】
【数１０】
0006008331.tif 000011
【００８７】
第１の駆動波形による振動部１０２の駆動は、図４に示すように｜ｖｔ｜が正のときのみ駆動する。｜ｖｔ｜＝０のときは指１が動いておらず、仮想トラックボール３ａを回転させている状況ではないため、駆動波形の振幅を０にする。実用的には、厳密に｜ｖｔ｜＝０でなくても｜ｖｔ｜の値が十分小さい場合に駆動波形の振幅を０にすることが望ましい。
【００８８】
振動制御部１０７は、第１の駆動波形で振動部１０２を駆動することにより、なぞり距離が増加するにつれて振動振幅を減少させる。このため、ユーザは、滑らかに抵抗が少なくなっていくという感覚を有する状態で、仮想トラックボール３ａを指１をつけたまま回転させているというフィードバックを得ることができる。
【００８９】
上記の第１の駆動波形は、仮想トラックボール３ａの直径分のなぞり距離で仮想トラックボール３ａを１８０度回転させるときに、なぞり開始位置Ａから位置Ｅへの到達時間２（２ｒ／ａ）１／２の間、振幅を滑らかに変調し、滑らかに抵抗が減少する操作状況をフィードバックするための駆動波形である。上記の第１の駆動波形とは別に、さらに、図６を用いて、ユーザが回転操作をしている途中で意図的に駆動波形の振幅を増減させて、仮想トラックボール３ａが回転している操作感をよりユーザに対して与える方法としてもよい。以下、当該方法について説明する。図６（ａ）、図６（ｂ）はそれぞれ図５（ａ）、図５（ｂ）と同一であり説明は省略する。
【００９０】
図６（ｃ）は、図５（ｃ）の変調波をより短い周期で提示するものである。すなわち、図５（ｃ）では、なぞり距離が２ｒで駆動波形の振幅が０になるように制御するが、図６（ｃ）では、なぞり距離がｒ／２ごとに駆動波形の振幅を初期化するものであり、かつ、なぞり距離が増加するにしたがって初期の振幅を減少させるものである。なお、ここで言う「駆動波形の振幅を初期化する」とは、なぞり距離がｒ／２ごとに駆動波形の振幅を０になるように制御しつつ、なぞり距離がｒ／２に達した時点の直後から新たな駆動波形で制御することである。つまり、なぞり距離がｒ／２に達するごとに繰り返し新たな駆動波形で振動制御が行われることになる。つまり、この場合、振動制御部１０７は、仮想トラックボール３ａに対するタッチ操作におけるタッチ開始地点からタッチ終了地点までの間において、所定の振幅および周波数の駆動波形による振動部１０２の駆動と駆動停止とを繰り返す振動制御を行う。
【００９１】
図６（ｄ）は、図６（ｃ）の変調波により１００Ｈｚの正弦波を変調した駆動波形である。これによりユーザは、仮想トラックボール３ａを回転させているときに、短い周期で抵抗の増減を感じ、仮想トラックボール３ａを回転させている際に途中でひっかかるような操作感が得られる。
【００９２】
図６（ｄ）の場合、ユーザは、４回の抵抗の変化を感じることになる。ユーザが仮想トラックボール３ａの直径の長さをなぞる間に、１〜５回程度の抵抗感の変化があるように変調波の周期を設定することが望ましい。例えば、直径５０ｍｍ程度の仮想トラックボールであれば、特に２〜３回の抵抗感の変化があるように、変調波の周期を設定することが望ましい。
【００９３】
ここでは、変調波の初期振幅はすべて同じとしたが、なぞり距離とともに減少させることにより、より回転していることが認識される操作感が得られる。
【００９４】
ここで、搬送波の周波数は、ユーザが触覚として感じられる５０Ｈｚ〜５００Ｈｚが望ましい。特に、球体を回転させる操作感については、搬送波の周波数は、９０Ｈｚ〜４００Ｈｚが望ましい。さらに、図６（ｄ）のように駆動波形を繰り返すことによるひっかかりの滑らかさも考慮した場合、滑らかな回転の操作感を得るには、搬送波の周波数は、９０Ｈｚ〜１８０Ｈｚが望ましい。
【００９５】
図７（ａ）および図７（ｂ）はそれぞれ、位置Ｂがなぞり開始位置、位置Ｄがなぞり停止位置であるように指１を移動させて仮想トラックボール３ａを回転させる例である。図７の場合も、ユーザによるタッチ操作の操作状況が操作状況〔１〕とステップＳ３０４において判定される。
【００９６】
図７（ｃ）に示すように、図５（ｃ）の場合と同様であり、なぞり距離ｒで回転を停止させる。このため、位置Ｂから位置Ｄまで指１を移動させるなぞり操作をユーザが行った場合、指１が停止する直前でも、駆動波形の振幅が０ではない。このため、なぞり停止時点から、所定の時間ｔｃ経過時に駆動波形の振幅を０にする。ｔｃとしてはできるだけ短いほうがよいが、５ｍＳ程度であればよい。このときの駆動波形は、図７（ｄ）に示すように、現在の振幅値から滑らかに振幅０に落とすことにより、高周波のノイズを発生させないようにすることが望ましい。
【００９７】
ユーザによるタッチ操作の操作状況が操作状況〔４〕とステップＳ３０４において判定された場合は、仮想トラックボール３ａの領域外から領域内へ｜ｖｔ｜＞０で移動する場合であるため、振動制御部１０７は、操作状況〔１〕と同様に第１の駆動波形で振動部１０２を駆動する。
【００９８】
操作状況〔２〕と判定された場合の振動制御部１０７の動作を、図８を用いて説明する。図８（ａ）および図８（ｂ）は、なぞり開始位置を位置Ｂとして、位置Ｃから位置Ｅまでなぞったあと、仮想トラックボール３ａの領域外である位置Ｆでなぞりを停止する例である。操作状況〔２〕は、仮想トラックボール３ａに指１を触れたまま回転させるという操作と異なり、仮想トラックボール３ａを回転させている途中で指１をタッチパネル１０１から離して、仮想トラックボール３ａを回転させ続ける操作であるため、操作状況〔１〕とは異なる第２の駆動波形で振動部１０２を駆動する。
【００９９】
実際のトラックボールの操作で言えば、ボールが指１から離れる瞬間の指への振動をフィードバックする。具体的には、ユーザによるタッチ操作の操作状況が図４に示す操作状態〔２〕とステップＳ３０４において判定された直後、図８（ｃ）に示すように、仮想トラックボール３ａの領域内をなぞることにより減少していた駆動波形の振幅をなぞり開始時の振幅に戻し、図８（ｄ）に示すように、搬送波の周波数を第１の駆動波形とは異なる周波数にして、振動部１０２を駆動する。異なる周波数は、例えば第１の駆動波形の周波数より高く、触覚的にも音響的にも異なる３００〜４００Ｈｚが望ましい。なお、ユーザによるタッチ操作の操作状況が操作状況〔２〕と判定されたあとに、関連して操作状況〔７〕とステップＳ３０４において判定されることがある。これは、操作状況〔２〕で指１を離したあとも仮想トラックボール３ａを回転させ続ける操作であるため、その後に判定される操作状況〔７〕では、時刻ｔ−Δｔで指１がタッチパネル１０１から離れていた状態から、時刻ｔで直接仮想トラックボールの領域をタッチした状況である。つまり、この場合は、時刻ｔでの仮想トラックボール３ａの状態に対して、新たに回転操作を開始するあるいは回転している仮想トラックボール３ａを止める操作である。
【０１００】
なお、ユーザによるタッチ操作の操作状況が図４に示す操作状況〔７〕とステップＳ３０４において判定され、仮想トラックボール３ａが回転している場合には、仮想トラックボール３ａの回転を止める際の操作感をフィードバックするため、第３の駆動波形で振動部１０２を駆動する。第３の駆動波形としては、第２の駆動波形と同じ周波数の正弦波を用いて、第２の駆動波形と識別ができる程度に振幅を小さくするなどしてバーストで２０ｍＳ程度駆動すればよい。
【０１０１】
ユーザによるタッチ操作の操作状況が図４に示す操作状況〔３〕、操作状況〔５〕、操作状況〔６〕、操作状況〔８〕または操作状況〔９〕とステップＳ３０４において判定された場合は、時刻ｔで仮想トラックボール３ａの領域内にタッチ位置２が存在しない。このため、ユーザが仮想トラックボール３ａを操作していないと判断し、振動制御部１０７は、振動部１０２を駆動させない。
【０１０２】
以上のように、振動制御部１０７は、第１の駆動波形または第２の駆動波形をそれぞれ操作状況〔１〕または操作状況〔２〕のときに用いて振動部１０２を駆動することにより、ユーザは、指１をつけたまま仮想トラックボール３ａを回転させている状況なのか、回転の途中で指１を離して回転させ続ける操作状況が受け付けられたのかを、触覚による操作感により認識することができる。また、必要に応じて回転している仮想トラックボール３ａを止めるときの操作感をフィードバックすることができる。
【０１０３】
（ステップＳ３０６：表示データ制御）
表示制御部１０６は、ステップＳ３０４で判定された図４に示す操作状況に基づいて、表示部１０３に表示する表示データの制御を行う。
【０１０４】
表示制御部１０６は、ユーザによるタッチ操作の操作状況が操作状況〔１〕または操作状況〔４〕であるとステップＳ３０４において判定された場合、図２に示すように、時刻ｔで取得したタッチ位置Ｐｔ（ｘｔ、ｙｔ）と、時刻（ｔ−Δｔ）で取得したタッチ位置Ｐｔ−１（ｘｔ−１、ｙｔ−１）との２つのタッチ位置２を含みｘｙ平面に垂直な平面と、操作対象画像３とが交わる回転平面８に対して、垂直かつ球体中心５を通る直線を回転軸６として、タッチ位置２の差に基づく回転角度７Δθ＝θｔ−θｔ−１だけ仮想トラックボール３ａを回転させる。
【０１０５】
表示制御部１０６は、ユーザによるタッチ操作の操作状況が操作状況〔２〕であるとステップＳ３０４において判定された場合、時刻ｔでの仮想トラックボール３ａを接線方向の速度を｜ｖｔ｜として回転させ続ける。なお、表示制御部１０６は、この回転を、その後に、ユーザによりタッチ操作の状況が操作状況〔７〕であるとステップＳ３０４において判定された場合に停止するようにしてもよいし、一定時間が経過することにより回転速度を減衰させて停止するようにしてもよい。
【０１０６】
また、表示制御部１０６は、ユーザによるタッチ操作の操作状況が操作状況〔３〕であるとステップＳ３０４において判定された場合、同様に時刻ｔ−Δｔでの仮想トラックボール３ａを接線方向の速度を｜ｖｔ−１｜で回転させ続ける。
【０１０７】
その他、表示制御部１０６は、ユーザによるタッチ操作の操作状況が操作状況〔５〕、操作状況〔６〕、操作状況〔８〕または操作状況〔９〕であるとステップＳ３０４において判定された場合は、時刻ｔで仮想トラックボール３ａの領域内にタッチ位置２が存在しないため、ユーザが仮想トラックボール３ａを操作していないと判断する。このため、表示制御部１０６は、仮想トラックボール３ａを回転させる変更を行わない。
【０１０８】
上記の構成と動作により、ユーザの指１が、タッチパネル１０１をなぞり、表示部１０３に表示された仮想トラックボール３ａのタッチ位置２を移動させて回転させる際に、判定部１０５は、仮想トラックボール３ａの領域内のみでタッチ位置２を変化させる第１の操作状況と、仮想トラックボール３ａを回転させている途中で指１をタッチパネル１０１から離して、仮想トラックボール３ａを回転させ続ける第２の操作状況を判定する。そして、振動制御部１０７は、第１の操作状況あるいは第２の操作状況に応じて、振動部１０２を異なる駆動波形により振動させる。
【０１０９】
結果、ユーザは、仮想トラックボール３ａに対して、指１をつけたまま回転させている状況なのか、回転の途中で指１を離して回転させ続ける操作状況が受け付けられたのかを、触覚による操作感により認識することができる。
【０１１０】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の触覚提示装置などを実現するソフトウェアは、次のようなプログラムである。
【０１１１】
すなわち、このプログラムは、コンピュータに、表示部に表示されている３次元モデルの操作対象画像に対してユーザによるタッチ操作が行われた場合に、当該タッチ操作の操作状況をユーザに提示する、以下に記載の触覚提示装置の駆動方法を実行させる。なお、前記触覚提示装置は、前記表示部の表示面に対応する位置においてユーザによるタッチ操作を受け付けて、受け付けた前記対応する位置をタッチ位置として検出するタッチパネルと、前記タッチパネルを振動させる振動部と、前記表示部と、前記操作対象画像を示す表示データを記憶している第１の記憶部と、を備える。そして、当該触覚提示装置の駆動方法は、（１）異なる複数のタイミングで前記タッチパネルにより検出された前記タッチ位置を取得し、（２）取得した複数の前記タッチ位置に基づいて前記操作状況を判定する判定ステップと、（１）前記操作対象画像を前記表示部に表示させ、（２）前記判定ステップにおいて判定された前記操作状況に基づいて前記表示部に表示させている前記操作対象画像を回転させる変更を行う、または、前記変更を行わない表示制御ステップと、前記判定ステップにおいて判定された前記操作状況に基づいて前記振動部を振動させる振動制御ステップと、を含み、前記判定ステップでは、（１）前記操作対象画像に対するタッチ操作において前記タッチパネルにより検出されたタッチ位置が、前記操作対象画像が表示されている前記表示部の領域内のみで移動している場合に、当該タッチ操作の操作状況が第１の操作状況であると判定し、（２）前記操作対象画像に対するタッチ操作において前記タッチパネルにより検出されたタッチ位置が、前記操作対象画像が表示されている前記表示部の領域内から領域外へ移動している場合に、当該タッチ操作の操作状況が第２の操作状況であると判定し、前記振動制御ステップでは、前記操作状況が前記第１の操作状況であると前記判定ステップにおいて判定された場合には、前記変更の開始から前記変更の停止に至るまでの前記タッチ位置の移動距離が増加するほど、前記振動部を振動させる第１の駆動波形の振幅を減少させ、前記変更の停止時に所定の時間で前記駆動波形の振幅が０となるように前記振動部を制御し、前記操作状況が前記第２の操作状況であると前記判定ステップにおいて判定された場合には、前記タッチ位置が前記操作対象画像の領域内から領域外へ移動した以降において、第２の駆動波形により前記振動部を振動させ、前記表示制御ステップでは、前記操作状況が前記第１の操作状況であると前記判定ステップにおいて判定された場合には、前記複数のタッチ位置の変化量に基づいて前記表示部に表示させている前記操作対象画像に対する前記変更を行い、前記操作状況が前記第２の操作状況であると前記判定ステップにおいて判定された場合には、前記操作対象画像の領域内から領域外へ移動した時の前記複数のタッチ位置から算出される速度に基づいて、前記表示部に表示させている前記操作対象画像に対する前記変更を行う。
【０１１２】
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０１１３】
（１）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムで実現され得る。ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１１４】
（２）上記の各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。ＲＯＭには、コンピュータプログラムが記憶されている。マイクロプロセッサが、ＲＯＭからＲＡＭにコンピュータプログラムをロードし、ロードしたコンピュータプログラムにしたがって演算等の動作することにより、システムＬＳＩは、その機能を達成する。
【０１１５】
（３）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されてもよい。ＩＣカードまたはモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。ＩＣカードまたはモジュールには、上記の超多機能ＬＳＩが含まれてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ＩＣカードまたはモジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有してもよい。
【０１１６】
（４）本発明は、上記に示す方法で実現されてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムで実現してもよいし、コンピュータプログラムからなるデジタル信号で実現してもよい。
【０１１７】
また、本発明は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなどに記録したもので実現してもよい。また、これらの記録媒体に記録されているデジタル信号で実現してもよい。
【０１１８】
また、本発明は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送してもよい。
【０１１９】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、コンピュータプログラムを記憶しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作してもよい。
【０１２０】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１２１】
（５）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０１２２】
以上、本発明の一つまたは複数の態様に係る触覚提示装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０１２３】
本発明にかかる触覚提示装置は、タッチパネルに触れて球体の仮想オブジェクトを回転させるときの操作感を提示できるので、タッチパネルを供えた機器の操作に応用できる。例えば、タッチパネルで操作するタブレット端末、ゲーム機、ＴＶ用リモコン、デジタルカメラ、ムービー、パーソナルコンピュータ、携帯情報端末、携帯電話、電子黒板やデジタルサイネージ用ディスプレイなどの操作インタフェースに応用できる。
【符号の説明】
【０１２４】
１      指
２      タッチ位置
３      操作対象画像
３ａ    仮想トラックボール
４      テクスチャ情報
５      球体中心
６      回転軸
１０１  タッチパネル
１０２  振動部
１０３  表示部
１０４  第１の記憶部
１０５  判定部
１０６  表示制御部
１０７  振動制御部
【図１】
0006008331.tif 000012
【図２】
0006008331.tif 000013
【図３】
0006008331.tif 000014
【図４】
0006008331.tif 000015
【図５】
0006008331.tif 000016
【図６】
0006008331.tif 000017
【図７】
0006008331.tif 000018
【図８】
0006008331.tif 000019