3次元3自由度回転パラメータ処理装置
【課題】
3次元物体や3次元グラフィックスにおける仮想物体を,単一の2次元ポインティングデバイスによる直接操作の使用感で3自由度で回転させながら,回転以外の通常のポインティング操作を行うことを可能とする。
【解決手段】
入力装置としての2次元ポインティングデバイスと,3次元物体を表示するディスプレイを備えた装置において,ディスプレイ上のマウスカーソルと仮想物体との相対的位置関係を検出し,マウスカーソルの移動距離を用いて3自由度の回転軸と回転角からなる回転パラメータを計算し,この回転パラメータの値を用いて,3次元グラフィックスにより仮想物体を回転させ,ディスプレイに表示させる。またポインティングデバイスのボタン押下後の経過時間に基いて通常のポインティング操作のモードに設定する。
3次元物体や3次元グラフィックスにおける仮想物体を,単一の2次元ポインティングデバイスによる直接操作の使用感で3自由度で回転させながら,回転以外の通常のポインティング操作を行うことを可能とする。
【解決手段】
入力装置としての2次元ポインティングデバイスと,3次元物体を表示するディスプレイを備えた装置において,ディスプレイ上のマウスカーソルと仮想物体との相対的位置関係を検出し,マウスカーソルの移動距離を用いて3自由度の回転軸と回転角からなる回転パラメータを計算し,この回転パラメータの値を用いて,3次元グラフィックスにより仮想物体を回転させ,ディスプレイに表示させる。またポインティングデバイスのボタン押下後の経過時間に基いて通常のポインティング操作のモードに設定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は,3次元グラフィックスにおける仮想物体を,単一の2次元ポインティングデバイスによる直接操作の使用感で3自由度で回転させることを可能とする手法に関する。
【背景技術】
【0002】
産業上の利用分野としては,医療における3次元画像診断,各種3次元形状モデリング及びデザイン,高臨場感遠隔協同作業におけるボリュームコミュニケーション,多自由度アクチュエータの手動制御,データ解析における情報可視化等が挙げられる。
【0003】
従来,ポインティングデバイスを3次元操作に利用するために,特許文献1から特許文献6に挙げるように,様々な技術が提案されてきた。これらの先行技術は,いずれも2次元操作のための通常のマウスに,追加の1次元の拡張をハードウェアによって実現したものであるか,あるいは3次元操作のための専用の装置である。
【0004】
一方従来型の2次元ポインティングデバイスを用いて3次元の情報を入力を実現するためのソフトウェアによる方式としては,特許文献7や特許文献8が挙げられ,また各種アプリケーションで様々な方式が採用されている。回転軸ごとに入力するためのツールウインドウの採用や,ユーザが意図的に入力モードを切り換えることによって,マウスの動きを複数の機能に対応させるなどの方式が提案されている。
【特許文献1】特開2008−282400
【特許文献2】特開2007−293853
【特許文献3】特開平11−134111
【特許文献4】特開平09−288541
【特許文献5】特開平08−179883
【特許文献6】特開平05−282098
【特許文献7】特開平8−249490
【特許文献8】特開平5−204589
【発明の開示】
【発明が解決しようとする課題】
【0005】
先行技術のうちハードウェアによるものでは,従来のマウスの物理的操作以外の特殊な操作を行うことが要求される。一般に使いこなせるようになるまでに,練習や慣れが必要である。また2次元ポインティングデバイスとして現状で普及しているマウス以外のデバイス,例えばペンタブレット,トラックポイント,トラックボール,タッチパッド,タッチパネル,タッチスクリーン等との,操作形態における互換性が無い。
【0006】
先行技術のうちソフトウェアによるものでは,ユーザは3次元操作のためのツールウィンドウを使用して別画面の物体を操作したり,回転のモードを切り換えるという操作をする必要があり,画面上に表示されている3次元仮想物体を直接操作するという使用感が得られない。また多くのアプリケーションで採用されている方式は,3自由度のうちの2自由度が使用され,用途に応じて,マウスのx軸方向の移動をy軸回りの正回転に,y軸方向の移動をx軸回りの負回転に対応させているか,またはマウスのx軸方向移動を水平面上の回転や方位角に,y軸方向移動を仰角や伏角に対応させている。そのため直接的に3自由度の自由回転をさせることができない。
【課題を解決するための手段】
【0007】
本発明の第1の発明は,入力装置としての2次元ポインティングデバイスと,3次元仮想物体を表示するディスプレイを備えた装置において,ディスプレイ上のマウスカーソルと仮想物体との相対的位置関係を検出し,マウスカーソルの移動距離を用いて3自由度の回転軸と回転角からなる回転パラメータを計算し,この回転パラメータの値を用いて,3次元グラフィックスにより仮想物体を回転させ,ディスプレイに表示させることを特徴とする3次元3自由度回転パラメータ処理装置である。
【0008】
本発明の第2の発明は,入力装置としての2次元ポインティングデバイス,3次元物体を表示するディスプレイ,及び多自由度アクチュエータを備えた装置において,ディスプレイ上のマウスカーソルと3次元物体との相対的位置関係を検出し,マウスカーソルの移動距離を用いて3自由度の回転軸と回転角からなる回転パラメータを計算し,この回転パラメータの値を用いて,多自由度アクチュエータを制御して3次元に物体を回転させ,ディスプレイに表示させることを特徴とする3次元3自由度回転パラメータ処理装置である。
【0009】
本発明の第3の発明は,ポインティングデバイスのボタン押下後の時間経過に基いて回転操作のモードと通常のポインティング操作が選択されることを特徴とする,第1又は第2の発明の3次元3自由度回転パラメータ処理装置である。
【0010】
本発明の第4の発明は,ディスプレイ上の3次元仮想物体又は3次元物体が,複数の部分に分割されており,ポインティングデバイスで指定する部分に,3次元3自由度の回転以外の操作が可能なことを特徴とする第1〜3の発明の3次元3自由度回転パラメータ処理装置である。
【発明の効果】
【0011】
特殊な装置を使用しなくても,従来型の2次元ポインティングデバイスによって画面上に表示された3次元の仮想物体を,直接操作の使用感で,3自由度で回転させることができる。
本発明の3次元3自由度回転パラメータ処理装置は,医療における3次元画像診断,各種3次元形状モデリング及びデザイン,高臨場感遠隔共同作業におけるボリュームコミュニケーション,多自由度アクチュエータの制御,データ解析における情報可視化,コンピュータゲームの分野で利用することができる。
【0012】
本発明における,ポインティングデバイスとは,マウス,ペンタブレット,トラックポイント,トラックボール,タッチパッド,タッチパネル,タッチスクリーン等を含むものである。また,特に論理的にUSB/HIDマウス,PS2マウス,シリアルマウスなど,既存のマウスとして認識される入力装置であれば,物理的なデバイスや操作形態の差異は問わない。
本発明における,多自由度アクチュエータは,球面ステッピングモータや多自由度超音波アクチュエータなど,既存のアクチュエータが挙げられる。
【実施例】
【0013】
本発明の第1の発明を下記に説明する。
図1は本発明の実施例を示す図である。システム1には,あらかじめ仮想物体モデル2が構成されているものとする。ポインティングデバイス3からの入力のうちマウスカーソルが仮想物体の上に位置している状態で,ポインティングデバイスに付属したボタンの押下されたとき,仮想物体上ボタン押下検出モジュール4で,マウスカーソルと仮想物体との相対的位置関係が検出される。
相対的位置関係は後述するように,ディスプレイに対応する2次元の座標系と,仮想物体に対応する3次元の座標系の両方を用いて計算される。両座標系の原点と座標軸は独立に指定できるが,相対的位置関係を計算する段階では,適当な座標変換を適用して原点と二つの座標軸を一致させる。
仮想物体上ボタン押下検出モジュール4からの入力を受けて,仮想球面半径計算モジュール5において後で説明する仮想球面の半径を計算するとともに,デバイス移動計測モジュール6においてポインティングデバイスの移動計測を開始する。デバイス移動計測モジュール6のデータに基いて回転軸,及び回転角をそれぞれ回転軸計算モジュール7と回転角モジュール8で計算する。これらの回転に関するパラメータを回転パラメータ出力モジュール9から出力する。回転パラメータは回転パラメータ入力モジュール10から入力される。得られた回転パラメータに基いて,仮想物体回転モジュール11において仮想物体の姿勢が計算され,仮想物体表示モジュール12において画像が実時間的にレンダリングされディスプレイ表示モジュール13に送られ,この画像が,マウスカーソルと重畳されてディスプレイ14に表示される。
【0014】
以下図2から図7により,簡単な例を用いて,本発明の第1の発明の具体的な処理手順を説明する。
図2に示すように,ディスプレイあるいはディスプレイ内のウィンドウ(以下スクリーンと呼ぶ)の中央に3次元仮想物体として正20面体が表示されていて,その仮想物体上の点Pにマウスカーソルが位置している状態で,ポインティングデバイスのボタンが押下され,これが仮想物体上ボタン押下検出モジュール4によって検出されたものとする。
【0015】
ここでは簡単のため,図3に示すように,スクリーンの2次元座標系は,スクリーンの中心を原点Oとし,右をx軸,上をy軸とする。仮想的3次元空間の座標系はスクリーンの前後に広がっており,原点およびx, y軸は2次元座標系と一致しており,手前をz軸とする。また回転の中心もこの原点Oと同一の点となっているものとする。
【0016】
仮想球面半径計算モジュール5では以下の計算を行う。点Pを内側に含み,最も手前に位置しているポリゴンを検出する。図3の例では三角形ABCが検出される。これに対し,2次元座標系におけるPの,仮想的3次元座標系に対する透視投影変換の逆像P’を計算する。Pの位置ベクトルを図5の (1),P’の位置ベクトルを (2) とする。三角形ABCの法線ベクトルを (3) とし,三角形内の任意の点の位置ベクトルを (4) とし,透視投影変換の視点位置ペクトルを (5) とすると,(2) の値は (6) で計算される。これを用いて,仮想球面半径は (7) で与えられる。
【0017】
回転軸計算モジュール7と回転角計算モジュール8では以下の計算を行う。図4において,ポインティングデバイスによって点Pから点Qまでドラッグされたものとする。なおこの点Pは,図2においてボタンが押下されたときの点の場合だけでなく,ドラッグ操作が行われたときの直前のマウスカーソルの位置も表すものとする。Qの位置ベクトルを q(図6の式(8)) で,PQが表すベクトルをp(式(9)) で表すと,回転角は θ(式(10)) で与えられる。
【0018】
次に図6の 式(11) で表される回転軸 r を求める。点Pが原点Oと一致する場合は,回転軸が直ちに 式(12) で与えられる。これは,従来の2次元ポインティングデバイスによる2自由度の回転と等価である。
【0019】
点Pが原点Oと異なる場合は,ベクトルPQをOP方向の成分 v(式(13)) とそれに直交する成分 w(式(14)) に分解する。点Pが仮想球面半径 ρ(式(7)) を半径とする円内にあるときは,回転軸は 式(15) で与えられる。点Pが仮想球面半径 ρ(式(7)) を半径とする円周上か円外にあるときは,回転軸は 式(16) で与えられる。
【0020】
前記で得られた回転パラメータ(回転軸と回転角)が,回転パラメータ出力モジュール9と回転パラメータ入力モジュール10を経て,仮想物体回転モジュール11に送られる。仮想物体回転モジュール11では以下の計算を行う。各種変量を図7の (17) のように表すと,回転行列は (18) で与えられることが知られている。図6の式(10), (12), (15), (16) を式(18) に代入し,さらに計算誤差を考慮して式変形すると (19) が得られる。
仮想物体の各点に対して,回転行列 式(19) による変換を適用することにより,3次元3自由度の仮想物体の回転が実現される。
【0021】
最後に仮想物体表示モジュール12において透視投影変換が行われた後にレンダリングされ,ディスプレイモジュール13に送られ,マウスカーソルと重畳されてディスプレイ14に表示される。
【0022】
正20面体を例として,前記で説明した仮想球面半径計算モジュール5で計算する仮想球面半径ρ(式(7)) の計算法は,仮想物体がポリゴンメッシュでモデリングされている場合は,任意の仮想物体に対してそのまま活用できる。ベジェ曲線等を用いてモデリングされている場合は,最近傍点を用いて計算できる。また回転させる際の微妙な操作感が重要でない場合や,仮想物体の形状が近似的に球または球面とみなせる場合は仮想球面半径を定数として扱うことができ,仮想球面半径計算モジュールを省略できる。
【0023】
本発明による回転運動は,ポインティングデバイスの移動に対して,物体が追従して回転し,その回転角がポインティングデバイスの移動に近似的に比例しているため,直接操作するという使用感を得ることができる。
【0024】
本発明の第2の発明を下記に説明する(図8)。
本発明は,仮想物体を回転の対象とするだけでなく,多自由度アクチュエータを用いて手動制御できる物体の3次元3自由度の回転を実現することができる。
第1の発明と同じ方法で,マウスカーソルの移動によるデバイス移動計測モジュール6のデータに基いて回転軸,及び回転角をそれぞれ回転軸計算モジュール7と回転角モジュール8で計算する。これらの回転に関するデータを回転パラメータ出力モジュール9から外部の装置15に対して出力する。この出力により外部装置15における多自由度アクチュエータ16が物体を3自由度で回転させる。この回転はモーションセンサ17によって計測され,そのデータが回転パラメータ入力モジュールから入力される。得られた回転データに基いて,あらかじめモデリングされた物体の姿勢が計算され,画像が実時間的にレンダリングされてディスプレイ表示モジュール14に送られ,マウスカーソルと重畳してディスプレイ14に表示される。
この発明は,高臨場感遠隔共同作業におけるボリュームコミュニケーション等に活用することができる。
【0025】
また,モーションカメラはビデオカメラ等に置き換えられ,物体の動画像にマウスカーソルを重畳することにより,3次元3自由度の物体の回転を実現できる(図9)
【0026】
本発明の第3の発明を下記に説明する。
本発明において,ポインティングデバイスのボタン押下後の経過時間に基づいて,回転操作のモードに加えて,通常操作のモード,すなわち通常のポインティング操作が選択できるように設定してもかまわない。図10はこの実施例を示す図である。システム1はポインティングデバイス2からの入力のうちポインティングデバイスに付属したボタンの押下をボタン押下検出モジュール4で検出し,ボタン押下後の時間を時間計測モジュール5で計測する。一定時間の後にポインティングデバイスの移動データと合わせて操作モード選択モジュール19で操作モードを切り替え,マウスカーソル選択モジュール20においてカーソル形状を変更する。
図11はこの実施例におけるモード選択の状態遷移とカーソル形状の例を示す図である。初期状態はFree の状態21で,カーソル形状は矢印27となっている。仮想物体にマウスカーソルが重なると Overlap の状態22に遷移し,カーソル形状は右手人差し指28に変化する。この状態でボタン押下が検出されると,Downの状態23に遷移する。そのままボタンが押下され続けると一定時間の後にDragの状態24に遷移し,カーソル形状は左手のひら29に変化する。この状態でポインティングデバイスを移動すると,それに合わせて仮想物体が回転する。この状態でボタン押下を中断するとInertiaの状態26に遷移し,カーソル形状は右手人差し指28に戻り,回転が持続する。一方Downの状態23から一定時間の後にDragの状態24に遷移する前にポインティングデバイスの移動が検出されると,Flipの状態26に遷移し,カーソル形状は右手人差し指28にもどる。以上の状態遷移において,Dragの状態24を仮想物体の回転操作モードに,Flipの状態26を通常のポインティング操作モードに対応させることにより,ボタン押下後の経過時間による回転操作モードと通常操作モードを切り換えることができる。
【0027】
本発明の第4の発明を下記に説明する。
本発明において,前項の実施例を応用することにより,ディスプレイ上の3次元仮想物体を,複数の部分に分割し,ポインティングデバイスで仮想物体全体を3次元3自由度で回転させながら,指定する部分に3次元3自由度の回転以外の操作を行うことができる。ここで,3次元3自由度の回転以外の操作とは,仮想物体の変形,仮想物体表面への描画や着色,仮想物体の部分に対する1自由度の回転等が挙げられる。例えばルービックキューブなどの多面体回転パズルを3次元仮想物体とした場合,パズル全体の3自由度回転は図11におけるDragの状態24に対応させ,パズルの各パーツの1自由度回転は図9におけるFlipの状態26に対応させることにより,2次元ポインティングデバイスと一つのボタンだけで多面体回転パズルの直接操作的な操作が可能となる。
【0028】
本発明において,入力装置とディスプレイが一体となっていてもかまわない。図12は本発明の別の実施例を示す図である。表示機能とペン又は指による2次元座標入力機能を有するタッチパネル又はタッチスクリーンなどの入力装置14’を用いるか,あるいはそのような入出力装置をシステム内に一体化したタブレットPCや携帯型ゲーム機などのシステム1’に組み込むことにより,既存のシステムにハードウェアによる拡張や変更を加えることなく,3次元3自由度の仮想物体の回転が実現される。
【図面の簡単な説明】
【0029】
【図1】本発明の実施例を示す図
【図2】正20面体を例とした説明図(仮想3次元物体の表示とボタン押下点の位置関係)
【図3】正20面体を例とした説明図(座標系とポリゴン検出の例)
【図4】正20面体を例とした説明図(回転軸と回転角の計算法)
【図5】仮想球面半径の計算式
【図6】回転軸と回転角の計算式
【図7】回転行列の計算式
【図8】本発明の実施例を示す図(アクチュエータとモーションセンサによる物体の回転)
【図9】本発明の実施例を示す図(アクチュエータとビデオカメラによる物体の回転)
【図10】本発明の実施例を示す図(時間計測による操作モード選択)
【図11】操作モード選択における状態遷移とマウスカーソル形状の例を示す図
【図12】本発明の実施例を示す図(入出力装置一体型)
【符号の説明】
【0030】
2 仮想物体モデル
4 仮想物体上ボタン押下検出モジュール
5 仮想球面半径計算モジュール
6 デバイス移動計測モジュール
7 回転軸計算モジュール
8 回転角計算モジュール
9 回転パラメータ出力モジュール
10 回転パラメータ入力モジュール
11 仮想物体回転モジュール
12 仮想物体表示モジュール
【技術分野】
【0001】
本発明は,3次元グラフィックスにおける仮想物体を,単一の2次元ポインティングデバイスによる直接操作の使用感で3自由度で回転させることを可能とする手法に関する。
【背景技術】
【0002】
産業上の利用分野としては,医療における3次元画像診断,各種3次元形状モデリング及びデザイン,高臨場感遠隔協同作業におけるボリュームコミュニケーション,多自由度アクチュエータの手動制御,データ解析における情報可視化等が挙げられる。
【0003】
従来,ポインティングデバイスを3次元操作に利用するために,特許文献1から特許文献6に挙げるように,様々な技術が提案されてきた。これらの先行技術は,いずれも2次元操作のための通常のマウスに,追加の1次元の拡張をハードウェアによって実現したものであるか,あるいは3次元操作のための専用の装置である。
【0004】
一方従来型の2次元ポインティングデバイスを用いて3次元の情報を入力を実現するためのソフトウェアによる方式としては,特許文献7や特許文献8が挙げられ,また各種アプリケーションで様々な方式が採用されている。回転軸ごとに入力するためのツールウインドウの採用や,ユーザが意図的に入力モードを切り換えることによって,マウスの動きを複数の機能に対応させるなどの方式が提案されている。
【特許文献1】特開2008−282400
【特許文献2】特開2007−293853
【特許文献3】特開平11−134111
【特許文献4】特開平09−288541
【特許文献5】特開平08−179883
【特許文献6】特開平05−282098
【特許文献7】特開平8−249490
【特許文献8】特開平5−204589
【発明の開示】
【発明が解決しようとする課題】
【0005】
先行技術のうちハードウェアによるものでは,従来のマウスの物理的操作以外の特殊な操作を行うことが要求される。一般に使いこなせるようになるまでに,練習や慣れが必要である。また2次元ポインティングデバイスとして現状で普及しているマウス以外のデバイス,例えばペンタブレット,トラックポイント,トラックボール,タッチパッド,タッチパネル,タッチスクリーン等との,操作形態における互換性が無い。
【0006】
先行技術のうちソフトウェアによるものでは,ユーザは3次元操作のためのツールウィンドウを使用して別画面の物体を操作したり,回転のモードを切り換えるという操作をする必要があり,画面上に表示されている3次元仮想物体を直接操作するという使用感が得られない。また多くのアプリケーションで採用されている方式は,3自由度のうちの2自由度が使用され,用途に応じて,マウスのx軸方向の移動をy軸回りの正回転に,y軸方向の移動をx軸回りの負回転に対応させているか,またはマウスのx軸方向移動を水平面上の回転や方位角に,y軸方向移動を仰角や伏角に対応させている。そのため直接的に3自由度の自由回転をさせることができない。
【課題を解決するための手段】
【0007】
本発明の第1の発明は,入力装置としての2次元ポインティングデバイスと,3次元仮想物体を表示するディスプレイを備えた装置において,ディスプレイ上のマウスカーソルと仮想物体との相対的位置関係を検出し,マウスカーソルの移動距離を用いて3自由度の回転軸と回転角からなる回転パラメータを計算し,この回転パラメータの値を用いて,3次元グラフィックスにより仮想物体を回転させ,ディスプレイに表示させることを特徴とする3次元3自由度回転パラメータ処理装置である。
【0008】
本発明の第2の発明は,入力装置としての2次元ポインティングデバイス,3次元物体を表示するディスプレイ,及び多自由度アクチュエータを備えた装置において,ディスプレイ上のマウスカーソルと3次元物体との相対的位置関係を検出し,マウスカーソルの移動距離を用いて3自由度の回転軸と回転角からなる回転パラメータを計算し,この回転パラメータの値を用いて,多自由度アクチュエータを制御して3次元に物体を回転させ,ディスプレイに表示させることを特徴とする3次元3自由度回転パラメータ処理装置である。
【0009】
本発明の第3の発明は,ポインティングデバイスのボタン押下後の時間経過に基いて回転操作のモードと通常のポインティング操作が選択されることを特徴とする,第1又は第2の発明の3次元3自由度回転パラメータ処理装置である。
【0010】
本発明の第4の発明は,ディスプレイ上の3次元仮想物体又は3次元物体が,複数の部分に分割されており,ポインティングデバイスで指定する部分に,3次元3自由度の回転以外の操作が可能なことを特徴とする第1〜3の発明の3次元3自由度回転パラメータ処理装置である。
【発明の効果】
【0011】
特殊な装置を使用しなくても,従来型の2次元ポインティングデバイスによって画面上に表示された3次元の仮想物体を,直接操作の使用感で,3自由度で回転させることができる。
本発明の3次元3自由度回転パラメータ処理装置は,医療における3次元画像診断,各種3次元形状モデリング及びデザイン,高臨場感遠隔共同作業におけるボリュームコミュニケーション,多自由度アクチュエータの制御,データ解析における情報可視化,コンピュータゲームの分野で利用することができる。
【0012】
本発明における,ポインティングデバイスとは,マウス,ペンタブレット,トラックポイント,トラックボール,タッチパッド,タッチパネル,タッチスクリーン等を含むものである。また,特に論理的にUSB/HIDマウス,PS2マウス,シリアルマウスなど,既存のマウスとして認識される入力装置であれば,物理的なデバイスや操作形態の差異は問わない。
本発明における,多自由度アクチュエータは,球面ステッピングモータや多自由度超音波アクチュエータなど,既存のアクチュエータが挙げられる。
【実施例】
【0013】
本発明の第1の発明を下記に説明する。
図1は本発明の実施例を示す図である。システム1には,あらかじめ仮想物体モデル2が構成されているものとする。ポインティングデバイス3からの入力のうちマウスカーソルが仮想物体の上に位置している状態で,ポインティングデバイスに付属したボタンの押下されたとき,仮想物体上ボタン押下検出モジュール4で,マウスカーソルと仮想物体との相対的位置関係が検出される。
相対的位置関係は後述するように,ディスプレイに対応する2次元の座標系と,仮想物体に対応する3次元の座標系の両方を用いて計算される。両座標系の原点と座標軸は独立に指定できるが,相対的位置関係を計算する段階では,適当な座標変換を適用して原点と二つの座標軸を一致させる。
仮想物体上ボタン押下検出モジュール4からの入力を受けて,仮想球面半径計算モジュール5において後で説明する仮想球面の半径を計算するとともに,デバイス移動計測モジュール6においてポインティングデバイスの移動計測を開始する。デバイス移動計測モジュール6のデータに基いて回転軸,及び回転角をそれぞれ回転軸計算モジュール7と回転角モジュール8で計算する。これらの回転に関するパラメータを回転パラメータ出力モジュール9から出力する。回転パラメータは回転パラメータ入力モジュール10から入力される。得られた回転パラメータに基いて,仮想物体回転モジュール11において仮想物体の姿勢が計算され,仮想物体表示モジュール12において画像が実時間的にレンダリングされディスプレイ表示モジュール13に送られ,この画像が,マウスカーソルと重畳されてディスプレイ14に表示される。
【0014】
以下図2から図7により,簡単な例を用いて,本発明の第1の発明の具体的な処理手順を説明する。
図2に示すように,ディスプレイあるいはディスプレイ内のウィンドウ(以下スクリーンと呼ぶ)の中央に3次元仮想物体として正20面体が表示されていて,その仮想物体上の点Pにマウスカーソルが位置している状態で,ポインティングデバイスのボタンが押下され,これが仮想物体上ボタン押下検出モジュール4によって検出されたものとする。
【0015】
ここでは簡単のため,図3に示すように,スクリーンの2次元座標系は,スクリーンの中心を原点Oとし,右をx軸,上をy軸とする。仮想的3次元空間の座標系はスクリーンの前後に広がっており,原点およびx, y軸は2次元座標系と一致しており,手前をz軸とする。また回転の中心もこの原点Oと同一の点となっているものとする。
【0016】
仮想球面半径計算モジュール5では以下の計算を行う。点Pを内側に含み,最も手前に位置しているポリゴンを検出する。図3の例では三角形ABCが検出される。これに対し,2次元座標系におけるPの,仮想的3次元座標系に対する透視投影変換の逆像P’を計算する。Pの位置ベクトルを図5の (1),P’の位置ベクトルを (2) とする。三角形ABCの法線ベクトルを (3) とし,三角形内の任意の点の位置ベクトルを (4) とし,透視投影変換の視点位置ペクトルを (5) とすると,(2) の値は (6) で計算される。これを用いて,仮想球面半径は (7) で与えられる。
【0017】
回転軸計算モジュール7と回転角計算モジュール8では以下の計算を行う。図4において,ポインティングデバイスによって点Pから点Qまでドラッグされたものとする。なおこの点Pは,図2においてボタンが押下されたときの点の場合だけでなく,ドラッグ操作が行われたときの直前のマウスカーソルの位置も表すものとする。Qの位置ベクトルを q(図6の式(8)) で,PQが表すベクトルをp(式(9)) で表すと,回転角は θ(式(10)) で与えられる。
【0018】
次に図6の 式(11) で表される回転軸 r を求める。点Pが原点Oと一致する場合は,回転軸が直ちに 式(12) で与えられる。これは,従来の2次元ポインティングデバイスによる2自由度の回転と等価である。
【0019】
点Pが原点Oと異なる場合は,ベクトルPQをOP方向の成分 v(式(13)) とそれに直交する成分 w(式(14)) に分解する。点Pが仮想球面半径 ρ(式(7)) を半径とする円内にあるときは,回転軸は 式(15) で与えられる。点Pが仮想球面半径 ρ(式(7)) を半径とする円周上か円外にあるときは,回転軸は 式(16) で与えられる。
【0020】
前記で得られた回転パラメータ(回転軸と回転角)が,回転パラメータ出力モジュール9と回転パラメータ入力モジュール10を経て,仮想物体回転モジュール11に送られる。仮想物体回転モジュール11では以下の計算を行う。各種変量を図7の (17) のように表すと,回転行列は (18) で与えられることが知られている。図6の式(10), (12), (15), (16) を式(18) に代入し,さらに計算誤差を考慮して式変形すると (19) が得られる。
仮想物体の各点に対して,回転行列 式(19) による変換を適用することにより,3次元3自由度の仮想物体の回転が実現される。
【0021】
最後に仮想物体表示モジュール12において透視投影変換が行われた後にレンダリングされ,ディスプレイモジュール13に送られ,マウスカーソルと重畳されてディスプレイ14に表示される。
【0022】
正20面体を例として,前記で説明した仮想球面半径計算モジュール5で計算する仮想球面半径ρ(式(7)) の計算法は,仮想物体がポリゴンメッシュでモデリングされている場合は,任意の仮想物体に対してそのまま活用できる。ベジェ曲線等を用いてモデリングされている場合は,最近傍点を用いて計算できる。また回転させる際の微妙な操作感が重要でない場合や,仮想物体の形状が近似的に球または球面とみなせる場合は仮想球面半径を定数として扱うことができ,仮想球面半径計算モジュールを省略できる。
【0023】
本発明による回転運動は,ポインティングデバイスの移動に対して,物体が追従して回転し,その回転角がポインティングデバイスの移動に近似的に比例しているため,直接操作するという使用感を得ることができる。
【0024】
本発明の第2の発明を下記に説明する(図8)。
本発明は,仮想物体を回転の対象とするだけでなく,多自由度アクチュエータを用いて手動制御できる物体の3次元3自由度の回転を実現することができる。
第1の発明と同じ方法で,マウスカーソルの移動によるデバイス移動計測モジュール6のデータに基いて回転軸,及び回転角をそれぞれ回転軸計算モジュール7と回転角モジュール8で計算する。これらの回転に関するデータを回転パラメータ出力モジュール9から外部の装置15に対して出力する。この出力により外部装置15における多自由度アクチュエータ16が物体を3自由度で回転させる。この回転はモーションセンサ17によって計測され,そのデータが回転パラメータ入力モジュールから入力される。得られた回転データに基いて,あらかじめモデリングされた物体の姿勢が計算され,画像が実時間的にレンダリングされてディスプレイ表示モジュール14に送られ,マウスカーソルと重畳してディスプレイ14に表示される。
この発明は,高臨場感遠隔共同作業におけるボリュームコミュニケーション等に活用することができる。
【0025】
また,モーションカメラはビデオカメラ等に置き換えられ,物体の動画像にマウスカーソルを重畳することにより,3次元3自由度の物体の回転を実現できる(図9)
【0026】
本発明の第3の発明を下記に説明する。
本発明において,ポインティングデバイスのボタン押下後の経過時間に基づいて,回転操作のモードに加えて,通常操作のモード,すなわち通常のポインティング操作が選択できるように設定してもかまわない。図10はこの実施例を示す図である。システム1はポインティングデバイス2からの入力のうちポインティングデバイスに付属したボタンの押下をボタン押下検出モジュール4で検出し,ボタン押下後の時間を時間計測モジュール5で計測する。一定時間の後にポインティングデバイスの移動データと合わせて操作モード選択モジュール19で操作モードを切り替え,マウスカーソル選択モジュール20においてカーソル形状を変更する。
図11はこの実施例におけるモード選択の状態遷移とカーソル形状の例を示す図である。初期状態はFree の状態21で,カーソル形状は矢印27となっている。仮想物体にマウスカーソルが重なると Overlap の状態22に遷移し,カーソル形状は右手人差し指28に変化する。この状態でボタン押下が検出されると,Downの状態23に遷移する。そのままボタンが押下され続けると一定時間の後にDragの状態24に遷移し,カーソル形状は左手のひら29に変化する。この状態でポインティングデバイスを移動すると,それに合わせて仮想物体が回転する。この状態でボタン押下を中断するとInertiaの状態26に遷移し,カーソル形状は右手人差し指28に戻り,回転が持続する。一方Downの状態23から一定時間の後にDragの状態24に遷移する前にポインティングデバイスの移動が検出されると,Flipの状態26に遷移し,カーソル形状は右手人差し指28にもどる。以上の状態遷移において,Dragの状態24を仮想物体の回転操作モードに,Flipの状態26を通常のポインティング操作モードに対応させることにより,ボタン押下後の経過時間による回転操作モードと通常操作モードを切り換えることができる。
【0027】
本発明の第4の発明を下記に説明する。
本発明において,前項の実施例を応用することにより,ディスプレイ上の3次元仮想物体を,複数の部分に分割し,ポインティングデバイスで仮想物体全体を3次元3自由度で回転させながら,指定する部分に3次元3自由度の回転以外の操作を行うことができる。ここで,3次元3自由度の回転以外の操作とは,仮想物体の変形,仮想物体表面への描画や着色,仮想物体の部分に対する1自由度の回転等が挙げられる。例えばルービックキューブなどの多面体回転パズルを3次元仮想物体とした場合,パズル全体の3自由度回転は図11におけるDragの状態24に対応させ,パズルの各パーツの1自由度回転は図9におけるFlipの状態26に対応させることにより,2次元ポインティングデバイスと一つのボタンだけで多面体回転パズルの直接操作的な操作が可能となる。
【0028】
本発明において,入力装置とディスプレイが一体となっていてもかまわない。図12は本発明の別の実施例を示す図である。表示機能とペン又は指による2次元座標入力機能を有するタッチパネル又はタッチスクリーンなどの入力装置14’を用いるか,あるいはそのような入出力装置をシステム内に一体化したタブレットPCや携帯型ゲーム機などのシステム1’に組み込むことにより,既存のシステムにハードウェアによる拡張や変更を加えることなく,3次元3自由度の仮想物体の回転が実現される。
【図面の簡単な説明】
【0029】
【図1】本発明の実施例を示す図
【図2】正20面体を例とした説明図(仮想3次元物体の表示とボタン押下点の位置関係)
【図3】正20面体を例とした説明図(座標系とポリゴン検出の例)
【図4】正20面体を例とした説明図(回転軸と回転角の計算法)
【図5】仮想球面半径の計算式
【図6】回転軸と回転角の計算式
【図7】回転行列の計算式
【図8】本発明の実施例を示す図(アクチュエータとモーションセンサによる物体の回転)
【図9】本発明の実施例を示す図(アクチュエータとビデオカメラによる物体の回転)
【図10】本発明の実施例を示す図(時間計測による操作モード選択)
【図11】操作モード選択における状態遷移とマウスカーソル形状の例を示す図
【図12】本発明の実施例を示す図(入出力装置一体型)
【符号の説明】
【0030】
2 仮想物体モデル
4 仮想物体上ボタン押下検出モジュール
5 仮想球面半径計算モジュール
6 デバイス移動計測モジュール
7 回転軸計算モジュール
8 回転角計算モジュール
9 回転パラメータ出力モジュール
10 回転パラメータ入力モジュール
11 仮想物体回転モジュール
12 仮想物体表示モジュール
【特許請求の範囲】
【請求項1】
入力装置としての2次元ポインティングデバイスと,3次元物体を表示するディスプレイを備えた装置において,ディスプレイ上のマウスカーソルと仮想物体との相対的位置関係を検出し,マウスカーソルの移動距離を用いて3自由度の回転軸と回転角からなる回転パラメータを計算し,この回転パラメータの値を用いて,3次元グラフィックスにより仮想物体を回転させ,ディスプレイに表示させることを特徴とする3次元3自由度回転パラメータ処理装置。
【請求項2】
入力装置としての2次元ポインティングデバイスと,3次元物体を表示するディスプレイ及び3次元物体を回転させる多自由度アクチュエータを備えた装置において,ディスプレイ上のマウスカーソルと3次元物体との相対的位置関係を検出し,マウスカーソルの移動距離を用いて3自由度の回転軸と回転角からなる回転パラメータを計算し,この回転パラメータの値を用いて,多自由度アクチュエータを制御して3次元物体を回転させ,ディスプレイに表示させることを特徴とする3次元3自由度回転パラメータ処理装置。
【請求項3】
ポインティングデバイスのボタン押下後の経過時間に基いて通常のポインティング操作のモードに設定される請求項1又は2に記載の3次元3自由度回転パラメータ処理装置。
【請求項4】
ディスプレイ上の3次元仮想物体又は3次元物体が,複数の部分に分割されており,ポインティングデバイスで指定する部分に,3次元3自由度の回転以外の操作が可能なことを特徴とする請求項1〜3に記載の3次元3自由度回転パラメータ処理装置。
【請求項1】
入力装置としての2次元ポインティングデバイスと,3次元物体を表示するディスプレイを備えた装置において,ディスプレイ上のマウスカーソルと仮想物体との相対的位置関係を検出し,マウスカーソルの移動距離を用いて3自由度の回転軸と回転角からなる回転パラメータを計算し,この回転パラメータの値を用いて,3次元グラフィックスにより仮想物体を回転させ,ディスプレイに表示させることを特徴とする3次元3自由度回転パラメータ処理装置。
【請求項2】
入力装置としての2次元ポインティングデバイスと,3次元物体を表示するディスプレイ及び3次元物体を回転させる多自由度アクチュエータを備えた装置において,ディスプレイ上のマウスカーソルと3次元物体との相対的位置関係を検出し,マウスカーソルの移動距離を用いて3自由度の回転軸と回転角からなる回転パラメータを計算し,この回転パラメータの値を用いて,多自由度アクチュエータを制御して3次元物体を回転させ,ディスプレイに表示させることを特徴とする3次元3自由度回転パラメータ処理装置。
【請求項3】
ポインティングデバイスのボタン押下後の経過時間に基いて通常のポインティング操作のモードに設定される請求項1又は2に記載の3次元3自由度回転パラメータ処理装置。
【請求項4】
ディスプレイ上の3次元仮想物体又は3次元物体が,複数の部分に分割されており,ポインティングデバイスで指定する部分に,3次元3自由度の回転以外の操作が可能なことを特徴とする請求項1〜3に記載の3次元3自由度回転パラメータ処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2011−215692(P2011−215692A)
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願番号】特願2010−80489(P2010−80489)
【出願日】平成22年3月31日(2010.3.31)
【出願人】(504173471)国立大学法人北海道大学 (971)
【Fターム(参考)】
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願日】平成22年3月31日(2010.3.31)
【出願人】(504173471)国立大学法人北海道大学 (971)
【Fターム(参考)】
[ Back to top ]