(57)【要約】【課題】３次元物体や３次元グラフィックスにおける仮想物体を，単一の２次元ポインティングデバイスによる直接操作の使用感で３自由度で回転させながら，回転以外の通常のポインティング操作を行うことを可能とする。【解決手段】  入力装置としての２次元ポインティングデバイスと，３次元物体を表示するディスプレイを備えた装置において，ディスプレイ上のマウスカーソルと仮想物体との相対的位置関係を検出し，マウスカーソルの移動距離を用いて３自由度の回転軸と回転角からなる回転パラメータを計算し，この回転パラメータの値を用いて，３次元グラフィックスにより仮想物体を回転させ，ディスプレイに表示させる。またポインティングデバイスのボタン押下後の経過時間に基いて通常のポインティング操作のモードに設定する。【選択図】図１０
2011215692.tif 000002
【特許請求の範囲】
【請求項１】
入力装置としての２次元ポインティングデバイスと，３次元物体を表示するディスプレイを備えた装置において，ディスプレイ上のマウスカーソルと仮想物体との相対的位置関係を検出し，マウスカーソルの移動距離を用いて３自由度の回転軸と回転角からなる回転パラメータを計算し，この回転パラメータの値を用いて，３次元グラフィックスにより仮想物体を回転させ，ディスプレイに表示させることを特徴とする３次元３自由度回転パラメータ処理装置。
【請求項２】
入力装置としての２次元ポインティングデバイスと，３次元物体を表示するディスプレイ及び３次元物体を回転させる多自由度アクチュエータを備えた装置において，ディスプレイ上のマウスカーソルと３次元物体との相対的位置関係を検出し，マウスカーソルの移動距離を用いて３自由度の回転軸と回転角からなる回転パラメータを計算し，この回転パラメータの値を用いて，多自由度アクチュエータを制御して３次元物体を回転させ，ディスプレイに表示させることを特徴とする３次元３自由度回転パラメータ処理装置。
【請求項３】
ポインティングデバイスのボタン押下後の経過時間に基いて通常のポインティング操作のモードに設定される請求項１又は２に記載の３次元３自由度回転パラメータ処理装置。
【請求項４】
ディスプレイ上の３次元仮想物体又は３次元物体が，複数の部分に分割されており，ポインティングデバイスで指定する部分に，３次元３自由度の回転以外の操作が可能なことを特徴とする請求項１〜３に記載の３次元３自由度回転パラメータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，３次元グラフィックスにおける仮想物体を，単一の２次元ポインティングデバイスによる直接操作の使用感で３自由度で回転させることを可能とする手法に関する。
【背景技術】
【０００２】
産業上の利用分野としては，医療における３次元画像診断，各種３次元形状モデリング及びデザイン，高臨場感遠隔協同作業におけるボリュームコミュニケーション，多自由度アクチュエータの手動制御，データ解析における情報可視化等が挙げられる。
【０００３】
従来，ポインティングデバイスを３次元操作に利用するために，特許文献１から特許文献６に挙げるように，様々な技術が提案されてきた。これらの先行技術は，いずれも２次元操作のための通常のマウスに，追加の１次元の拡張をハードウェアによって実現したものであるか，あるいは３次元操作のための専用の装置である。
【０００４】
一方従来型の２次元ポインティングデバイスを用いて３次元の情報を入力を実現するためのソフトウェアによる方式としては，特許文献７や特許文献８が挙げられ，また各種アプリケーションで様々な方式が採用されている。回転軸ごとに入力するためのツールウインドウの採用や，ユーザが意図的に入力モードを切り換えることによって，マウスの動きを複数の機能に対応させるなどの方式が提案されている。
【特許文献１】特開２００８−２８２４００
【特許文献２】特開２００７−２９３８５３
【特許文献３】特開平１１−１３４１１１
【特許文献４】特開平０９−２８８５４１
【特許文献５】特開平０８−１７９８８３
【特許文献６】特開平０５−２８２０９８
【特許文献７】特開平８−２４９４９０
【特許文献８】特開平５−２０４５８９
【発明の開示】
【発明が解決しようとする課題】
【０００５】
先行技術のうちハードウェアによるものでは，従来のマウスの物理的操作以外の特殊な操作を行うことが要求される。一般に使いこなせるようになるまでに，練習や慣れが必要である。また２次元ポインティングデバイスとして現状で普及しているマウス以外のデバイス，例えばペンタブレット，トラックポイント，トラックボール，タッチパッド，タッチパネル，タッチスクリーン等との，操作形態における互換性が無い。
【０００６】
先行技術のうちソフトウェアによるものでは，ユーザは３次元操作のためのツールウィンドウを使用して別画面の物体を操作したり，回転のモードを切り換えるという操作をする必要があり，画面上に表示されている３次元仮想物体を直接操作するという使用感が得られない。また多くのアプリケーションで採用されている方式は，３自由度のうちの２自由度が使用され，用途に応じて，マウスのx軸方向の移動をy軸回りの正回転に，y軸方向の移動をx軸回りの負回転に対応させているか，またはマウスのx軸方向移動を水平面上の回転や方位角に，y軸方向移動を仰角や伏角に対応させている。そのため直接的に３自由度の自由回転をさせることができない。
【課題を解決するための手段】
【０００７】
本発明の第１の発明は，入力装置としての２次元ポインティングデバイスと，３次元仮想物体を表示するディスプレイを備えた装置において，ディスプレイ上のマウスカーソルと仮想物体との相対的位置関係を検出し，マウスカーソルの移動距離を用いて３自由度の回転軸と回転角からなる回転パラメータを計算し，この回転パラメータの値を用いて，３次元グラフィックスにより仮想物体を回転させ，ディスプレイに表示させることを特徴とする３次元３自由度回転パラメータ処理装置である。
【０００８】
本発明の第２の発明は，入力装置としての２次元ポインティングデバイス，３次元物体を表示するディスプレイ，及び多自由度アクチュエータを備えた装置において，ディスプレイ上のマウスカーソルと３次元物体との相対的位置関係を検出し，マウスカーソルの移動距離を用いて３自由度の回転軸と回転角からなる回転パラメータを計算し，この回転パラメータの値を用いて，多自由度アクチュエータを制御して３次元に物体を回転させ，ディスプレイに表示させることを特徴とする３次元３自由度回転パラメータ処理装置である。
【０００９】
本発明の第３の発明は，ポインティングデバイスのボタン押下後の時間経過に基いて回転操作のモードと通常のポインティング操作が選択されることを特徴とする，第１又は第２の発明の３次元３自由度回転パラメータ処理装置である。
【００１０】
本発明の第４の発明は，ディスプレイ上の３次元仮想物体又は３次元物体が，複数の部分に分割されており，ポインティングデバイスで指定する部分に，３次元３自由度の回転以外の操作が可能なことを特徴とする第１〜３の発明の３次元３自由度回転パラメータ処理装置である。
【発明の効果】
【００１１】
特殊な装置を使用しなくても，従来型の２次元ポインティングデバイスによって画面上に表示された３次元の仮想物体を，直接操作の使用感で，３自由度で回転させることができる。
本発明の３次元３自由度回転パラメータ処理装置は，医療における３次元画像診断，各種３次元形状モデリング及びデザイン，高臨場感遠隔共同作業におけるボリュームコミュニケーション，多自由度アクチュエータの制御，データ解析における情報可視化，コンピュータゲームの分野で利用することができる。
【００１２】
本発明における，ポインティングデバイスとは，マウス，ペンタブレット，トラックポイント，トラックボール，タッチパッド，タッチパネル，タッチスクリーン等を含むものである。また，特に論理的にUSB/HIDマウス，PS2マウス，シリアルマウスなど，既存のマウスとして認識される入力装置であれば，物理的なデバイスや操作形態の差異は問わない。
本発明における，多自由度アクチュエータは，球面ステッピングモータや多自由度超音波アクチュエータなど，既存のアクチュエータが挙げられる。
【実施例】
【００１３】
本発明の第１の発明を下記に説明する。
図１は本発明の実施例を示す図である。システム１には，あらかじめ仮想物体モデル２が構成されているものとする。ポインティングデバイス３からの入力のうちマウスカーソルが仮想物体の上に位置している状態で，ポインティングデバイスに付属したボタンの押下されたとき，仮想物体上ボタン押下検出モジュール４で，マウスカーソルと仮想物体との相対的位置関係が検出される。
相対的位置関係は後述するように，ディスプレイに対応する２次元の座標系と，仮想物体に対応する３次元の座標系の両方を用いて計算される。両座標系の原点と座標軸は独立に指定できるが，相対的位置関係を計算する段階では，適当な座標変換を適用して原点と二つの座標軸を一致させる。
仮想物体上ボタン押下検出モジュール４からの入力を受けて，仮想球面半径計算モジュール５において後で説明する仮想球面の半径を計算するとともに，デバイス移動計測モジュール６においてポインティングデバイスの移動計測を開始する。デバイス移動計測モジュール６のデータに基いて回転軸，及び回転角をそれぞれ回転軸計算モジュール７と回転角モジュール８で計算する。これらの回転に関するパラメータを回転パラメータ出力モジュール９から出力する。回転パラメータは回転パラメータ入力モジュール１０から入力される。得られた回転パラメータに基いて，仮想物体回転モジュール１１において仮想物体の姿勢が計算され，仮想物体表示モジュール１２において画像が実時間的にレンダリングされディスプレイ表示モジュール１３に送られ，この画像が，マウスカーソルと重畳されてディスプレイ１４に表示される。
【００１４】
以下図２から図７により，簡単な例を用いて，本発明の第１の発明の具体的な処理手順を説明する。
図２に示すように，ディスプレイあるいはディスプレイ内のウィンドウ（以下スクリーンと呼ぶ）の中央に３次元仮想物体として正２０面体が表示されていて，その仮想物体上の点Pにマウスカーソルが位置している状態で，ポインティングデバイスのボタンが押下され，これが仮想物体上ボタン押下検出モジュール４によって検出されたものとする。
【００１５】
ここでは簡単のため，図３に示すように，スクリーンの２次元座標系は，スクリーンの中心を原点Ｏとし，右をx軸，上をy軸とする。仮想的３次元空間の座標系はスクリーンの前後に広がっており，原点およびx, y軸は２次元座標系と一致しており，手前をz軸とする。また回転の中心もこの原点Ｏと同一の点となっているものとする。
【００１６】
仮想球面半径計算モジュール５では以下の計算を行う。点Pを内側に含み，最も手前に位置しているポリゴンを検出する。図３の例では三角形ABCが検出される。これに対し，２次元座標系におけるPの，仮想的３次元座標系に対する透視投影変換の逆像P’を計算する。Pの位置ベクトルを図５の (1)，P’の位置ベクトルを (2) とする。三角形ABCの法線ベクトルを (3) とし，三角形内の任意の点の位置ベクトルを (4) とし，透視投影変換の視点位置ペクトルを (5) とすると，(2) の値は (6) で計算される。これを用いて，仮想球面半径は (7) で与えられる。
【００１７】
回転軸計算モジュール７と回転角計算モジュール８では以下の計算を行う。図４において，ポインティングデバイスによって点Pから点Qまでドラッグされたものとする。なおこの点Pは，図２においてボタンが押下されたときの点の場合だけでなく，ドラッグ操作が行われたときの直前のマウスカーソルの位置も表すものとする。Qの位置ベクトルを q(図６の式(8)) で，PQが表すベクトルをp(式(9)) で表すと，回転角は θ(式(10)) で与えられる。
【００１８】
次に図６の 式(11) で表される回転軸 ｒ を求める。点Pが原点Oと一致する場合は，回転軸が直ちに 式(12) で与えられる。これは，従来の２次元ポインティングデバイスによる２自由度の回転と等価である。
【００１９】
点Pが原点Oと異なる場合は，ベクトルPQをOP方向の成分 ｖ(式(13)) とそれに直交する成分 ｗ(式(14)) に分解する。点Pが仮想球面半径 ρ(式(7)) を半径とする円内にあるときは，回転軸は 式(15) で与えられる。点Pが仮想球面半径 ρ(式(7)) を半径とする円周上か円外にあるときは，回転軸は 式(16) で与えられる。
【００２０】
前記で得られた回転パラメータ（回転軸と回転角）が，回転パラメータ出力モジュール９と回転パラメータ入力モジュール１０を経て，仮想物体回転モジュール１１に送られる。仮想物体回転モジュール１１では以下の計算を行う。各種変量を図７の (17) のように表すと，回転行列は (18) で与えられることが知られている。図６の式(10), (12), (15), (16) を式(18) に代入し，さらに計算誤差を考慮して式変形すると (19) が得られる。
仮想物体の各点に対して，回転行列 式(19) による変換を適用することにより，３次元３自由度の仮想物体の回転が実現される。
【００２１】
最後に仮想物体表示モジュール１２において透視投影変換が行われた後にレンダリングされ，ディスプレイモジュール１３に送られ，マウスカーソルと重畳されてディスプレイ１４に表示される。
【００２２】
正２０面体を例として，前記で説明した仮想球面半径計算モジュール５で計算する仮想球面半径ρ(式(7)) の計算法は，仮想物体がポリゴンメッシュでモデリングされている場合は，任意の仮想物体に対してそのまま活用できる。ベジェ曲線等を用いてモデリングされている場合は，最近傍点を用いて計算できる。また回転させる際の微妙な操作感が重要でない場合や，仮想物体の形状が近似的に球または球面とみなせる場合は仮想球面半径を定数として扱うことができ，仮想球面半径計算モジュールを省略できる。
【００２３】
本発明による回転運動は，ポインティングデバイスの移動に対して，物体が追従して回転し，その回転角がポインティングデバイスの移動に近似的に比例しているため，直接操作するという使用感を得ることができる。
【００２４】
本発明の第２の発明を下記に説明する（図８）。
本発明は，仮想物体を回転の対象とするだけでなく，多自由度アクチュエータを用いて手動制御できる物体の３次元３自由度の回転を実現することができる。
第１の発明と同じ方法で，マウスカーソルの移動によるデバイス移動計測モジュール６のデータに基いて回転軸，及び回転角をそれぞれ回転軸計算モジュール７と回転角モジュール８で計算する。これらの回転に関するデータを回転パラメータ出力モジュール９から外部の装置１５に対して出力する。この出力により外部装置１５における多自由度アクチュエータ１６が物体を３自由度で回転させる。この回転はモーションセンサ１７によって計測され，そのデータが回転パラメータ入力モジュールから入力される。得られた回転データに基いて，あらかじめモデリングされた物体の姿勢が計算され，画像が実時間的にレンダリングされてディスプレイ表示モジュール１４に送られ，マウスカーソルと重畳してディスプレイ１４に表示される。
この発明は，高臨場感遠隔共同作業におけるボリュームコミュニケーション等に活用することができる。
【００２５】
また，モーションカメラはビデオカメラ等に置き換えられ，物体の動画像にマウスカーソルを重畳することにより，３次元３自由度の物体の回転を実現できる（図９）
【００２６】
本発明の第３の発明を下記に説明する。
本発明において，ポインティングデバイスのボタン押下後の経過時間に基づいて，回転操作のモードに加えて，通常操作のモード，すなわち通常のポインティング操作が選択できるように設定してもかまわない。図１０はこの実施例を示す図である。システム１はポインティングデバイス２からの入力のうちポインティングデバイスに付属したボタンの押下をボタン押下検出モジュール４で検出し，ボタン押下後の時間を時間計測モジュール５で計測する。一定時間の後にポインティングデバイスの移動データと合わせて操作モード選択モジュール１９で操作モードを切り替え，マウスカーソル選択モジュール２０においてカーソル形状を変更する。
図１１はこの実施例におけるモード選択の状態遷移とカーソル形状の例を示す図である。初期状態はFree の状態２１で，カーソル形状は矢印２７となっている。仮想物体にマウスカーソルが重なると Overlap の状態２２に遷移し，カーソル形状は右手人差し指２８に変化する。この状態でボタン押下が検出されると，Downの状態２３に遷移する。そのままボタンが押下され続けると一定時間の後にDragの状態２４に遷移し，カーソル形状は左手のひら２９に変化する。この状態でポインティングデバイスを移動すると，それに合わせて仮想物体が回転する。この状態でボタン押下を中断するとInertiaの状態２６に遷移し，カーソル形状は右手人差し指２８に戻り，回転が持続する。一方Downの状態２３から一定時間の後にDragの状態２４に遷移する前にポインティングデバイスの移動が検出されると，Flipの状態２６に遷移し，カーソル形状は右手人差し指２８にもどる。以上の状態遷移において，Dragの状態２４を仮想物体の回転操作モードに，Flipの状態２６を通常のポインティング操作モードに対応させることにより，ボタン押下後の経過時間による回転操作モードと通常操作モードを切り換えることができる。
【００２７】
本発明の第４の発明を下記に説明する。
本発明において，前項の実施例を応用することにより，ディスプレイ上の３次元仮想物体を，複数の部分に分割し，ポインティングデバイスで仮想物体全体を３次元３自由度で回転させながら，指定する部分に３次元３自由度の回転以外の操作を行うことができる。ここで，３次元３自由度の回転以外の操作とは，仮想物体の変形，仮想物体表面への描画や着色，仮想物体の部分に対する１自由度の回転等が挙げられる。例えばルービックキューブなどの多面体回転パズルを３次元仮想物体とした場合，パズル全体の３自由度回転は図１１におけるDragの状態２４に対応させ，パズルの各パーツの１自由度回転は図９におけるFlipの状態２６に対応させることにより，２次元ポインティングデバイスと一つのボタンだけで多面体回転パズルの直接操作的な操作が可能となる。
【００２８】
本発明において，入力装置とディスプレイが一体となっていてもかまわない。図１２は本発明の別の実施例を示す図である。表示機能とペン又は指による２次元座標入力機能を有するタッチパネル又はタッチスクリーンなどの入力装置１４’を用いるか，あるいはそのような入出力装置をシステム内に一体化したタブレットＰＣや携帯型ゲーム機などのシステム１’に組み込むことにより，既存のシステムにハードウェアによる拡張や変更を加えることなく，３次元３自由度の仮想物体の回転が実現される。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施例を示す図
【図２】正２０面体を例とした説明図（仮想３次元物体の表示とボタン押下点の位置関係）
【図３】正２０面体を例とした説明図（座標系とポリゴン検出の例）
【図４】正２０面体を例とした説明図（回転軸と回転角の計算法）
【図５】仮想球面半径の計算式
【図６】回転軸と回転角の計算式
【図７】回転行列の計算式
【図８】本発明の実施例を示す図（アクチュエータとモーションセンサによる物体の回転）
【図９】本発明の実施例を示す図（アクチュエータとビデオカメラによる物体の回転）
【図１０】本発明の実施例を示す図（時間計測による操作モード選択）
【図１１】操作モード選択における状態遷移とマウスカーソル形状の例を示す図
【図１２】本発明の実施例を示す図（入出力装置一体型）
【符号の説明】
【００３０】
２    仮想物体モデル
４    仮想物体上ボタン押下検出モジュール
５    仮想球面半径計算モジュール
６    デバイス移動計測モジュール
７    回転軸計算モジュール
８    回転角計算モジュール
９    回転パラメータ出力モジュール
１０    回転パラメータ入力モジュール
１１    仮想物体回転モジュール
１２    仮想物体表示モジュール
【図１】
2011215692.tif 000003
【図２】
2011215692.tif 000004
【図３】
2011215692.tif 000005
【図４】
2011215692.tif 000006
【図５】
2011215692.tif 000007
【図６】
2011215692.tif 000008
【図７】
2011215692.tif 000009
【図８】
2011215692.tif 000010
【図９】
2011215692.tif 000011
【図１０】
2011215692.tif 000012
【図１１】
2011215692.tif 000013
【図１２】
2011215692.tif 000014