グラフィック処理装置、グラフィック処理方法、及びグラフィック処理プログラム
【課題】ユーザが地球地図の表示態様を任意に指定しインタラクションによる体験から新たな視点で世界を解釈することや、複数の地図情報の同時比較・検討を可能とするによって、地球地図に対する情報視覚化等をより効果的に実現することを可能としたグラフィック処理装置、グラフィック処理方法、及びグラフィック処理プログラムを提供する。
【解決手段】本発明は、地球儀モデルを展開し前記地球地図として表示する際に、前記展開する態様を連続するアニメーション表示として表示する展開表示手段と、表示された地球地図を逆展開し前記地球儀モデルとして表示する際に、前記逆展開する態様を連続するアニメーション表示として表示する逆展開表示手段と、前記展開表示手段と前記逆展開表示手段を、一の操作で連続的に切り替える切替手段と、を備える。
【解決手段】本発明は、地球儀モデルを展開し前記地球地図として表示する際に、前記展開する態様を連続するアニメーション表示として表示する展開表示手段と、表示された地球地図を逆展開し前記地球儀モデルとして表示する際に、前記逆展開する態様を連続するアニメーション表示として表示する逆展開表示手段と、前記展開表示手段と前記逆展開表示手段を、一の操作で連続的に切り替える切替手段と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザとインタラクションを可能とする地球地図の表示手法に関し、特に、地球地図の表示態様を変化させることにより、前記地球地図に表示される種々の情報相互間における視覚的な対比が可能な装置及び方法等の技術分野に関する。
【背景技術】
【0002】
近年では、コンピュータ上でインタラクティブに動作する地球地図(例えば、3次元的に視認可能に表示される地球儀モデルや2次元的に視認可能に表示される平面的な地球地図が閲覧可能な、地球儀・世界地図アプリケーション。)が発表され(例えば、Google Earth http://earth.google.co.jp/)、地球地図(以下、3次元的に視認可能に表示される地球儀モデルや2次元的に視認可能に表示される平面的な地球地図を包含するものとする。)に表される種々の情報(例えば、世界各国の地名又は地形等。以下、地図情報とする)の読解だけではなく、インタラクションによる体験を通じてこれら情報を解釈できるようになった。そしてこれらの地球地図は、利用頻度の高い地図ソフトウェアの一つとなっている。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記地球地図は、地球表面を球面や平面などのプリミティブに直接的にマッピングするものが多く、これら地球地図に対するinformation visualization即ち情報視覚化(例えば、情報の俯瞰的な把握、異なる地球地図上の地点における地図情報の細部の比較・検討又は、遠隔地の気候や地形などを同時に表示・観測すること等)はあまり議論されていなかった。
【0004】
一方、上記地球地図を利用する者は、上記情報視覚化を望んでいることが解っている。
【0005】
例えば上記利用者が、例えば異なる地球地図上の地図情報の細部を同時に比較しようとしても、現在広く使用されている上記地球地図は上記比較を実現するマルチフォーカスがサポートされていない等の理由から、上記地図情報の細部の比較・検討等が困難であった。
【0006】
本発明は、この様な点に鑑み、ユーザが地球地図の表示態様を任意に指定しインタラクションによる体験から新たな視点で世界を解釈することや、複数の地図情報の同時比較・検討を可能とするによって、地球地図に対する情報視覚化等をより効果的に実現することを可能としたグラフィック処理装置、グラフィック処理方法、及びグラフィック処理プログラムを提供することを課題の一つとする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、請求項1に記載の発明は、地球表面形状を示す地表データを2次元座標系空間にマッピングし2次元的に視認可能に表示される平面的な地球地図を表示部に表示するとともに、表示された前記地球地図をスクロール表示するスクロール表示手段と、表示された前記地球地図を拡大又は縮小表示する際に、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示する拡大縮小表示手段とを備えたグラフィック処理装置であって、前記地球地図上の領域内の所定地点を選択する選択手段と、選択された前記地点が、前記スクロール表示、拡大表示及び縮小表示いずれの場合においても、常に前記表示部に表示されるように前記地球地図の表示態様を制御する表示態様制御手段とを備える。
【0008】
請求項9に記載の発明は、コンピュータを、請求項1乃至8の何れか一項に記載のグラフィック処理装置として機能させる。
【0009】
請求項10に記載の発明は、地球表面形状を示す地表データを2次元座標系空間にマッピングし2次元的に視認可能に表示される平面的な地球地図を表示部に表示するとともに、表示された前記地球地図をスクロール表示するスクロール表示工程と、表示された前記地球地図を拡大又は縮小表示する際に、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示する拡大縮小表示工程とを備えたグラフィック処理方法であって、前記地球地図上の領域内の所定地点を選択する選択工程と、選択された前記地点が、前記スクロール表示、拡大表示及び縮小表示いずれの場合においても、常に前記表示部に表示されるように前記地球地図の表示態様を制御する表示態様制御工程とを備える。
【発明の効果】
【0010】
本発明によれば、地球儀モデルと地球地図を相互に展開可能とし、且つ、展開する態様を連続するアニメーション表示とすることができるため、ユーザに対して、新たな視点で世界を解釈させることができる。また、地球儀モデルと地球地図の地点を選択し、選択された地点の地図情報を同時に表示することができるため、地図情報の同時比較・検討が可能となる。そしてこれらを通じて、地球地図に対する情報視覚化等をより効果的に実現することができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の最良の実施形態を添付図面に基づいて説明する。
【0012】
本発明に係るグラフィック処理装置及び方法は、処理部(CPU等からなる)、記憶部(VRAM、ROM及びハードディスクドライブ等からなる)、表示部(ディスプレイ等からなる)、及び操作部(マウス及びキーボード等からなる)を備えた汎用のパーソナルコンピュータに対して地球地図作成ソフトウェア(本発明に係る3次元オブジェクト処理プログラムを含む)をインストールして起動させることにより実現される。なお、本実施形態においては、表示色の決定プログラムのリアルタイムな計算処理のため、上記処理部にはGPU(Graphics Processing Unit)が備えられる。
【0013】
そして、本実施形態においては、処理部は、展開表示手段、逆展開表示手段、切替手段、スクロール表示手段、拡大縮小表示手段、及び表示態様制御手段等として機能するようになっている。
【0014】
そして、当該グラフィック処理装置処理部は、処理部が後述する地球地図作成ソフトウェア等を読み出し実行することにより、上述した各手段等として機能するようになっている。
【0015】
[1.基本的なアルゴリズム]
先ず、本実施形態に係る地球地図作成ソフトウェアの基本的なアルゴリズムについて説明する。
【0016】
本アルゴリズムにより、地球表面形状を示す地表データを3次元オブジェクトにマッピングし3次元的に視認可能に表示される地球儀モデルと、前記地表データを2次元座標系空間にマッピングし2次元的に視認可能に表示される平面的な地球地図を表示し、互いに切換可能としている。なお、地球儀モデルの持つ静的データは、地図投影の有無にかかわらず参照、提示可能になっている。
【0017】
そして、前記地球儀モデルと前記地球地図の表示切換は、連続的に変化するアニメーションにより行われる。かかるアニメーションにおいて、展開表示手段としての処理部は、表示された地球儀モデルを展開し平面的な地球地図として表示する際に、前記展開する態様を連続するアニメーション表示として表示するようになっている。また、逆展開表示手段としての処理部は、前記表示された地球地図を逆展開し前記地球儀モデルとして表示する際に、前記逆展開する態様を連続するアニメーション表示として表示するようになっている。
【0018】
切替手段としての処理部は、上記処理部の展開及び逆展開を、ユーザによる操作部からの指示によって連続的に切り替えるようになっている。さらに具体的には、操作部に設けられた操作ボタンのうち単一の種類の当該ボタンを用いて、上記連続的な切替(例えば、ホイールマウスに設けられたホイールのみを用いて、当該ホイールの回転操作によって)を行うことができるようになっている。
【0019】
回転表示手段としての処理部によって、地球儀モードでは、地図に影響を与える地球儀モデルの操作として、ユーザはマウスで地球儀モデルをドラッグしつつ当該マウスを動かす(ポインタを移動させる)ことで、ディスプレイ上に表示された地球儀モデルを回転させることができる。地球儀モデルの回転は、地図投影前の地球儀モデルに適用され、球状態のときに直感的な操作を行うために、そして、ジンバルロックを防ぐために公知のクオータニオンが用いられる。また、地球儀モデルの回転は、平面360度どの方向にも可能になっている。更に、マウスで地球儀モデルをドラッグしつつポインタを移動させたときの速度が計測され、当該速度で地球儀モデルが回転されるようになっている。
【0020】
一方、地図モードでは、地球儀モデルに対して変形及び透視投影を行い平面的な地球地図へと写像される。この場合も、地図平面の対応する位置に緯度及び経度に応じた画像がマッピング(テクスチャマッピング)できるようになっている。
【0021】
なお、本実施形態においては、上記変形による地図投影法の一例として、正距円筒図法と正距方位図法が用いられている。これら投影法は公知であるため詳しい説明は省略するが、正距円筒図法は、直交方眼の縦線を経線、横線を緯線としたもので、全ての経線と赤道上の緯線が正距であるような図法である。また、正距方位図法は、地図の中心点から極座標的に展開していく図法であり、中心からの距離と方向が正しいという特徴を持つ。
【0022】
スクロール表示手段としての処理部は、例えばパン操作と総称される操作を示し、具体的には平面的な地球地図であって表示部に表示しきれない(例えば、ディスプレイの表示エリアに表示することができない)隠れた部位がある場合に、前記隠れた部位を、例えばユーザによる操作部の操作(例えば、マウス及びキーボード等の操作)によって、表示できるようになっている。
【0023】
拡大縮小表示手段としての処理部は、表示された前記地球地図を拡大又は縮小表示する際に、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示するようになっている。
【0024】
表示態様制御手段としての制御部は、選択手段としての操作部の操作(例えば、マウス等による指示)によって、前記選択された前記地点が、前記スクロール表示(パン)、拡大表示及び縮小表示いずれの場合においても、常に前記表示部に表示されるように前記地球地図の表示態様を制御するようになっている。
【0025】
[2.座標系系列アルゴリズム]
次に、本実施形態に係る地球地図作成ソフトウェアの座標系系列アルゴリズムについて説明する。
【0026】
具体的には、(1)地球表面形状を示す地表データを3次元オブジェクトにマッピング(地球儀モデルの作成)し3次元的に視認可能に表示される地球儀モデルの作成に関するアルゴリズム(DataLngLat座標系からDataSphere座標系への変換及び逆変換)、(2)地球儀モデルの回転に関するアルゴリズム(DataSphere座標系からStaticSphere座標系への変換及び逆変換)、(3)前記表示された地球儀モデルを展開し前記地球地図として表示する際に、前記展開する態様を連続するアニメーション表示として表示し、又は、前記表示された地球地図を逆展開し前記地球儀モデルとして表示する際に、前記逆展開する態様を連続するアニメーション表示として表示する場合におけるアルゴリズム(StaticSphere座標系からAtlas座標系への変換及び逆変換)、(4)表示された前記地球地図を拡大又は縮小表示する際に、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示する場合におけるアルゴリズム(Atlas座標系からClient座標系への変換及び逆変換)によって実現されている。
【0027】
以下、図1〜図6を用いて、上記座標系アルゴリズム(1)〜(4)の詳細について説明する。
【0028】
図1は、座標系系列アルゴリズムの概念を示す概念図である。図1において、上述した座標系アルゴリズムの各段階((1)〜(4))で使用する座標系を、それぞれDataLngLat座標系1、DataSphere座標系2、StaticSphere座標系3、Atlas座標系4及びClient座標系5の座標系とする。
【0029】
そして、DataLngLat座標系1からDataSphere座標系2への変換を(a)、逆変換を(h)としている。同様に、DataSphere座標系2からStaticSphere座標系3への変換を(b)その逆変換を(g)、StaticSphere座標系3からAtlas座標系4への変換を(c)その逆変換を(f)、Atlas座標系4からClient座標系5への変換を(d)その逆変換を(e)とする。
【0030】
以下、(1)〜(4)についてさらに詳細に説明する。
【0031】
(1)地球表面形状を示す地表データを3次元オブジェクトにマッピングし3次元的に視認可能に表示される地球儀モデルの作成に関するアルゴリズム(DataLngLat座標系からDataSphere座標系への変換及び逆変換)
地球表面形状を示す地表データを用いて、例えば、標高値、気象データ又は衛星画像等を画像データ化し、描画時にGPUのフラグメントプログラムにより描画色を決定し地球儀モデル又は地球地図として表示させるようになっている。
【0032】
また、地球表面形状を示す地表データは、DataLngLat座標系1に存在する。DataLngLat座標系1において、縦軸lat(latitude)は緯度を、横軸lng(longitude)は経度を示す。
【0033】
地球表面形状を示す地表データは、一例として、UCSDにより提供されているDEM(Digital Elevation Model)であるSRTM30 PLUSを用いている。SRTM30 PLUSはスペースシャトルからの計測による30秒メッシュデータに海底地形データを加えたDEMである。1サンプルあたりおよそ900[m]x900[m]の範囲をカバーしており、サンプル数は経度方向432000 [Sample]、緯度方向216000 [Sample] である。標高は1[m]の精度である。
【0034】
本実施形態では、当該データを256×256の画像にタイル状に分割し、ミップマップのように、精度が2倍低い画像を作成して階層化を行っている。そして、頂点を1枚の画像とする、9階層のピラミッドができる。一般的なLOD(Level of Detail)手法と同様に、ピラミッドからディスプレイに表示される適切なデータを探索する。このとき、地図投影の影響で、ピラミッド内の画像がどのようにディスプレイ座標系に変換されるかを調べることが難しいという問題が発生する。
【0035】
本実施形態では、階層レベルを
floor(λ/Z)
…式(1)
とし、この階層でディスプレイ上に表示されるデータを取得する。
【0036】
ここでλはディスプレイの1ピクセルの大きさである。また、Zは詳しくは後述するが拡大係数を示す。
【0037】
表示されるかどうかの判定は、ディスプレイ座標の位置をランダムに取得し、図1に示す変換(e)から(h)を行い、該当するデータを判定している。メモリ上に保持できるデータ量は限られているので、適宜不要なデータを削除する必要がある。一般的には幾何的な距離が遠いと判断されるデータを削除するが、本実施形態では距離が動的に変化するために、しばらくディスプレイ上に表示されていない画像をメモリから消去するものとする。この判定は、メモリに読み込まれている画像が最後に表示された時刻を保持することで実現できる。
【0038】
この様なDataLngLat座標系1に存在する地球表面形状を示す地表データは、3次元の座標系である、DataSphere座標系2へマッピングされ、地球儀モデルが生成される。当該マッピングは変換(a)で実現され、具体的には下記式(2)で表される。
【0039】
x=cos(lat)・sin(lng)
y=sin(lat)
z=―cos(lat) ・cos(lng)
…式(2)
ここで、latは緯度(latitude)を、lngは経度(longitude)を夫々表す。
【0040】
このようにして、上記地表データに、変換(a)を施すことにより地球儀モデルが生成される。
【0041】
また、変換(h)は変換(a)の逆変換であり、具体的には下記式(3)で表される。
【0042】
Lat=sin−1(y)
Lng=atan2(x、y)
…式(3)
(2)地球儀モデルの回転に関するアルゴリズム(DataSphere座標系からStaticSphere座標系への変換及び逆変換)
上述したように地球儀モデルは、ユーザはマウスで地球儀モデルをドラッグしつつ当該マウスを動かすことで、ディスプレイ上に表示された地球儀モデルを回転させることができる。この様な地球儀モデルの回転は、DataSphere座標系からStaticSphere座標系への変換(b)及び逆変換(g)によって実現されている。
【0043】
変換(b)は下記式(4)で表される。
【0044】
Mb=MIMUMA
…式(4)
ここで、回転に関するアルゴリズムは、一般的に例えば4×4の行列Mで表される。例えば、ある物体をx軸周りに回転した場合に、当該物体上の点(x、y、z)が当該回転によって移動した点(x´、y´、z´)は、行列Mxを用いて、下記式(式5)で表される。
【0045】
【数1】
そして、ある物体に対して、回転に関する要素(例えば、x、y、z各軸周りの回転等)が生じた結果、当該物体が最終的に回転する量(アルゴリズム)は、前記各要素の行列の積で求められる。
【0046】
(式4)の説明に戻り、MIは初期姿勢を示す回転(行列)、MUはユーザ操作による回転、MAは詳しくは後述するがパンを回転行列に置き換えたもので、デフォルト(初期値)はIである。
【0047】
図2は、地球儀モデルが回転した場合の表示例を示す図である。
【0048】
図2(A)の例では、北極が画面の最上端に、南極が画面の最下端に位置しており、北極と南極を通る軸GがDataSphere座標系2及びStaticSphere座標系3のy軸に相当することになる。このような表示状態において、ユーザがマウスで地球をドラッグしつつ当該マウスを例えば右斜め上に動かし停止すると、地球儀モデルOBは、図2(A)中矢印方向に回転し、図2(B)に示すように表示されることになる。図2(B)の例では、北極が画面の最上端に位置されなくなり、南極が画面の最下端に位置されなくなっている。つまり、地球儀モデルOBの回転により、画面の最上端及び画面の最下端には、北極及び南極以外の地点も(例えば、日本も)位置することが可能となる。
【0049】
また、変換(g)は、下記式(6)で表される。
【0050】
Mg=Mb−1
…式(6)
なお、変換(g)は、変換(b)による回転方向を正方向とした場合に、逆方向の回転を示している。
【0051】
(3)前記表示された地球儀モデルを展開し前記地球地図として表示する際に、前記展開する態様を連続するアニメーション表示として表示し、又は、前記表示された地球地図を逆展開し前記地球儀モデルとして表示する際に、前記逆展開する態様を連続するアニメーション表示として表示する場合におけるアルゴリズム(StaticSphere座標系からAtlas座標系への変換及び逆変換)
ここでは、変形及び透視投影を行って、StaticSphere座標系3の地球儀モデルを前記平面的な地球地図としてAtlas座標系4へと写像させている。当該写像によって、前記展開又は逆展開する態様を連続するアニメーション表示として表示するようになっている。
【0052】
まず最初に、正距円筒図法を用いた場合について説明する。
【0053】
以下、上記展開又は逆展開する態様を図3〜図6を用いて、詳細に説明する。
【0054】
図3は、上記展開又は逆展開する態様を表示する仕組みの一例を示す図である。
【0055】
図3の例では、まず、StaticSphere座標系3のz=−1にスクリーンscを配置し、透視投影のために(0, 0, cz)に、z軸正方向を見るカメラCamを配置する。ここで、cz(<−1)は定数的なパラメータで、Camは基本的には動かない。変形を行わない場合は当然ながらAtlas座標空間に球の透視図が描画されるが、球を変形させることで地図の描画も行えるようにする。前記展開又は逆展開する態様を連続するアニメーション表示として表示するためには、この変形を連続的に行う必要があるが、パノラマ画像を俯瞰するためのプロジェクションスクリーンの変形法(Kopf et al. 2007)を地球形状に適用させることで変形を行う。
【0056】
次に、上記変形の様子を詳細に説明する。
【0057】
図4は、経度方向の変形の様子を示す模式図である。
【0058】
まず、中心Ec、半径Erの球Eの変形を行うために、球Eのy=0による断面円C0について考える。これらの関係は式(7)で表される。
【0059】
Ec=(0, 0, 0)
Er=1
…式(7)
円C1は、C0上の点a1と、パラメータαで移動するガイドポイントb1を通り、中心がz軸上に存在する円であるとする。このとき、円C1は、半径C1r、中心C1cである。これらの関係は式(8)で表される。即ち、円C1を変形可能な円として、円C1の形状に応じて上記展開又は逆展開する態様が決定されることとなる。
【0060】
a1=(0, 0, −1)
α∈[0, sin−1(0.5)]
b1=(cos(α), 0, sin(α)−1)
C1r =1/(2sin(α))
C1c =(0, 0, C1r −1)
…式(8)
α =sin−1(0.5)のとき、円C1と円C0は一致し、αが0に近づくにつれて中心C1cがz軸正方向に移動し、半径C1rの値が増加する。即ち、円C1が変形することとなる。また、α=0のときは特別なケースで、z=−1の直線とする。
【0061】
図4では、円C1の移動の一例を、破線の円弧CA〜CDで示している。また、点b1の軌跡は上記αによって、破線部Cb1のようになる。そして、点a1と点b1を結ぶ円弧は円弧tのようになる。
【0062】
従って、上記の条件より、円弧tは、破線部Cb1の軌跡を移動する点b1の値に応じて、変形することとなる。本実施形態では、円弧tの長さは常に、2πであるとする。
【0063】
この円C1に対して円C0の経度を、点a1を基準とした円弧tの長さに対応するように写像を行う。その結果、円C0の経度lngは円C1上の点a2となり、点a2は、式(9)で表される。
【0064】
a2=(C1r・sin(lng/C1r),0,(C1r−1)−C1r・cos(lng/C1r))
…式(9)
そして、球Eの各断面全ての断面において上記写像を行うことによって、経度方向における上記展開又は逆展開する態様を連続するアニメーション表示として表示するようになっている。
【0065】
緯線方向の変換についても上記と同様の手法を採り、変形可能な円C1に代えて円C2を用いている。図5に、円C2の位置関係を表す概念図を示す。
【0066】
円C2は、円C1上の点a2に接し、直線C2L上に中心が存在し、かつ、パラメータβで移動するガイドポイントを表した点b2によって変形する円である。
【0067】
図5(a)に示す如く、円C2の中心は、円C1上の点a2に接し直線C2L上に存在する。図5(b)は、直線C2Lを通りy軸と平行な平面に存在する円C2を示す図である。言い換えれば、円C2は、点a2と点b2を通り、中心が直線C2L上に存在する円である。これらの関係は、式(10)で表される。
【0068】
v=(a2−C1c)/ C1c
b2=a2+(−vx・sin(β), cos(β), −vz・sin(β))
C2L= C1c + v ・t
…式(10)
円C2は、半径C2r、中心C2cとなり、これらの関係は式(11)で表される。
【0069】
C2r=1/(2sin(β))
C2c=((C1r−1/(2sin(β)))・sin(lng/C1r),0,(C1r−1)−(C1r−1/(2sin(β)))・cos(lng/C1r))
…式(11)
そしてこれらの関係から、球Eの緯度経度(lat, lng)は式(12)で表される。
【0070】
x = (C1r+C2r(cos(lat/C2r)−1)) ・sin(lng/C1r)
y = C2r・sin(lat/C2r)
z = C1r−1−(C1r+C2r(cos(lat/C2r) −1)) ・cos(lng/C1r)
…式(12)
このように球Eに写像させる。この写像結果の形状は、主半径C1r−C2r、副半径C2rのトーラスである。
【0071】
本研究では、αとβは独立にパラメータ設定が可能であるが、実際には、αとβが常に同じ値の方が協調的に動作しているように感じられる。以下、説明の簡単のためにα=βでパラメータ設定を行うものとする。
【0072】
図6(A)〜図6(C)は、球Eの変形の様子を示す画面例である。
【0073】
図6(A)(a)〜図6(C)(f)は、上記展開された場合の球Eの変形の様子を示す表示画面DSである。図6(A)(a)は展開前の地球儀モデルを、図6(C)(f)は展開後の地球地図をそれぞれ示している。
【0074】
図6(A)(a)から上記展開が開始されると(上記αが0に近づくにつれて中心C1cがz軸正方向に移動し、半径C1rの値が増加すると)、表示画面DSは、図6(A)(b)、図6(B)(c)、図6(B)(d)、図6(e)と遷移するようになっている。
【0075】
また、正距方位図法についても上記と同様に計算し、球Eの緯度経度(lat, lng)は式(13)で表される。但し、極座標表示となる。
【0076】
x =C1r・sin(q/C1r) ・cos(θ)
y =C1r・sin(q/C1r) ・sin(θ)
z =C1r−1−C1r・cos(r/C1r)
…式(13)
ここで、q、θ及びpは、式(14)で表される。
【0077】
q=cos-1(−p・z)
θ=atan2(p.y,p.x)
p=(cos(lat)・sin(Ing),sin(lat),-cos(lat)・cos(Ing))
…式(14)
この形状にCamからの透視投影を行ったものがAtlas座標(空間)である。
【0078】
以上が、StaticSphere座標系3からAtlas座標系4への変換(c)(即ち、上記展開)であり、その逆変換(f)(即ち、上記逆展開)はCamからのレイとトーラスとの交差位置を計算し、式(12)又は式(13)を、lat及びlngの式に変形して求めることができる。
【0079】
本アルゴリズムを適用した結果、上記アニメーション表示が見た目滑らかに変化するような視覚的効果を奏し、結果的に上記情報視覚化に寄与することとなっている。
【0080】
(4)表示された前記地球地図を拡大又は縮小表示する際に、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示する場合におけるアルゴリズム(Atlas座標系からClient座標系への変換及び逆変換)
ここでは、拡大及び縮小表示を行うために、Atlas座標系の一部を切り出だすための変換を行っている。具体的には、図1の変換(d)が相当し、Atlas座標系の位置ベクトルPAは、Client座標系の位置ベクトルPCへ、式(15)のように変換される。
【0081】
PC=PC0+(PA−PA0)/Z
…式(15)
ここで、PA0はAtlas座標系の基準となる位置ベクトル、PC0はPA0が写像されるClient座標系の基準となる位置ベクトル、Zは拡大係数で、値が大きいほどズームアウト(縮小表示)される。本実施形態では、PC0は、スクリーンの中央位置である。ユーザのパン操作でPA0が、ズーム操作でZが変更される。
【0082】
そして、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示する場合、すなわち、自動でのビュー切替は、変形のパラメータαを拡大率Zに依存させることで実現しており、本実施形態では例えばシグモイド関数を用いて、式(16)で表される。
【0083】
α(=β)=sin-1(0.5)/(1+exp(S0・Z−S1))
…式(16)
式(16)では、パラメータを一又は複数数設定することが可能であることを示している。
【0084】
ここで、パラメータαが単独で用いられる一例としては、正距方位図法を用いて表された地球地図を拡大縮小表示する場合が考えられる。前記正距方位図法は前記地球地図中心部からの距離と方位が正しく表示されているため、前記地球地図を拡大縮小表示する際に一義的に前記拡大縮小率(拡大係数)を決定しても、拡大縮小後に表示される前記比率は拡大縮小前後で変化はない。
【0085】
一方、正距円筒図法を用いて表された地球地図では、前記地球地図の縦方向(図1Client座標系のy軸)を緯度、横方向(図1Client座標系のx軸)を経度と読み替えたもので、標準緯線上と縦方向に関して正距である。従って、前記地球地図を拡大縮小表示する際には前記縦方向及び横方向の拡大率を夫々別個に設定する必要がある。従ってこの場合には、パラメータα及びβを用いることとなる。
【0086】
なお、式(16)のおけるパラメータでは、一例としてシグモイド関数を用いたが、例えば他の指数関数等種々の関数を適用することが可能である。
【0087】
以上が、Atlas座標系4からClient座標系5への変換(d)(即ち、上記展開)であり、その逆変換(e)(即ち、上記逆展開)は式(15)をPAを求める式に置き換えたものである。
【0088】
このようにして、表示部に表示される前記地球地図及び前記地球儀モデルは、Client座標系5に表示されることとなる。言い換えれば、Client座標系5は表示部に表示される座標系を表している。
【0089】
以上のように、本実施形態に係る地球地図作成ソフトウェアの座標系系列アルゴリズムは、地球表面形状を示す地表データから種々の変換(計算)によって実現されている。
【0090】
[3.インターフェースアルゴリズム]
次に、インターフェースアルゴリズムについて説明する。
【0091】
上述した座標系アルゴリズムのパラメータにおいて、ユーザは回転(MU)、パン(PA0)、ズーム(Z)をそれぞれ操作するようになっている。かかる操作は、前記地球儀モデル及び前記地球地図双方において可能であるが、本実施形態においては、前記地球儀モデルにおける回転から前記地球地図におけるパンまでを一の操作で連続的に切り替えることを可能としている。
【0092】
即ち、前記地球儀モデルから前記地球地図への前記展開及び逆展開を一の操作で連続的に切り替えることを可能としている。
【0093】
具体的には、本実施形態では閾値μを用いて、例えば、回転とパンは操作部の一例としてのマウスにおいて同じマウスボタンを割り当てて(さらに具体的には、例えば、ホイールマウスに設けられたホイールの回転操作によって)、地図に展開されているとき、すなわち,α≦μのときにはパン(前記地球地図)を、それ以外のときは回転する(前記地球儀モデル)ように振り分けを行う操作モードを提供する。
【0094】
さらに具体的には、閾値によって前記展開及び前記逆展開を切り替えていることとなる。
【0095】
なお、本発明者らは、閾値は試行錯誤的に決定し,μ=0が自然に感じられることを経験的に確認している。
【0096】
[4.パンから回転へのアルゴリズム]
次に、パンから回転へのアルゴリズムについて説明する。かかるアルゴリズムは、前記地球儀モデル及び前記地球地図双方において可能であるが、本実施形態においては、前記地球儀モデルにおける回転から前記地球地図におけるパンまでを一の操作で連続的に切り替えることを可能としている。即ち、前記地球儀モデルから前記地球地図への前記展開及び逆展開におけるアルゴリズムについて示すものである。
【0097】
具体的には、例えば、ユーザは前記地球地図に対してパンを行い,PC0すなわちスクリーン中央に対応するPA0を操作する。今、PA0が表示画面の原点位置(例えば、表示部の座標である(0、0)以外、若しくは表示中心部)以外の状態で(少しでもパン操作が行われた状態で)、ユーザが拡大表示(ズームイン)の操作を行ったとする。このとき、ユーザはズームインする直前にPC0で表示されていたデータ付近が拡大(逆展開)されていくことを期待する。しかし、ズームインと地球(地球儀モデル)の変形を同期させた場合、問題(1)として変換(c)の球の変形は、Static Sphere座標系3のz軸上を中心として行われているため,PC0にはズームイン前後で異なるデータが表示されてしまうこと、及び問題(2)としてPA0は上記表示画面の原点位置ではないので,地球儀モデル(地球儀モデル)の中心はスクリーン中央PC0以外の場所に位置してしまうこと等の問題点が生じることを、本発明者らは、経験的に確認している。
【0098】
そこで、本発明者らは、PC0ではズームインの前後で常に同じデータを表示し,地球儀モデルが表示されている時にはPC0に球の中心が位置していくような処理(パンから回転へのアルゴリズム)について考案した。以下、図7及び図8等を参照して、当該パンから回転へのアルゴリズムについて詳しく説明する。
【0099】
なお、図7はズームイン操作で生じる問題(1)及び問題(2)の様子を示す画面例である。図7において、図7(A)はユーザが地球地図に対してパンを行った後の様子を示す画面例を、図7(B)では、前記パンの後にユーザがズームインを開始し前記逆展開が開始された様子を示す画面例を、図7(C)はさらにズームインを継続した様子を示す画面例をそれぞれ示している。
【0100】
かかるアルゴリズムでは,ズームインするにつれてPA0を自動的に表示画面の原点位置(例えば、上記座標(0,0))に近づくように補正を行なうことで問題(2)を解決している。そして、問題(1)はこの補正されていくPA0を考慮しつつ,PC0にはズーム前後で同じデータを表示させる必要がある。そこで、当該アルゴリズムでは、表示が期待されるデータと,表示されてしまうデータの差分を,回転行列に置き換えるアプローチを行う。上述した、変換(b)のMAは,この置き換えた結果の回転行列である。
【0101】
まず、PA0の補正を行う。補正後の位置PA0’は係数kを用いて、式(17)で表される。
【0102】
PA0’=PA0・kr
k=1−α/sin−1(0.5)
…式(17)
ここで、係数kは,地球地図(上述したα=0の場合)が地球儀モデル(α=sin−1(0.5))に変形していくにつれて1から0に変化する値となる。rは補正の「速さ」を調整するパラメータであり、本実施形態ではr=3としているが、任意に変更することができる。
【0103】
次に、補正後の位置ベクトルPA0’で表示されるデータ(表示されてしまうデータ)の経度および緯度(変換(f)及び(h)により求める)と、ズームイン前にPC0で表示されていたデータ(表示が期待されるデータ)の経度および緯度(変換(e)及び(h)により求める)の差を回転行列MAで表現する。
【0104】
回転行列MAは使用する地図投影法によって異なる値を設定する。正距円筒図法の場合,地図の上が北となるように経度と緯度の回転を分けて,式(18)で表される。
【0105】
MA=MAx・MAy
…式(18)
ここで、MAxはx軸を回転軸として緯度の差だけ回転させる行列で、MAyはy軸を回転軸として経度の差だけ回転させる行列である。
【0106】
正距方位図法の場合、MAはDataSphere座標系で最短経路をとるような回転行列とする。
【0107】
図8は、本実施形態にかかるパンから回転へのアルゴリズムを適用した際の画面例を示す図である。
【0108】
図8(A)はユーザがズームインの操作を開始した時の表示部の画面例であり、図8(B)〜(D)は当該アルゴリズムによってズームインするにつれてPAOを自動的に表示画面の原点位置に近づくように補正を行なう様子を示す図である。
【0109】
当該アルゴリズムを適用することによって、ズームイン後においても最終的には図8(D)に示す如く、地球の中心はスクリーン中央PC0の場所に位置するようになっている。
【0110】
[5.任意の領域同士の比較を可能とするアルゴリズム]
次に、本実施形態に係る地球地図作成ソフトウェアにおいて、表示された前記地球儀モデル及び前記地球地図における、任意の領域同士の比較を可能とするアルゴリズムについて説明する。
【0111】
当該任意の領域同士の比較を可能とするアルゴリズムは、より詳細には、(1)矩形を用いた領域指定アルゴリズム、(2)座標系系列のパラメータ補正アルゴリズム、(3)スクリーン分割アルゴリズム、及び(4)コンテキスト認識アルゴリズムにより実現される。
【0112】
まず、(1)矩形を用いた領域指定アルゴリズムによって、ユーザは、前記地球儀モデル又は前期地球地図上の任意の領域を選択(例えば、矩形によって領域を選択)する。
【0113】
そして、(2)座標系系列のパラメータ補正アルゴリズムによって、ユーザが任意に指定した前記地球儀モデル又は前期地球地図上の領域を、常に表示部に表示されることを保証する(例えば、表示部の中心部へ表示することを保証する)ようになっている。
【0114】
そして、(3)スクリーン分割アルゴリズムによって、ユーザにより当該領域の拡大又は縮小表示が指示された場合であって、当該領域が表示部に表示されなくなった場合(表示部の中心部に表示されなくなった場合)には、例えば、姿勢やビューの補正を行い表示画面内に表示されるように補正する。
【0115】
この様な補正では解決しなかった場合(例えば、前記領域が複数選択された場合であって、双方の前記領域が表示画面に表示できなくなった場合等)には、表示部を分割して夫々の領域が表示されるように補正する。前記分割を行う際には、表示部の中心点の移動やそれに伴う前記の姿勢などを再計算する必要があるが、これらを連続するアニメーション表示とする(ここで発生するモーションを連続的に処理する)ことで、突発的な画面遷移を防止している。
【0116】
また、(4)コンテキスト認識アルゴリズムでは、前記複数選択された領域同士の認識を補完するようになっている。
【0117】
以下、図9〜図14を用いて、上記アルゴリズム(1)〜(4)の詳細について説明する。
【0118】
(1)矩形を用いた領域指定アルゴリズム
上述したように、本アルゴリズムによって、ユーザは前記地球儀モデル又は前記地球地図上の任意の領域を選択することができる。具体的には、操作部の一例としてマウスのドラッグ操作によって、表示部に表示された前記地球儀モデル又は前記地球地図上の任意の地点に矩形を作成する。
【0119】
図9に、矩形を用いた領域指定がなされた場合の画面例を示す。図9(A)は地球地図において矩形を用いた領域指定がなされた場合の画面例を、図9(B)は地球儀モデルにおいて矩形を用いた領域指定がなされた場合の画面例をそれぞれ示している。
【0120】
図9(A)では、表示画面DSに地球地図LMが表示され、矩形C1及び矩形C2によって任意の領域が選択されている。また、図9(B)では、表示画面DSに地球儀モデルOBが表示され、矩形C3及び矩形C4によって任意の領域が選択されている。
【0121】
上記矩形の作成によって、上記矩形が、Client座標系5に写像されているデータ(例えば、矩形が作成された地点における現実の緯度経度情報等)を選択していることとなるが、当該選択されたデータに対して、図1における変換(e)、変換(f)及び変換(g)を行うことにより、DataSphere座標系2において領域が選択されたこととしている。そして、DataSphere座標系2からClient座標系5に再度変換して矩形が描画されるようになっている。
【0122】
ここで、例えば、前記地球儀モデル上に矩形を作成し、その後、回転(変換(b)又は(g))や、展開(変換(c))または逆展開(変換(f))等の操作後に、当該矩形を表示させるため、Client座標系5に変換すると、矩形ではなくなってしまう。
【0123】
すなわち、前記地球儀モデル上の任意の地点を矩形で選択することを正確に表現するためには、当該選択された領域は、前記地球儀モデルが表す地表とオフセットの関係(地表形状に沿った形状)になるはずであるため、矩形ではなくなってしまう。
【0124】
このことは、選択された領域の認識及び操作を困難にする原因となる。そこで、本アルゴリズムでは、Client座標系5で常に矩形で表示操作されるように補正が行われるようになっている。
【0125】
具体的には、Client座標系5で作成された矩形の中心と上下左右の5点を代表点として変換(計算)に用いている。各前記代表点は変換(e)、変換(f)及び変換(g)で、対応するDataSphere座標系2の位置を取得する。各前記代表点はClient座標系5に再度変換されたときに矩形となるように補正される。
【0126】
さらに具体的には、各前記代表点のうち前記中心の点を基準とし、前記上下点及び左右の点の位置を平均とし直線となるように再配置し、前記中心点以外の各点を矩形となるように直線で結ぶ。そして、前記矩形の各辺のうち隣り合う辺の成す角が直角となるように補正し、再度矩形として表示する。
【0127】
(2)座標系系列のパラメータ補正アルゴリズム
座標系系列のパラメータ補正アルゴリズムによって、ユーザが任意に指定した前記地球儀モデル又は前記地球地図上の領域を、常に表示部に表示される(可視領域にある)ことを保証するようになっている。即ち、前記地球儀モデル又は前記地球地図上に作成した矩形を常に可視領域に表示するようになっている。
【0128】
上記矩形での選択後に、ユーザが地球儀モデルを回転又は地球地図をパン(操作)すると、上記矩形が可視領域から消失する場合がある。本アルゴリズムでは、この様な矩形の消失する場合には、上記回転又はパンを制限するようになっている。
【0129】
具体的には、上記矩形で選択された集合をRcとし、式(19)で表す。
【0130】
Rc={Rc0、・・・、Rcn-1}
…式(19)
ここで、Rcは、例えば、Client座標系5の座標情報のうち上記矩形で選択された範囲内の座標を示す。そして、Rcの任意の要素をRciとする。
【0131】
Rciが可視領域にあるか否かは、式(20)によって判断される。
【0132】
【数2】
ここで、J1は矩形が表を向いているか否か(可視領域に表示されているか)を、J2は矩形の中心(座標)が可視領域にあるか否かを、そして、J3は矩形がClient座標系5の中心(座標)を含むかどうかを、それぞれ示す。
【0133】
そして、式(20)によって、Rciが可視領域にないと判断された場合には、Rciを可視領域に戻す操作を行う。
【0134】
また、発明者らは、上記J2と、上記J3を実際の値(実測値)よりも小さい値とすることにより、実際に可視領域に含まれる上記矩形の面積比率が多くなり、さらに視認可能となることを経験的に確認している。
【0135】
図10に、地球儀モデルにおいて座標系系列のパラメータ補正が適用された場合の概念図を示す。
【0136】
図10(A)では、表示画面DSに表示された地球儀モデルOBにおいて、ユーザは、矩形C5によって、地球儀モデル上の領域を選択している。今、ユーザの操作によって、矢印AR1又は矢印AR2方向へ地球儀モデルを回転したとする。
【0137】
図10(B)は、矢印AR1方向へ地球儀モデルを回転させた場合の画面例を示す図である。矢印AR1方向へ回転された地球儀モデルは、式(20)によって、矩形C5が可視領域に表示される範囲内において当該矢印AR1方向へ回転するようになっている。従って、ユーザがさらに矢印AR1方向へ当該地球儀モデルを回転させても、図10(B)に示す位置以上には回転しないようになっている。
【0138】
図10(C)は、矢印AR2方向へ地球儀モデルを回転させた場合の画面例を示す図である。矢印AR2方向へ回転された地球儀モデルは、式(20)によって、矩形C5が可視領域に表示される範囲内において当該矢印AR2方向へ回転するようになっている。従って、ユーザがさらに矢印AR2方向へ当該地球儀モデルを回転させても、図10(C)に示す位置以上には回転しないようになっている。
【0139】
(3)スクリーン分割アルゴリズム
本アルゴリズムは、マルチフォーカスビューで、地理的に離れた領域を表示する手法である。
【0140】
上述したように、本アルゴリズムでは、ユーザによる前記選択領域の拡大又は縮小指示がされた場合においても、表示部に表示される表示画面を分割(スクリーン分割)することによって、前記選択領域の可視性を保証するようになっている。
【0141】
以下、上記アルゴリズムの詳細について説明する。
【0142】
本アルゴリズムでは、木構造データ(木構造)を使用することにより、スクリーン分割を実現している。なお、木構造とは、グラフ理論の木の構造をしたデータ構造を言うが公知の技術であるため、詳しい説明は省略する。
【0143】
各ノードには、図1に示す座標系アルゴリズムの各段階における全てのデータ(パラメータの情報)が記憶されている。葉ノード(ノード)には、表示部(スクリーン)に表示される座標系系列のデータが記憶されている。
【0144】
本アルゴリズムにおいて、初期状態では木構造STは1つのノードSTrootのみを持つ。これは、ノードの数が1なのでスクリーンが分割されていない状態を示すようになっている。
【0145】
STrootの座標系系列で(例えば、矩形が表示されているClient座標系5)、イ)上記矩形の集合Rc全てが表示されない状態であり、かつ、ロ)上記座標系系列のパラメータ補正を行っても修正できなかった場合にスクリーンの分割が行われるようになっている。
【0146】
具体的には、STrootの下に新たに2つのノードSTleaf0及びSTleaf1を作成する。STleaf0及びSTleaf1の初期値は、STrootと同一とする。
【0147】
次に、上記Rcを全て含むように各ノードを補正する。補正は上記座標系系列のパラメータ補正が適用され、具体的には、可視領域の外側に表示される矩形の集合をRciとすると、Rciに最も近いノードを検索し、そのノード内に表示されるようにパラメータを修正していく。
【0148】
本アルゴリズムを実現するためには、分割されたスクリーンには一つの矩形が表示されていることが望ましく、また、前記スクリーンに矩形が全く表示されないことは回避しなければならない。本発明者らは、これらの課題を、式(21)及び式(22)等を用いることにより解決している。
【0149】
NCL+NDL≠0
…式(21)
NCL+NDL≧2
…式(22)
ここで、NCLはあるノードLの可視領域内にあるRcの要素数で、NDLはあるノードLが最も近いと判断された可視領域外のRcの要素数である。
【0150】
式(21)は、分割された一つのスクリーンの中に一つの矩形を必ず表示するための条件を示す式である。NCLとNDLが共に0である場合には、分割されたスクリーンの中に矩形の集合たるRcが存在しないため、分割されたスクリーンの中に矩形が存在しないこととなる。従って、本アルゴリズムにより、スクリーンの中に矩形が存在しないことを回避するために、NCLとNDLの総和が0とならないようにしている。
【0151】
もし、分割されたスクリーンの中に矩形が存在しないノードであるノードN0が発見される場合には、他の分割されたスクリーンの中に2以上の矩形が存在するはずである。即ち、式(22)に示す如く、NCL+NDL≧2となる分割されたスクリーンが存在することとなる。
【0152】
従って、この場合には、ノードN0と最も近接する、NCL+NDL≧2となる分割されたスクリーンであるノードN1を検索し、N1に属する要素RCのうち、最もノードN0に近いものをノードN0として表示させるように修正を行うようになっている。言い換えれば、矩形が2つ以上表示されている分割されたスクリーンから矩形を移動する処理を行うようになっている。
【0153】
本実施例においては、スクリーンの分割態様は表示部における垂直方向又は水平方向とし、分割したスクリーンの面積比は1:1としている。また、分割させるノードは、上記Rciの最も近接するノードを選択する。なお、上記分割態様及び分割させるノードはこれらに限定されるものではなく、任意に変更可能である。
【0154】
上述したように、ユーザにより矩形で選択された領域の拡大又は縮小表示が指示された場合であって、当該領域が表示部に表示されなくなった場合には、新たにノードを作成し、表示部を分割して夫々の領域が表示されるように補正する。
【0155】
その際、新たにノードが作成されると、その親(上述したSTroot)は表示されなくなる。従って、STrootと新たに作成したノードにおける表示態様は、何らの処理も施さない場合には、不連続なものとなってしまう。このことは、STrootと新たに作成したノードとの関連性を視覚的に認識すること、及び、連続性によるコンテキストの認識を妨げる原因となる。
【0156】
本発明者らは、このように新たなノードが作成された場合には、STrootから前記新たに作成されたノードへと表示態様を変化させる場合には、これらを連続するアニメーション表示とするようになっている。これにより、STrootと新たに作成したノードとの関連性を視覚的に認識させ、かつ連続性によるコンテキストの認識及び、突発的な画面遷移を防止している。
【0157】
具体的には、新たに作成されたノードSTleaf0及びSTleaf1の2つをあわせてSTrootと同じに見える座標系系列パラメータをセットする。当該パラメータは、STrootと同様の形態をとることができるが、表示中心(表示される地図の中心部)たるCln0は、分割されたスクリーンでの中心部(中心座標)ではなくSTrootの表示部の中心部(分割される前)に対応する位置とする。
【0158】
その後、ノードSTleaf0及びSTleaf1の表示中心たるCln0を分割されたスクリーン(表示部)の中心部に移動するようになっている。
【0159】
図11(A)及び図11(B)は、スクリーンの分割が行われた場合の画面例を示す図である。図11(A)(a)では、ユーザが地球儀モデルOB上の2つの領域を比較するために、矩形C10及び矩形C11によって領域を指定している。ここで、ユーザの操作により当該2つの領域を拡大表示する旨の指示がされると、当該領域が拡大される態様を連続するアニメーション表示するようになっている(図11(A)(b)及び図11(B)(c))。
【0160】
そして、上述したように、イ)上記矩形の集合Rc全てが表示されない状態であり、かつ、ロ)上記座標系系列のパラメータ補正を行っても修正できなかった場合にスクリーンの分割が行われるようになっている(図11(B)(d))。
【0161】
具体的には、当該二つの領域の拡大表示する過程において、当該二つの領域を表示部の中心部へ表示することが出来なくなった場合(図11(B)(c)の場合であって、これ以上拡大表示を行うと当該二つの領域が表示部に表示されなくなる場合)には、上記のアルゴリズムに従って表示部を分割するようになっている。
【0162】
そして、図11(B)(d)では上記スクリーンが分割された表示態様を示す。境界線DLを隔てて、表示画面DS1には矩形C10で選択された領域が、表示画面DS2には矩形11で選択された領域がそれぞれ表示されるようになっている。
【0163】
また、スクリーンの分割態様はこれに限られるものではなく、境界線DLを表示部の水平方向又は対角線方向に設けてもよく、また、分割は2つに限られず、複数に分割するようにしても良い。
【0164】
次に、図12及び図13を用いて、ユーザにより矩形で選択された領域の拡大又は縮小表示が指示された場合における上記(1)〜(3)のアルゴリズムの動作を説明する。
【0165】
図12及び図13は、ユーザにより矩形で選択された領域の拡大表示が指示された場合における上記(1)〜(3)のアルゴリズムの動作を示すフローチャートである。
【0166】
先ず、矩形を用いた領域指定アルゴリズムによって、ユーザにより矩形で選択された領域の拡大表示が指示されると、Rcの要素が可視領域にあるかが判断される(ステップS1)。
【0167】
可視領域にあると判断されると(ステップS1:YES)、現在の表示態様を係属し、本アルゴリズムの処理を終了する。
【0168】
一方、可視領域にないと判断されると(ステップS1:NO)、上述した座標系系列のパラメータ補正アルゴリズムによって、前記地球儀モデル又は前記地球地図上に作成した矩形を常に可視領域に表示する。
【0169】
次いで、当該補正後において、Rcの要素が可視領域にあるかが判断され(ステップS3)、可視領域にあると判断されると(ステップS3:YES)、現在の表示態様を係属し、本アルゴリズムの処理を終了する。
【0170】
一方、当該補正後においても可視領域にないと判断されると(ステップS3:NO)、スクリーン分割アルゴリズムへと処理が移行する。
【0171】
図13は、スクリーン分割アルゴリズムの動作を示すフローチャートである。
【0172】
スクリーン分割アルゴリズムが実行されると、上述したアルゴリズムによって、表示部のスクリーンが分割される(ステップS11)。
【0173】
そして、上述した式(21)等を用いて、分割されたスクリーンに一つの矩形が表示されているか否か、言い換えれば、分割されたスクリーンのうち矩形が表示されていないスクリーンがあるか否かが判断される(ステップS12)。
【0174】
そして、分割されたスクリーンのうち矩形が表示されていないスクリーンがない場合には処理を終了する(ステップS12:YES)。
【0175】
一方、分割されたスクリーンのうち矩形が表示されていないスクリーンがある場合には(ステップS12:NO)、上述した式(22)等を用いて、矩形が2つ以上表示されている分割されたスクリーンから矩形を移動する処理を行う(ステップS13)。そして処理を終了する。
【0176】
[6.コンテキスト認識の手助け]
本アルゴリズムでは、スクリーンが分割して表示された場合に、分割された表示部たるスクリーンに他の矩形が存在する方向及び距離を示す円が表示されるようになっている。
【0177】
具体的には、分割された他のスクリーンに示される矩形のノードの位置または当該ノードが属する要素RCについてのデータを、Client座標系5の点に変換する。そして、変換した点を中心として、中心から可視領域の端(渕)までの長さを半径とする円を描くようになっている。
【0178】
このようにして、ユーザにより矩形で選択された領域のであって、一のスクリーンに、当該スクリーンに表示されていない前記他の領域の距離及び方向を円の大きさで認識することが出来るようになっている。
【0179】
図14は、当該スクリーンに表示されていない前記他の領域の距離及び方向を円の大きさで表した場合の画面例を示す図である。
【0180】
図14(a)は、ユーザによって、矩形C20及び矩形C21が選択されている様子を示す図である。
【0181】
矩形C20を基準とした他の矩形である矩形C21の方角は地球地図において東側を、矩形C21を基準とした他の矩形である矩形C20の方角は、地球地図において西側を、それぞれ示している。
【0182】
図14(b)は、ユーザによって図14(a)を拡大表示する旨の操作がなされた後の表示画面を示す図である。表示画面DS3には矩形C20で選択された領域が、表示画面DS3には矩形21で選択された領域がそれぞれ表示されるようになっている。そして、矩形C20を基準とした他の矩形C21の方角には、当該方角を示す方法に円P1が、矩形C21を基準とした他の矩形C20の方角には、当該方角を示す方法に円P2がそれぞれ表示されている。また、円の大きさは、当該矩形相互間の距離に応じて任意に変更されるものである。
【0183】
以上説明したように、上記実施形態によれば、地球儀モデルと地球地図を相互に展開可能とし、且つ、展開する態様を連続するアニメーション表示とすることができるため、ユーザに対して、新たな視点で世界を解釈させることができる。
【0184】
また、地球儀モデルと地球地図の地点を矩形により選択し、選択された地点の地図情報を同時に表示することができるため、地図情報の同時比較・検討が可能となる。そしてこれらを通じて、地球地図に対する情報視覚化等をより効果的に実現することができる。
また、ユーザにより矩形で選択された領域のであって、一のスクリーンに、当該スクリーンに表示されていない前記他の領域の距離及び方向を円の大きさで認識することができるため、当該矩形の相互間の距離を視覚的に把握することができる。
【0185】
なお、本実施形態においては、3次元オブジェクトとして地球儀モデルを例にとって説明したが、本発明は、その他の星のオブジェクト等、或いは球を平面に展開する処理に対して適用することができる。
【図面の簡単な説明】
【0186】
【図1】座標系系列の変換及び逆変換の概念を示す概念図である。
【図2】地球儀モデルが回転した場合の表示例を示す図である。
【図3】上記展開又は逆展開する態様を表示する仕組みの一例を示す図である。
【図4】経度方向の変形の様子を示す模式図である。
【図5】円C2の位置関係を表す概念図を示す図である。
【図6(A)】球Eの変形の様子を示す画面例である。
【図6(B)】球Eの変形の様子を示す画面例である。
【図6(C)】球Eの変形の様子を示す画面例である。
【図7】ズームイン操作で生じる問題(1)及び問題(2)の様子を示す画面例である。
【図8】本実施形態にかかるパンから回転へのアルゴリズムを適用した際の画面例を示す図である。
【図9】矩形を用いた領域指定がなされた場合の画面例を示す。
【図10】地球儀モデルにおいて座標系系列のパラメータ補正が適用された場合の概念図を示す。
【図11(A)】スクリーンの分割が行われた場合の画面例を示す図である。
【図11(B)】スクリーンの分割が行われた場合の画面例を示す図である。
【図12】ユーザにより矩形で選択された領域の拡大表示が指示された場合における上記(1)〜(3)のアルゴリズムの動作を示すフローチャートである。
【図13】ユーザにより矩形で選択された領域の拡大表示が指示された場合における上記(1)〜(3)のアルゴリズムの動作を示すフローチャートである。
【図14】当該スクリーンに表示されていない前記他の領域の距離及び方向を円の大きさで表した場合の画面例を示す図である。
【符号の説明】
【0187】
OB 地球儀モデル
DS 表示画面
LM 平面地図
G 中心軸
【技術分野】
【0001】
本発明は、ユーザとインタラクションを可能とする地球地図の表示手法に関し、特に、地球地図の表示態様を変化させることにより、前記地球地図に表示される種々の情報相互間における視覚的な対比が可能な装置及び方法等の技術分野に関する。
【背景技術】
【0002】
近年では、コンピュータ上でインタラクティブに動作する地球地図(例えば、3次元的に視認可能に表示される地球儀モデルや2次元的に視認可能に表示される平面的な地球地図が閲覧可能な、地球儀・世界地図アプリケーション。)が発表され(例えば、Google Earth http://earth.google.co.jp/)、地球地図(以下、3次元的に視認可能に表示される地球儀モデルや2次元的に視認可能に表示される平面的な地球地図を包含するものとする。)に表される種々の情報(例えば、世界各国の地名又は地形等。以下、地図情報とする)の読解だけではなく、インタラクションによる体験を通じてこれら情報を解釈できるようになった。そしてこれらの地球地図は、利用頻度の高い地図ソフトウェアの一つとなっている。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記地球地図は、地球表面を球面や平面などのプリミティブに直接的にマッピングするものが多く、これら地球地図に対するinformation visualization即ち情報視覚化(例えば、情報の俯瞰的な把握、異なる地球地図上の地点における地図情報の細部の比較・検討又は、遠隔地の気候や地形などを同時に表示・観測すること等)はあまり議論されていなかった。
【0004】
一方、上記地球地図を利用する者は、上記情報視覚化を望んでいることが解っている。
【0005】
例えば上記利用者が、例えば異なる地球地図上の地図情報の細部を同時に比較しようとしても、現在広く使用されている上記地球地図は上記比較を実現するマルチフォーカスがサポートされていない等の理由から、上記地図情報の細部の比較・検討等が困難であった。
【0006】
本発明は、この様な点に鑑み、ユーザが地球地図の表示態様を任意に指定しインタラクションによる体験から新たな視点で世界を解釈することや、複数の地図情報の同時比較・検討を可能とするによって、地球地図に対する情報視覚化等をより効果的に実現することを可能としたグラフィック処理装置、グラフィック処理方法、及びグラフィック処理プログラムを提供することを課題の一つとする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、請求項1に記載の発明は、地球表面形状を示す地表データを2次元座標系空間にマッピングし2次元的に視認可能に表示される平面的な地球地図を表示部に表示するとともに、表示された前記地球地図をスクロール表示するスクロール表示手段と、表示された前記地球地図を拡大又は縮小表示する際に、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示する拡大縮小表示手段とを備えたグラフィック処理装置であって、前記地球地図上の領域内の所定地点を選択する選択手段と、選択された前記地点が、前記スクロール表示、拡大表示及び縮小表示いずれの場合においても、常に前記表示部に表示されるように前記地球地図の表示態様を制御する表示態様制御手段とを備える。
【0008】
請求項9に記載の発明は、コンピュータを、請求項1乃至8の何れか一項に記載のグラフィック処理装置として機能させる。
【0009】
請求項10に記載の発明は、地球表面形状を示す地表データを2次元座標系空間にマッピングし2次元的に視認可能に表示される平面的な地球地図を表示部に表示するとともに、表示された前記地球地図をスクロール表示するスクロール表示工程と、表示された前記地球地図を拡大又は縮小表示する際に、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示する拡大縮小表示工程とを備えたグラフィック処理方法であって、前記地球地図上の領域内の所定地点を選択する選択工程と、選択された前記地点が、前記スクロール表示、拡大表示及び縮小表示いずれの場合においても、常に前記表示部に表示されるように前記地球地図の表示態様を制御する表示態様制御工程とを備える。
【発明の効果】
【0010】
本発明によれば、地球儀モデルと地球地図を相互に展開可能とし、且つ、展開する態様を連続するアニメーション表示とすることができるため、ユーザに対して、新たな視点で世界を解釈させることができる。また、地球儀モデルと地球地図の地点を選択し、選択された地点の地図情報を同時に表示することができるため、地図情報の同時比較・検討が可能となる。そしてこれらを通じて、地球地図に対する情報視覚化等をより効果的に実現することができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の最良の実施形態を添付図面に基づいて説明する。
【0012】
本発明に係るグラフィック処理装置及び方法は、処理部(CPU等からなる)、記憶部(VRAM、ROM及びハードディスクドライブ等からなる)、表示部(ディスプレイ等からなる)、及び操作部(マウス及びキーボード等からなる)を備えた汎用のパーソナルコンピュータに対して地球地図作成ソフトウェア(本発明に係る3次元オブジェクト処理プログラムを含む)をインストールして起動させることにより実現される。なお、本実施形態においては、表示色の決定プログラムのリアルタイムな計算処理のため、上記処理部にはGPU(Graphics Processing Unit)が備えられる。
【0013】
そして、本実施形態においては、処理部は、展開表示手段、逆展開表示手段、切替手段、スクロール表示手段、拡大縮小表示手段、及び表示態様制御手段等として機能するようになっている。
【0014】
そして、当該グラフィック処理装置処理部は、処理部が後述する地球地図作成ソフトウェア等を読み出し実行することにより、上述した各手段等として機能するようになっている。
【0015】
[1.基本的なアルゴリズム]
先ず、本実施形態に係る地球地図作成ソフトウェアの基本的なアルゴリズムについて説明する。
【0016】
本アルゴリズムにより、地球表面形状を示す地表データを3次元オブジェクトにマッピングし3次元的に視認可能に表示される地球儀モデルと、前記地表データを2次元座標系空間にマッピングし2次元的に視認可能に表示される平面的な地球地図を表示し、互いに切換可能としている。なお、地球儀モデルの持つ静的データは、地図投影の有無にかかわらず参照、提示可能になっている。
【0017】
そして、前記地球儀モデルと前記地球地図の表示切換は、連続的に変化するアニメーションにより行われる。かかるアニメーションにおいて、展開表示手段としての処理部は、表示された地球儀モデルを展開し平面的な地球地図として表示する際に、前記展開する態様を連続するアニメーション表示として表示するようになっている。また、逆展開表示手段としての処理部は、前記表示された地球地図を逆展開し前記地球儀モデルとして表示する際に、前記逆展開する態様を連続するアニメーション表示として表示するようになっている。
【0018】
切替手段としての処理部は、上記処理部の展開及び逆展開を、ユーザによる操作部からの指示によって連続的に切り替えるようになっている。さらに具体的には、操作部に設けられた操作ボタンのうち単一の種類の当該ボタンを用いて、上記連続的な切替(例えば、ホイールマウスに設けられたホイールのみを用いて、当該ホイールの回転操作によって)を行うことができるようになっている。
【0019】
回転表示手段としての処理部によって、地球儀モードでは、地図に影響を与える地球儀モデルの操作として、ユーザはマウスで地球儀モデルをドラッグしつつ当該マウスを動かす(ポインタを移動させる)ことで、ディスプレイ上に表示された地球儀モデルを回転させることができる。地球儀モデルの回転は、地図投影前の地球儀モデルに適用され、球状態のときに直感的な操作を行うために、そして、ジンバルロックを防ぐために公知のクオータニオンが用いられる。また、地球儀モデルの回転は、平面360度どの方向にも可能になっている。更に、マウスで地球儀モデルをドラッグしつつポインタを移動させたときの速度が計測され、当該速度で地球儀モデルが回転されるようになっている。
【0020】
一方、地図モードでは、地球儀モデルに対して変形及び透視投影を行い平面的な地球地図へと写像される。この場合も、地図平面の対応する位置に緯度及び経度に応じた画像がマッピング(テクスチャマッピング)できるようになっている。
【0021】
なお、本実施形態においては、上記変形による地図投影法の一例として、正距円筒図法と正距方位図法が用いられている。これら投影法は公知であるため詳しい説明は省略するが、正距円筒図法は、直交方眼の縦線を経線、横線を緯線としたもので、全ての経線と赤道上の緯線が正距であるような図法である。また、正距方位図法は、地図の中心点から極座標的に展開していく図法であり、中心からの距離と方向が正しいという特徴を持つ。
【0022】
スクロール表示手段としての処理部は、例えばパン操作と総称される操作を示し、具体的には平面的な地球地図であって表示部に表示しきれない(例えば、ディスプレイの表示エリアに表示することができない)隠れた部位がある場合に、前記隠れた部位を、例えばユーザによる操作部の操作(例えば、マウス及びキーボード等の操作)によって、表示できるようになっている。
【0023】
拡大縮小表示手段としての処理部は、表示された前記地球地図を拡大又は縮小表示する際に、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示するようになっている。
【0024】
表示態様制御手段としての制御部は、選択手段としての操作部の操作(例えば、マウス等による指示)によって、前記選択された前記地点が、前記スクロール表示(パン)、拡大表示及び縮小表示いずれの場合においても、常に前記表示部に表示されるように前記地球地図の表示態様を制御するようになっている。
【0025】
[2.座標系系列アルゴリズム]
次に、本実施形態に係る地球地図作成ソフトウェアの座標系系列アルゴリズムについて説明する。
【0026】
具体的には、(1)地球表面形状を示す地表データを3次元オブジェクトにマッピング(地球儀モデルの作成)し3次元的に視認可能に表示される地球儀モデルの作成に関するアルゴリズム(DataLngLat座標系からDataSphere座標系への変換及び逆変換)、(2)地球儀モデルの回転に関するアルゴリズム(DataSphere座標系からStaticSphere座標系への変換及び逆変換)、(3)前記表示された地球儀モデルを展開し前記地球地図として表示する際に、前記展開する態様を連続するアニメーション表示として表示し、又は、前記表示された地球地図を逆展開し前記地球儀モデルとして表示する際に、前記逆展開する態様を連続するアニメーション表示として表示する場合におけるアルゴリズム(StaticSphere座標系からAtlas座標系への変換及び逆変換)、(4)表示された前記地球地図を拡大又は縮小表示する際に、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示する場合におけるアルゴリズム(Atlas座標系からClient座標系への変換及び逆変換)によって実現されている。
【0027】
以下、図1〜図6を用いて、上記座標系アルゴリズム(1)〜(4)の詳細について説明する。
【0028】
図1は、座標系系列アルゴリズムの概念を示す概念図である。図1において、上述した座標系アルゴリズムの各段階((1)〜(4))で使用する座標系を、それぞれDataLngLat座標系1、DataSphere座標系2、StaticSphere座標系3、Atlas座標系4及びClient座標系5の座標系とする。
【0029】
そして、DataLngLat座標系1からDataSphere座標系2への変換を(a)、逆変換を(h)としている。同様に、DataSphere座標系2からStaticSphere座標系3への変換を(b)その逆変換を(g)、StaticSphere座標系3からAtlas座標系4への変換を(c)その逆変換を(f)、Atlas座標系4からClient座標系5への変換を(d)その逆変換を(e)とする。
【0030】
以下、(1)〜(4)についてさらに詳細に説明する。
【0031】
(1)地球表面形状を示す地表データを3次元オブジェクトにマッピングし3次元的に視認可能に表示される地球儀モデルの作成に関するアルゴリズム(DataLngLat座標系からDataSphere座標系への変換及び逆変換)
地球表面形状を示す地表データを用いて、例えば、標高値、気象データ又は衛星画像等を画像データ化し、描画時にGPUのフラグメントプログラムにより描画色を決定し地球儀モデル又は地球地図として表示させるようになっている。
【0032】
また、地球表面形状を示す地表データは、DataLngLat座標系1に存在する。DataLngLat座標系1において、縦軸lat(latitude)は緯度を、横軸lng(longitude)は経度を示す。
【0033】
地球表面形状を示す地表データは、一例として、UCSDにより提供されているDEM(Digital Elevation Model)であるSRTM30 PLUSを用いている。SRTM30 PLUSはスペースシャトルからの計測による30秒メッシュデータに海底地形データを加えたDEMである。1サンプルあたりおよそ900[m]x900[m]の範囲をカバーしており、サンプル数は経度方向432000 [Sample]、緯度方向216000 [Sample] である。標高は1[m]の精度である。
【0034】
本実施形態では、当該データを256×256の画像にタイル状に分割し、ミップマップのように、精度が2倍低い画像を作成して階層化を行っている。そして、頂点を1枚の画像とする、9階層のピラミッドができる。一般的なLOD(Level of Detail)手法と同様に、ピラミッドからディスプレイに表示される適切なデータを探索する。このとき、地図投影の影響で、ピラミッド内の画像がどのようにディスプレイ座標系に変換されるかを調べることが難しいという問題が発生する。
【0035】
本実施形態では、階層レベルを
floor(λ/Z)
…式(1)
とし、この階層でディスプレイ上に表示されるデータを取得する。
【0036】
ここでλはディスプレイの1ピクセルの大きさである。また、Zは詳しくは後述するが拡大係数を示す。
【0037】
表示されるかどうかの判定は、ディスプレイ座標の位置をランダムに取得し、図1に示す変換(e)から(h)を行い、該当するデータを判定している。メモリ上に保持できるデータ量は限られているので、適宜不要なデータを削除する必要がある。一般的には幾何的な距離が遠いと判断されるデータを削除するが、本実施形態では距離が動的に変化するために、しばらくディスプレイ上に表示されていない画像をメモリから消去するものとする。この判定は、メモリに読み込まれている画像が最後に表示された時刻を保持することで実現できる。
【0038】
この様なDataLngLat座標系1に存在する地球表面形状を示す地表データは、3次元の座標系である、DataSphere座標系2へマッピングされ、地球儀モデルが生成される。当該マッピングは変換(a)で実現され、具体的には下記式(2)で表される。
【0039】
x=cos(lat)・sin(lng)
y=sin(lat)
z=―cos(lat) ・cos(lng)
…式(2)
ここで、latは緯度(latitude)を、lngは経度(longitude)を夫々表す。
【0040】
このようにして、上記地表データに、変換(a)を施すことにより地球儀モデルが生成される。
【0041】
また、変換(h)は変換(a)の逆変換であり、具体的には下記式(3)で表される。
【0042】
Lat=sin−1(y)
Lng=atan2(x、y)
…式(3)
(2)地球儀モデルの回転に関するアルゴリズム(DataSphere座標系からStaticSphere座標系への変換及び逆変換)
上述したように地球儀モデルは、ユーザはマウスで地球儀モデルをドラッグしつつ当該マウスを動かすことで、ディスプレイ上に表示された地球儀モデルを回転させることができる。この様な地球儀モデルの回転は、DataSphere座標系からStaticSphere座標系への変換(b)及び逆変換(g)によって実現されている。
【0043】
変換(b)は下記式(4)で表される。
【0044】
Mb=MIMUMA
…式(4)
ここで、回転に関するアルゴリズムは、一般的に例えば4×4の行列Mで表される。例えば、ある物体をx軸周りに回転した場合に、当該物体上の点(x、y、z)が当該回転によって移動した点(x´、y´、z´)は、行列Mxを用いて、下記式(式5)で表される。
【0045】
【数1】
そして、ある物体に対して、回転に関する要素(例えば、x、y、z各軸周りの回転等)が生じた結果、当該物体が最終的に回転する量(アルゴリズム)は、前記各要素の行列の積で求められる。
【0046】
(式4)の説明に戻り、MIは初期姿勢を示す回転(行列)、MUはユーザ操作による回転、MAは詳しくは後述するがパンを回転行列に置き換えたもので、デフォルト(初期値)はIである。
【0047】
図2は、地球儀モデルが回転した場合の表示例を示す図である。
【0048】
図2(A)の例では、北極が画面の最上端に、南極が画面の最下端に位置しており、北極と南極を通る軸GがDataSphere座標系2及びStaticSphere座標系3のy軸に相当することになる。このような表示状態において、ユーザがマウスで地球をドラッグしつつ当該マウスを例えば右斜め上に動かし停止すると、地球儀モデルOBは、図2(A)中矢印方向に回転し、図2(B)に示すように表示されることになる。図2(B)の例では、北極が画面の最上端に位置されなくなり、南極が画面の最下端に位置されなくなっている。つまり、地球儀モデルOBの回転により、画面の最上端及び画面の最下端には、北極及び南極以外の地点も(例えば、日本も)位置することが可能となる。
【0049】
また、変換(g)は、下記式(6)で表される。
【0050】
Mg=Mb−1
…式(6)
なお、変換(g)は、変換(b)による回転方向を正方向とした場合に、逆方向の回転を示している。
【0051】
(3)前記表示された地球儀モデルを展開し前記地球地図として表示する際に、前記展開する態様を連続するアニメーション表示として表示し、又は、前記表示された地球地図を逆展開し前記地球儀モデルとして表示する際に、前記逆展開する態様を連続するアニメーション表示として表示する場合におけるアルゴリズム(StaticSphere座標系からAtlas座標系への変換及び逆変換)
ここでは、変形及び透視投影を行って、StaticSphere座標系3の地球儀モデルを前記平面的な地球地図としてAtlas座標系4へと写像させている。当該写像によって、前記展開又は逆展開する態様を連続するアニメーション表示として表示するようになっている。
【0052】
まず最初に、正距円筒図法を用いた場合について説明する。
【0053】
以下、上記展開又は逆展開する態様を図3〜図6を用いて、詳細に説明する。
【0054】
図3は、上記展開又は逆展開する態様を表示する仕組みの一例を示す図である。
【0055】
図3の例では、まず、StaticSphere座標系3のz=−1にスクリーンscを配置し、透視投影のために(0, 0, cz)に、z軸正方向を見るカメラCamを配置する。ここで、cz(<−1)は定数的なパラメータで、Camは基本的には動かない。変形を行わない場合は当然ながらAtlas座標空間に球の透視図が描画されるが、球を変形させることで地図の描画も行えるようにする。前記展開又は逆展開する態様を連続するアニメーション表示として表示するためには、この変形を連続的に行う必要があるが、パノラマ画像を俯瞰するためのプロジェクションスクリーンの変形法(Kopf et al. 2007)を地球形状に適用させることで変形を行う。
【0056】
次に、上記変形の様子を詳細に説明する。
【0057】
図4は、経度方向の変形の様子を示す模式図である。
【0058】
まず、中心Ec、半径Erの球Eの変形を行うために、球Eのy=0による断面円C0について考える。これらの関係は式(7)で表される。
【0059】
Ec=(0, 0, 0)
Er=1
…式(7)
円C1は、C0上の点a1と、パラメータαで移動するガイドポイントb1を通り、中心がz軸上に存在する円であるとする。このとき、円C1は、半径C1r、中心C1cである。これらの関係は式(8)で表される。即ち、円C1を変形可能な円として、円C1の形状に応じて上記展開又は逆展開する態様が決定されることとなる。
【0060】
a1=(0, 0, −1)
α∈[0, sin−1(0.5)]
b1=(cos(α), 0, sin(α)−1)
C1r =1/(2sin(α))
C1c =(0, 0, C1r −1)
…式(8)
α =sin−1(0.5)のとき、円C1と円C0は一致し、αが0に近づくにつれて中心C1cがz軸正方向に移動し、半径C1rの値が増加する。即ち、円C1が変形することとなる。また、α=0のときは特別なケースで、z=−1の直線とする。
【0061】
図4では、円C1の移動の一例を、破線の円弧CA〜CDで示している。また、点b1の軌跡は上記αによって、破線部Cb1のようになる。そして、点a1と点b1を結ぶ円弧は円弧tのようになる。
【0062】
従って、上記の条件より、円弧tは、破線部Cb1の軌跡を移動する点b1の値に応じて、変形することとなる。本実施形態では、円弧tの長さは常に、2πであるとする。
【0063】
この円C1に対して円C0の経度を、点a1を基準とした円弧tの長さに対応するように写像を行う。その結果、円C0の経度lngは円C1上の点a2となり、点a2は、式(9)で表される。
【0064】
a2=(C1r・sin(lng/C1r),0,(C1r−1)−C1r・cos(lng/C1r))
…式(9)
そして、球Eの各断面全ての断面において上記写像を行うことによって、経度方向における上記展開又は逆展開する態様を連続するアニメーション表示として表示するようになっている。
【0065】
緯線方向の変換についても上記と同様の手法を採り、変形可能な円C1に代えて円C2を用いている。図5に、円C2の位置関係を表す概念図を示す。
【0066】
円C2は、円C1上の点a2に接し、直線C2L上に中心が存在し、かつ、パラメータβで移動するガイドポイントを表した点b2によって変形する円である。
【0067】
図5(a)に示す如く、円C2の中心は、円C1上の点a2に接し直線C2L上に存在する。図5(b)は、直線C2Lを通りy軸と平行な平面に存在する円C2を示す図である。言い換えれば、円C2は、点a2と点b2を通り、中心が直線C2L上に存在する円である。これらの関係は、式(10)で表される。
【0068】
v=(a2−C1c)/ C1c
b2=a2+(−vx・sin(β), cos(β), −vz・sin(β))
C2L= C1c + v ・t
…式(10)
円C2は、半径C2r、中心C2cとなり、これらの関係は式(11)で表される。
【0069】
C2r=1/(2sin(β))
C2c=((C1r−1/(2sin(β)))・sin(lng/C1r),0,(C1r−1)−(C1r−1/(2sin(β)))・cos(lng/C1r))
…式(11)
そしてこれらの関係から、球Eの緯度経度(lat, lng)は式(12)で表される。
【0070】
x = (C1r+C2r(cos(lat/C2r)−1)) ・sin(lng/C1r)
y = C2r・sin(lat/C2r)
z = C1r−1−(C1r+C2r(cos(lat/C2r) −1)) ・cos(lng/C1r)
…式(12)
このように球Eに写像させる。この写像結果の形状は、主半径C1r−C2r、副半径C2rのトーラスである。
【0071】
本研究では、αとβは独立にパラメータ設定が可能であるが、実際には、αとβが常に同じ値の方が協調的に動作しているように感じられる。以下、説明の簡単のためにα=βでパラメータ設定を行うものとする。
【0072】
図6(A)〜図6(C)は、球Eの変形の様子を示す画面例である。
【0073】
図6(A)(a)〜図6(C)(f)は、上記展開された場合の球Eの変形の様子を示す表示画面DSである。図6(A)(a)は展開前の地球儀モデルを、図6(C)(f)は展開後の地球地図をそれぞれ示している。
【0074】
図6(A)(a)から上記展開が開始されると(上記αが0に近づくにつれて中心C1cがz軸正方向に移動し、半径C1rの値が増加すると)、表示画面DSは、図6(A)(b)、図6(B)(c)、図6(B)(d)、図6(e)と遷移するようになっている。
【0075】
また、正距方位図法についても上記と同様に計算し、球Eの緯度経度(lat, lng)は式(13)で表される。但し、極座標表示となる。
【0076】
x =C1r・sin(q/C1r) ・cos(θ)
y =C1r・sin(q/C1r) ・sin(θ)
z =C1r−1−C1r・cos(r/C1r)
…式(13)
ここで、q、θ及びpは、式(14)で表される。
【0077】
q=cos-1(−p・z)
θ=atan2(p.y,p.x)
p=(cos(lat)・sin(Ing),sin(lat),-cos(lat)・cos(Ing))
…式(14)
この形状にCamからの透視投影を行ったものがAtlas座標(空間)である。
【0078】
以上が、StaticSphere座標系3からAtlas座標系4への変換(c)(即ち、上記展開)であり、その逆変換(f)(即ち、上記逆展開)はCamからのレイとトーラスとの交差位置を計算し、式(12)又は式(13)を、lat及びlngの式に変形して求めることができる。
【0079】
本アルゴリズムを適用した結果、上記アニメーション表示が見た目滑らかに変化するような視覚的効果を奏し、結果的に上記情報視覚化に寄与することとなっている。
【0080】
(4)表示された前記地球地図を拡大又は縮小表示する際に、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示する場合におけるアルゴリズム(Atlas座標系からClient座標系への変換及び逆変換)
ここでは、拡大及び縮小表示を行うために、Atlas座標系の一部を切り出だすための変換を行っている。具体的には、図1の変換(d)が相当し、Atlas座標系の位置ベクトルPAは、Client座標系の位置ベクトルPCへ、式(15)のように変換される。
【0081】
PC=PC0+(PA−PA0)/Z
…式(15)
ここで、PA0はAtlas座標系の基準となる位置ベクトル、PC0はPA0が写像されるClient座標系の基準となる位置ベクトル、Zは拡大係数で、値が大きいほどズームアウト(縮小表示)される。本実施形態では、PC0は、スクリーンの中央位置である。ユーザのパン操作でPA0が、ズーム操作でZが変更される。
【0082】
そして、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示する場合、すなわち、自動でのビュー切替は、変形のパラメータαを拡大率Zに依存させることで実現しており、本実施形態では例えばシグモイド関数を用いて、式(16)で表される。
【0083】
α(=β)=sin-1(0.5)/(1+exp(S0・Z−S1))
…式(16)
式(16)では、パラメータを一又は複数数設定することが可能であることを示している。
【0084】
ここで、パラメータαが単独で用いられる一例としては、正距方位図法を用いて表された地球地図を拡大縮小表示する場合が考えられる。前記正距方位図法は前記地球地図中心部からの距離と方位が正しく表示されているため、前記地球地図を拡大縮小表示する際に一義的に前記拡大縮小率(拡大係数)を決定しても、拡大縮小後に表示される前記比率は拡大縮小前後で変化はない。
【0085】
一方、正距円筒図法を用いて表された地球地図では、前記地球地図の縦方向(図1Client座標系のy軸)を緯度、横方向(図1Client座標系のx軸)を経度と読み替えたもので、標準緯線上と縦方向に関して正距である。従って、前記地球地図を拡大縮小表示する際には前記縦方向及び横方向の拡大率を夫々別個に設定する必要がある。従ってこの場合には、パラメータα及びβを用いることとなる。
【0086】
なお、式(16)のおけるパラメータでは、一例としてシグモイド関数を用いたが、例えば他の指数関数等種々の関数を適用することが可能である。
【0087】
以上が、Atlas座標系4からClient座標系5への変換(d)(即ち、上記展開)であり、その逆変換(e)(即ち、上記逆展開)は式(15)をPAを求める式に置き換えたものである。
【0088】
このようにして、表示部に表示される前記地球地図及び前記地球儀モデルは、Client座標系5に表示されることとなる。言い換えれば、Client座標系5は表示部に表示される座標系を表している。
【0089】
以上のように、本実施形態に係る地球地図作成ソフトウェアの座標系系列アルゴリズムは、地球表面形状を示す地表データから種々の変換(計算)によって実現されている。
【0090】
[3.インターフェースアルゴリズム]
次に、インターフェースアルゴリズムについて説明する。
【0091】
上述した座標系アルゴリズムのパラメータにおいて、ユーザは回転(MU)、パン(PA0)、ズーム(Z)をそれぞれ操作するようになっている。かかる操作は、前記地球儀モデル及び前記地球地図双方において可能であるが、本実施形態においては、前記地球儀モデルにおける回転から前記地球地図におけるパンまでを一の操作で連続的に切り替えることを可能としている。
【0092】
即ち、前記地球儀モデルから前記地球地図への前記展開及び逆展開を一の操作で連続的に切り替えることを可能としている。
【0093】
具体的には、本実施形態では閾値μを用いて、例えば、回転とパンは操作部の一例としてのマウスにおいて同じマウスボタンを割り当てて(さらに具体的には、例えば、ホイールマウスに設けられたホイールの回転操作によって)、地図に展開されているとき、すなわち,α≦μのときにはパン(前記地球地図)を、それ以外のときは回転する(前記地球儀モデル)ように振り分けを行う操作モードを提供する。
【0094】
さらに具体的には、閾値によって前記展開及び前記逆展開を切り替えていることとなる。
【0095】
なお、本発明者らは、閾値は試行錯誤的に決定し,μ=0が自然に感じられることを経験的に確認している。
【0096】
[4.パンから回転へのアルゴリズム]
次に、パンから回転へのアルゴリズムについて説明する。かかるアルゴリズムは、前記地球儀モデル及び前記地球地図双方において可能であるが、本実施形態においては、前記地球儀モデルにおける回転から前記地球地図におけるパンまでを一の操作で連続的に切り替えることを可能としている。即ち、前記地球儀モデルから前記地球地図への前記展開及び逆展開におけるアルゴリズムについて示すものである。
【0097】
具体的には、例えば、ユーザは前記地球地図に対してパンを行い,PC0すなわちスクリーン中央に対応するPA0を操作する。今、PA0が表示画面の原点位置(例えば、表示部の座標である(0、0)以外、若しくは表示中心部)以外の状態で(少しでもパン操作が行われた状態で)、ユーザが拡大表示(ズームイン)の操作を行ったとする。このとき、ユーザはズームインする直前にPC0で表示されていたデータ付近が拡大(逆展開)されていくことを期待する。しかし、ズームインと地球(地球儀モデル)の変形を同期させた場合、問題(1)として変換(c)の球の変形は、Static Sphere座標系3のz軸上を中心として行われているため,PC0にはズームイン前後で異なるデータが表示されてしまうこと、及び問題(2)としてPA0は上記表示画面の原点位置ではないので,地球儀モデル(地球儀モデル)の中心はスクリーン中央PC0以外の場所に位置してしまうこと等の問題点が生じることを、本発明者らは、経験的に確認している。
【0098】
そこで、本発明者らは、PC0ではズームインの前後で常に同じデータを表示し,地球儀モデルが表示されている時にはPC0に球の中心が位置していくような処理(パンから回転へのアルゴリズム)について考案した。以下、図7及び図8等を参照して、当該パンから回転へのアルゴリズムについて詳しく説明する。
【0099】
なお、図7はズームイン操作で生じる問題(1)及び問題(2)の様子を示す画面例である。図7において、図7(A)はユーザが地球地図に対してパンを行った後の様子を示す画面例を、図7(B)では、前記パンの後にユーザがズームインを開始し前記逆展開が開始された様子を示す画面例を、図7(C)はさらにズームインを継続した様子を示す画面例をそれぞれ示している。
【0100】
かかるアルゴリズムでは,ズームインするにつれてPA0を自動的に表示画面の原点位置(例えば、上記座標(0,0))に近づくように補正を行なうことで問題(2)を解決している。そして、問題(1)はこの補正されていくPA0を考慮しつつ,PC0にはズーム前後で同じデータを表示させる必要がある。そこで、当該アルゴリズムでは、表示が期待されるデータと,表示されてしまうデータの差分を,回転行列に置き換えるアプローチを行う。上述した、変換(b)のMAは,この置き換えた結果の回転行列である。
【0101】
まず、PA0の補正を行う。補正後の位置PA0’は係数kを用いて、式(17)で表される。
【0102】
PA0’=PA0・kr
k=1−α/sin−1(0.5)
…式(17)
ここで、係数kは,地球地図(上述したα=0の場合)が地球儀モデル(α=sin−1(0.5))に変形していくにつれて1から0に変化する値となる。rは補正の「速さ」を調整するパラメータであり、本実施形態ではr=3としているが、任意に変更することができる。
【0103】
次に、補正後の位置ベクトルPA0’で表示されるデータ(表示されてしまうデータ)の経度および緯度(変換(f)及び(h)により求める)と、ズームイン前にPC0で表示されていたデータ(表示が期待されるデータ)の経度および緯度(変換(e)及び(h)により求める)の差を回転行列MAで表現する。
【0104】
回転行列MAは使用する地図投影法によって異なる値を設定する。正距円筒図法の場合,地図の上が北となるように経度と緯度の回転を分けて,式(18)で表される。
【0105】
MA=MAx・MAy
…式(18)
ここで、MAxはx軸を回転軸として緯度の差だけ回転させる行列で、MAyはy軸を回転軸として経度の差だけ回転させる行列である。
【0106】
正距方位図法の場合、MAはDataSphere座標系で最短経路をとるような回転行列とする。
【0107】
図8は、本実施形態にかかるパンから回転へのアルゴリズムを適用した際の画面例を示す図である。
【0108】
図8(A)はユーザがズームインの操作を開始した時の表示部の画面例であり、図8(B)〜(D)は当該アルゴリズムによってズームインするにつれてPAOを自動的に表示画面の原点位置に近づくように補正を行なう様子を示す図である。
【0109】
当該アルゴリズムを適用することによって、ズームイン後においても最終的には図8(D)に示す如く、地球の中心はスクリーン中央PC0の場所に位置するようになっている。
【0110】
[5.任意の領域同士の比較を可能とするアルゴリズム]
次に、本実施形態に係る地球地図作成ソフトウェアにおいて、表示された前記地球儀モデル及び前記地球地図における、任意の領域同士の比較を可能とするアルゴリズムについて説明する。
【0111】
当該任意の領域同士の比較を可能とするアルゴリズムは、より詳細には、(1)矩形を用いた領域指定アルゴリズム、(2)座標系系列のパラメータ補正アルゴリズム、(3)スクリーン分割アルゴリズム、及び(4)コンテキスト認識アルゴリズムにより実現される。
【0112】
まず、(1)矩形を用いた領域指定アルゴリズムによって、ユーザは、前記地球儀モデル又は前期地球地図上の任意の領域を選択(例えば、矩形によって領域を選択)する。
【0113】
そして、(2)座標系系列のパラメータ補正アルゴリズムによって、ユーザが任意に指定した前記地球儀モデル又は前期地球地図上の領域を、常に表示部に表示されることを保証する(例えば、表示部の中心部へ表示することを保証する)ようになっている。
【0114】
そして、(3)スクリーン分割アルゴリズムによって、ユーザにより当該領域の拡大又は縮小表示が指示された場合であって、当該領域が表示部に表示されなくなった場合(表示部の中心部に表示されなくなった場合)には、例えば、姿勢やビューの補正を行い表示画面内に表示されるように補正する。
【0115】
この様な補正では解決しなかった場合(例えば、前記領域が複数選択された場合であって、双方の前記領域が表示画面に表示できなくなった場合等)には、表示部を分割して夫々の領域が表示されるように補正する。前記分割を行う際には、表示部の中心点の移動やそれに伴う前記の姿勢などを再計算する必要があるが、これらを連続するアニメーション表示とする(ここで発生するモーションを連続的に処理する)ことで、突発的な画面遷移を防止している。
【0116】
また、(4)コンテキスト認識アルゴリズムでは、前記複数選択された領域同士の認識を補完するようになっている。
【0117】
以下、図9〜図14を用いて、上記アルゴリズム(1)〜(4)の詳細について説明する。
【0118】
(1)矩形を用いた領域指定アルゴリズム
上述したように、本アルゴリズムによって、ユーザは前記地球儀モデル又は前記地球地図上の任意の領域を選択することができる。具体的には、操作部の一例としてマウスのドラッグ操作によって、表示部に表示された前記地球儀モデル又は前記地球地図上の任意の地点に矩形を作成する。
【0119】
図9に、矩形を用いた領域指定がなされた場合の画面例を示す。図9(A)は地球地図において矩形を用いた領域指定がなされた場合の画面例を、図9(B)は地球儀モデルにおいて矩形を用いた領域指定がなされた場合の画面例をそれぞれ示している。
【0120】
図9(A)では、表示画面DSに地球地図LMが表示され、矩形C1及び矩形C2によって任意の領域が選択されている。また、図9(B)では、表示画面DSに地球儀モデルOBが表示され、矩形C3及び矩形C4によって任意の領域が選択されている。
【0121】
上記矩形の作成によって、上記矩形が、Client座標系5に写像されているデータ(例えば、矩形が作成された地点における現実の緯度経度情報等)を選択していることとなるが、当該選択されたデータに対して、図1における変換(e)、変換(f)及び変換(g)を行うことにより、DataSphere座標系2において領域が選択されたこととしている。そして、DataSphere座標系2からClient座標系5に再度変換して矩形が描画されるようになっている。
【0122】
ここで、例えば、前記地球儀モデル上に矩形を作成し、その後、回転(変換(b)又は(g))や、展開(変換(c))または逆展開(変換(f))等の操作後に、当該矩形を表示させるため、Client座標系5に変換すると、矩形ではなくなってしまう。
【0123】
すなわち、前記地球儀モデル上の任意の地点を矩形で選択することを正確に表現するためには、当該選択された領域は、前記地球儀モデルが表す地表とオフセットの関係(地表形状に沿った形状)になるはずであるため、矩形ではなくなってしまう。
【0124】
このことは、選択された領域の認識及び操作を困難にする原因となる。そこで、本アルゴリズムでは、Client座標系5で常に矩形で表示操作されるように補正が行われるようになっている。
【0125】
具体的には、Client座標系5で作成された矩形の中心と上下左右の5点を代表点として変換(計算)に用いている。各前記代表点は変換(e)、変換(f)及び変換(g)で、対応するDataSphere座標系2の位置を取得する。各前記代表点はClient座標系5に再度変換されたときに矩形となるように補正される。
【0126】
さらに具体的には、各前記代表点のうち前記中心の点を基準とし、前記上下点及び左右の点の位置を平均とし直線となるように再配置し、前記中心点以外の各点を矩形となるように直線で結ぶ。そして、前記矩形の各辺のうち隣り合う辺の成す角が直角となるように補正し、再度矩形として表示する。
【0127】
(2)座標系系列のパラメータ補正アルゴリズム
座標系系列のパラメータ補正アルゴリズムによって、ユーザが任意に指定した前記地球儀モデル又は前記地球地図上の領域を、常に表示部に表示される(可視領域にある)ことを保証するようになっている。即ち、前記地球儀モデル又は前記地球地図上に作成した矩形を常に可視領域に表示するようになっている。
【0128】
上記矩形での選択後に、ユーザが地球儀モデルを回転又は地球地図をパン(操作)すると、上記矩形が可視領域から消失する場合がある。本アルゴリズムでは、この様な矩形の消失する場合には、上記回転又はパンを制限するようになっている。
【0129】
具体的には、上記矩形で選択された集合をRcとし、式(19)で表す。
【0130】
Rc={Rc0、・・・、Rcn-1}
…式(19)
ここで、Rcは、例えば、Client座標系5の座標情報のうち上記矩形で選択された範囲内の座標を示す。そして、Rcの任意の要素をRciとする。
【0131】
Rciが可視領域にあるか否かは、式(20)によって判断される。
【0132】
【数2】
ここで、J1は矩形が表を向いているか否か(可視領域に表示されているか)を、J2は矩形の中心(座標)が可視領域にあるか否かを、そして、J3は矩形がClient座標系5の中心(座標)を含むかどうかを、それぞれ示す。
【0133】
そして、式(20)によって、Rciが可視領域にないと判断された場合には、Rciを可視領域に戻す操作を行う。
【0134】
また、発明者らは、上記J2と、上記J3を実際の値(実測値)よりも小さい値とすることにより、実際に可視領域に含まれる上記矩形の面積比率が多くなり、さらに視認可能となることを経験的に確認している。
【0135】
図10に、地球儀モデルにおいて座標系系列のパラメータ補正が適用された場合の概念図を示す。
【0136】
図10(A)では、表示画面DSに表示された地球儀モデルOBにおいて、ユーザは、矩形C5によって、地球儀モデル上の領域を選択している。今、ユーザの操作によって、矢印AR1又は矢印AR2方向へ地球儀モデルを回転したとする。
【0137】
図10(B)は、矢印AR1方向へ地球儀モデルを回転させた場合の画面例を示す図である。矢印AR1方向へ回転された地球儀モデルは、式(20)によって、矩形C5が可視領域に表示される範囲内において当該矢印AR1方向へ回転するようになっている。従って、ユーザがさらに矢印AR1方向へ当該地球儀モデルを回転させても、図10(B)に示す位置以上には回転しないようになっている。
【0138】
図10(C)は、矢印AR2方向へ地球儀モデルを回転させた場合の画面例を示す図である。矢印AR2方向へ回転された地球儀モデルは、式(20)によって、矩形C5が可視領域に表示される範囲内において当該矢印AR2方向へ回転するようになっている。従って、ユーザがさらに矢印AR2方向へ当該地球儀モデルを回転させても、図10(C)に示す位置以上には回転しないようになっている。
【0139】
(3)スクリーン分割アルゴリズム
本アルゴリズムは、マルチフォーカスビューで、地理的に離れた領域を表示する手法である。
【0140】
上述したように、本アルゴリズムでは、ユーザによる前記選択領域の拡大又は縮小指示がされた場合においても、表示部に表示される表示画面を分割(スクリーン分割)することによって、前記選択領域の可視性を保証するようになっている。
【0141】
以下、上記アルゴリズムの詳細について説明する。
【0142】
本アルゴリズムでは、木構造データ(木構造)を使用することにより、スクリーン分割を実現している。なお、木構造とは、グラフ理論の木の構造をしたデータ構造を言うが公知の技術であるため、詳しい説明は省略する。
【0143】
各ノードには、図1に示す座標系アルゴリズムの各段階における全てのデータ(パラメータの情報)が記憶されている。葉ノード(ノード)には、表示部(スクリーン)に表示される座標系系列のデータが記憶されている。
【0144】
本アルゴリズムにおいて、初期状態では木構造STは1つのノードSTrootのみを持つ。これは、ノードの数が1なのでスクリーンが分割されていない状態を示すようになっている。
【0145】
STrootの座標系系列で(例えば、矩形が表示されているClient座標系5)、イ)上記矩形の集合Rc全てが表示されない状態であり、かつ、ロ)上記座標系系列のパラメータ補正を行っても修正できなかった場合にスクリーンの分割が行われるようになっている。
【0146】
具体的には、STrootの下に新たに2つのノードSTleaf0及びSTleaf1を作成する。STleaf0及びSTleaf1の初期値は、STrootと同一とする。
【0147】
次に、上記Rcを全て含むように各ノードを補正する。補正は上記座標系系列のパラメータ補正が適用され、具体的には、可視領域の外側に表示される矩形の集合をRciとすると、Rciに最も近いノードを検索し、そのノード内に表示されるようにパラメータを修正していく。
【0148】
本アルゴリズムを実現するためには、分割されたスクリーンには一つの矩形が表示されていることが望ましく、また、前記スクリーンに矩形が全く表示されないことは回避しなければならない。本発明者らは、これらの課題を、式(21)及び式(22)等を用いることにより解決している。
【0149】
NCL+NDL≠0
…式(21)
NCL+NDL≧2
…式(22)
ここで、NCLはあるノードLの可視領域内にあるRcの要素数で、NDLはあるノードLが最も近いと判断された可視領域外のRcの要素数である。
【0150】
式(21)は、分割された一つのスクリーンの中に一つの矩形を必ず表示するための条件を示す式である。NCLとNDLが共に0である場合には、分割されたスクリーンの中に矩形の集合たるRcが存在しないため、分割されたスクリーンの中に矩形が存在しないこととなる。従って、本アルゴリズムにより、スクリーンの中に矩形が存在しないことを回避するために、NCLとNDLの総和が0とならないようにしている。
【0151】
もし、分割されたスクリーンの中に矩形が存在しないノードであるノードN0が発見される場合には、他の分割されたスクリーンの中に2以上の矩形が存在するはずである。即ち、式(22)に示す如く、NCL+NDL≧2となる分割されたスクリーンが存在することとなる。
【0152】
従って、この場合には、ノードN0と最も近接する、NCL+NDL≧2となる分割されたスクリーンであるノードN1を検索し、N1に属する要素RCのうち、最もノードN0に近いものをノードN0として表示させるように修正を行うようになっている。言い換えれば、矩形が2つ以上表示されている分割されたスクリーンから矩形を移動する処理を行うようになっている。
【0153】
本実施例においては、スクリーンの分割態様は表示部における垂直方向又は水平方向とし、分割したスクリーンの面積比は1:1としている。また、分割させるノードは、上記Rciの最も近接するノードを選択する。なお、上記分割態様及び分割させるノードはこれらに限定されるものではなく、任意に変更可能である。
【0154】
上述したように、ユーザにより矩形で選択された領域の拡大又は縮小表示が指示された場合であって、当該領域が表示部に表示されなくなった場合には、新たにノードを作成し、表示部を分割して夫々の領域が表示されるように補正する。
【0155】
その際、新たにノードが作成されると、その親(上述したSTroot)は表示されなくなる。従って、STrootと新たに作成したノードにおける表示態様は、何らの処理も施さない場合には、不連続なものとなってしまう。このことは、STrootと新たに作成したノードとの関連性を視覚的に認識すること、及び、連続性によるコンテキストの認識を妨げる原因となる。
【0156】
本発明者らは、このように新たなノードが作成された場合には、STrootから前記新たに作成されたノードへと表示態様を変化させる場合には、これらを連続するアニメーション表示とするようになっている。これにより、STrootと新たに作成したノードとの関連性を視覚的に認識させ、かつ連続性によるコンテキストの認識及び、突発的な画面遷移を防止している。
【0157】
具体的には、新たに作成されたノードSTleaf0及びSTleaf1の2つをあわせてSTrootと同じに見える座標系系列パラメータをセットする。当該パラメータは、STrootと同様の形態をとることができるが、表示中心(表示される地図の中心部)たるCln0は、分割されたスクリーンでの中心部(中心座標)ではなくSTrootの表示部の中心部(分割される前)に対応する位置とする。
【0158】
その後、ノードSTleaf0及びSTleaf1の表示中心たるCln0を分割されたスクリーン(表示部)の中心部に移動するようになっている。
【0159】
図11(A)及び図11(B)は、スクリーンの分割が行われた場合の画面例を示す図である。図11(A)(a)では、ユーザが地球儀モデルOB上の2つの領域を比較するために、矩形C10及び矩形C11によって領域を指定している。ここで、ユーザの操作により当該2つの領域を拡大表示する旨の指示がされると、当該領域が拡大される態様を連続するアニメーション表示するようになっている(図11(A)(b)及び図11(B)(c))。
【0160】
そして、上述したように、イ)上記矩形の集合Rc全てが表示されない状態であり、かつ、ロ)上記座標系系列のパラメータ補正を行っても修正できなかった場合にスクリーンの分割が行われるようになっている(図11(B)(d))。
【0161】
具体的には、当該二つの領域の拡大表示する過程において、当該二つの領域を表示部の中心部へ表示することが出来なくなった場合(図11(B)(c)の場合であって、これ以上拡大表示を行うと当該二つの領域が表示部に表示されなくなる場合)には、上記のアルゴリズムに従って表示部を分割するようになっている。
【0162】
そして、図11(B)(d)では上記スクリーンが分割された表示態様を示す。境界線DLを隔てて、表示画面DS1には矩形C10で選択された領域が、表示画面DS2には矩形11で選択された領域がそれぞれ表示されるようになっている。
【0163】
また、スクリーンの分割態様はこれに限られるものではなく、境界線DLを表示部の水平方向又は対角線方向に設けてもよく、また、分割は2つに限られず、複数に分割するようにしても良い。
【0164】
次に、図12及び図13を用いて、ユーザにより矩形で選択された領域の拡大又は縮小表示が指示された場合における上記(1)〜(3)のアルゴリズムの動作を説明する。
【0165】
図12及び図13は、ユーザにより矩形で選択された領域の拡大表示が指示された場合における上記(1)〜(3)のアルゴリズムの動作を示すフローチャートである。
【0166】
先ず、矩形を用いた領域指定アルゴリズムによって、ユーザにより矩形で選択された領域の拡大表示が指示されると、Rcの要素が可視領域にあるかが判断される(ステップS1)。
【0167】
可視領域にあると判断されると(ステップS1:YES)、現在の表示態様を係属し、本アルゴリズムの処理を終了する。
【0168】
一方、可視領域にないと判断されると(ステップS1:NO)、上述した座標系系列のパラメータ補正アルゴリズムによって、前記地球儀モデル又は前記地球地図上に作成した矩形を常に可視領域に表示する。
【0169】
次いで、当該補正後において、Rcの要素が可視領域にあるかが判断され(ステップS3)、可視領域にあると判断されると(ステップS3:YES)、現在の表示態様を係属し、本アルゴリズムの処理を終了する。
【0170】
一方、当該補正後においても可視領域にないと判断されると(ステップS3:NO)、スクリーン分割アルゴリズムへと処理が移行する。
【0171】
図13は、スクリーン分割アルゴリズムの動作を示すフローチャートである。
【0172】
スクリーン分割アルゴリズムが実行されると、上述したアルゴリズムによって、表示部のスクリーンが分割される(ステップS11)。
【0173】
そして、上述した式(21)等を用いて、分割されたスクリーンに一つの矩形が表示されているか否か、言い換えれば、分割されたスクリーンのうち矩形が表示されていないスクリーンがあるか否かが判断される(ステップS12)。
【0174】
そして、分割されたスクリーンのうち矩形が表示されていないスクリーンがない場合には処理を終了する(ステップS12:YES)。
【0175】
一方、分割されたスクリーンのうち矩形が表示されていないスクリーンがある場合には(ステップS12:NO)、上述した式(22)等を用いて、矩形が2つ以上表示されている分割されたスクリーンから矩形を移動する処理を行う(ステップS13)。そして処理を終了する。
【0176】
[6.コンテキスト認識の手助け]
本アルゴリズムでは、スクリーンが分割して表示された場合に、分割された表示部たるスクリーンに他の矩形が存在する方向及び距離を示す円が表示されるようになっている。
【0177】
具体的には、分割された他のスクリーンに示される矩形のノードの位置または当該ノードが属する要素RCについてのデータを、Client座標系5の点に変換する。そして、変換した点を中心として、中心から可視領域の端(渕)までの長さを半径とする円を描くようになっている。
【0178】
このようにして、ユーザにより矩形で選択された領域のであって、一のスクリーンに、当該スクリーンに表示されていない前記他の領域の距離及び方向を円の大きさで認識することが出来るようになっている。
【0179】
図14は、当該スクリーンに表示されていない前記他の領域の距離及び方向を円の大きさで表した場合の画面例を示す図である。
【0180】
図14(a)は、ユーザによって、矩形C20及び矩形C21が選択されている様子を示す図である。
【0181】
矩形C20を基準とした他の矩形である矩形C21の方角は地球地図において東側を、矩形C21を基準とした他の矩形である矩形C20の方角は、地球地図において西側を、それぞれ示している。
【0182】
図14(b)は、ユーザによって図14(a)を拡大表示する旨の操作がなされた後の表示画面を示す図である。表示画面DS3には矩形C20で選択された領域が、表示画面DS3には矩形21で選択された領域がそれぞれ表示されるようになっている。そして、矩形C20を基準とした他の矩形C21の方角には、当該方角を示す方法に円P1が、矩形C21を基準とした他の矩形C20の方角には、当該方角を示す方法に円P2がそれぞれ表示されている。また、円の大きさは、当該矩形相互間の距離に応じて任意に変更されるものである。
【0183】
以上説明したように、上記実施形態によれば、地球儀モデルと地球地図を相互に展開可能とし、且つ、展開する態様を連続するアニメーション表示とすることができるため、ユーザに対して、新たな視点で世界を解釈させることができる。
【0184】
また、地球儀モデルと地球地図の地点を矩形により選択し、選択された地点の地図情報を同時に表示することができるため、地図情報の同時比較・検討が可能となる。そしてこれらを通じて、地球地図に対する情報視覚化等をより効果的に実現することができる。
また、ユーザにより矩形で選択された領域のであって、一のスクリーンに、当該スクリーンに表示されていない前記他の領域の距離及び方向を円の大きさで認識することができるため、当該矩形の相互間の距離を視覚的に把握することができる。
【0185】
なお、本実施形態においては、3次元オブジェクトとして地球儀モデルを例にとって説明したが、本発明は、その他の星のオブジェクト等、或いは球を平面に展開する処理に対して適用することができる。
【図面の簡単な説明】
【0186】
【図1】座標系系列の変換及び逆変換の概念を示す概念図である。
【図2】地球儀モデルが回転した場合の表示例を示す図である。
【図3】上記展開又は逆展開する態様を表示する仕組みの一例を示す図である。
【図4】経度方向の変形の様子を示す模式図である。
【図5】円C2の位置関係を表す概念図を示す図である。
【図6(A)】球Eの変形の様子を示す画面例である。
【図6(B)】球Eの変形の様子を示す画面例である。
【図6(C)】球Eの変形の様子を示す画面例である。
【図7】ズームイン操作で生じる問題(1)及び問題(2)の様子を示す画面例である。
【図8】本実施形態にかかるパンから回転へのアルゴリズムを適用した際の画面例を示す図である。
【図9】矩形を用いた領域指定がなされた場合の画面例を示す。
【図10】地球儀モデルにおいて座標系系列のパラメータ補正が適用された場合の概念図を示す。
【図11(A)】スクリーンの分割が行われた場合の画面例を示す図である。
【図11(B)】スクリーンの分割が行われた場合の画面例を示す図である。
【図12】ユーザにより矩形で選択された領域の拡大表示が指示された場合における上記(1)〜(3)のアルゴリズムの動作を示すフローチャートである。
【図13】ユーザにより矩形で選択された領域の拡大表示が指示された場合における上記(1)〜(3)のアルゴリズムの動作を示すフローチャートである。
【図14】当該スクリーンに表示されていない前記他の領域の距離及び方向を円の大きさで表した場合の画面例を示す図である。
【符号の説明】
【0187】
OB 地球儀モデル
DS 表示画面
LM 平面地図
G 中心軸
【特許請求の範囲】
【請求項1】
地球表面形状を示す地表データを2次元座標系空間にマッピングし2次元的に視認可能に表示される平面的な地球地図を表示部に表示するとともに、
表示された前記地球地図をスクロール表示するスクロール表示手段と、
表示された前記地球地図を拡大又は縮小表示する際に、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示する拡大縮小表示手段とを備えた
グラフィック処理装置であって、
前記地球地図上の領域内の所定地点を選択する選択手段と、
選択された前記地点が、前記スクロール表示、拡大表示及び縮小表示いずれの場合においても、常に前記表示部に表示されるように前記地球地図の表示態様を制御する表示態様制御手段と、
を備えることを特徴とするグラフィック制御装置。
【請求項2】
請求項1に記載のグラフィック処理装置において、
前記表示態様制御手段は、選択された前記地点の中心部を前記表示部の中心部へ表示させるように前記地球地図の表示態様を制御し、
前記拡大縮小表示手段を一の操作で連続的に表示させる操作手段をさらに備えたことを特徴とするグラフィック処理装置。
【請求項3】
請求項2に記載のグラフィック処理装置において、
前記選択手段は少なくとも2以上の地球地図上の地点を選択し、
前記表示態様制御手段は、選択された各前記地点の中心部を前記表示部の中心部へ表示させるために前記表示部を前記地点毎に分割し、前記分割された表示部の中心に各前期地点の中心部を表示することを特徴とするグラフィック処理装置。
【請求項4】
請求項2又は3何れか一項に記載のグラフィック装置において、
前記選択手段は2つの地球地図上の地点を選択し、
前記表示態様制御手段が、選択された前記地点を表示するために前記表示部を前記地点毎に分割して表示した場合に、前記分割表示された一の表示部に表示される前記地点が示す位置に他の前記地点の方向及び距離を示す円を表示することを特徴とするグラフィック処理装置。
【請求項5】
請求項1に記載のグラフィック処理装置において、
前記グラフィック処理装置は、
地球表面形状を示す地表データを3次元オブジェクトにマッピングし3次元的に視認可能に表示される地球儀モデルをさらに前記表示部に表示し、
表示された前記地球儀モデルを回転表示する回転表示手段と、
前記表示された地球儀モデルを展開し前記地球地図として表示する際に、前記展開する態様を連続するアニメーション表示として表示する展開表示手段と、
前記表示された地球地図を逆展開し前記地球儀モデルとして表示する際に、前記逆展開する態様を連続するアニメーション表示として表示する逆展開表示手段と、
前記展開表示手段と前記逆展開表示手段をユーザによる操作部からの指示によって連続的に切り替える切替手段と、
を更に備え、
前記選択手段は、さらに前記地球儀モデルの地点を選択し、
前記表示態様制御手段は、さらに前記回転表示する際においても、前記表示部に常に前記表示部に表示されるように前記地球地図の表示態様を制御することを特徴とするグラフィック制御装置。
【請求項6】
請求項5に記載のグラフィック処理装置において、
前記表示態様制御手段は、選択された前記地点の中心部を前記表示部の中心部へ表示させるように前記地球地図の表示態様を制御することを特徴とするグラフィック処理装置。
【請求項7】
請求項5に記載のグラフィック処理装置において、
前記選択手段は少なくとも2以上の地球儀モデル又は地球地図上の地点を選択し、
前記表示態様制御手段は、選択された各前記地点の中心部を前記表示部の中心部へ表示させるために前記表示部を前記地点毎に分割し、前記分割された表示部の中心に各前期地点の中心部を表示することを特徴とするグラフィック処理装置。
【請求項8】
請求項6又は7何れか一項に記載のグラフィック装置において、
前記選択手段は2つの地球儀モデル上の地点又は地球地図上の地点を選択し、
前記表示態様制御手段が、選択された前記地点を表示するために前記表示部を前記地点毎に分割して表示した場合に、前記分割表示された一の表示部に表示される前記地点が示す位置に他の前記地点の方向及び距離を示す円を表示することを特徴とするグラフィック処理装置。
【請求項9】
コンピュータを、請求項1乃至8の何れか一項に記載のグラフィック処理装置として機能させることを特徴とするグラフィック処理プログラム。
【請求項10】
地球表面形状を示す地表データを2次元座標系空間にマッピングし2次元的に視認可能に表示される平面的な地球地図を表示部に表示するとともに、
表示された前記地球地図をスクロール表示するスクロール表示工程と、
表示された前記地球地図を拡大又は縮小表示する際に、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示する拡大縮小表示工程とを備えた
グラフィック処理方法であって、
前記地球地図上の領域内の所定地点を選択する選択工程と、
選択された前記地点が、前記スクロール表示、拡大表示及び縮小表示いずれの場合においても、常に前記表示部に表示されるように前記地球地図の表示態様を制御する表示態様制御工程と、
を備えることを特徴とするグラフィック処理方法。
【請求項1】
地球表面形状を示す地表データを2次元座標系空間にマッピングし2次元的に視認可能に表示される平面的な地球地図を表示部に表示するとともに、
表示された前記地球地図をスクロール表示するスクロール表示手段と、
表示された前記地球地図を拡大又は縮小表示する際に、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示する拡大縮小表示手段とを備えた
グラフィック処理装置であって、
前記地球地図上の領域内の所定地点を選択する選択手段と、
選択された前記地点が、前記スクロール表示、拡大表示及び縮小表示いずれの場合においても、常に前記表示部に表示されるように前記地球地図の表示態様を制御する表示態様制御手段と、
を備えることを特徴とするグラフィック制御装置。
【請求項2】
請求項1に記載のグラフィック処理装置において、
前記表示態様制御手段は、選択された前記地点の中心部を前記表示部の中心部へ表示させるように前記地球地図の表示態様を制御し、
前記拡大縮小表示手段を一の操作で連続的に表示させる操作手段をさらに備えたことを特徴とするグラフィック処理装置。
【請求項3】
請求項2に記載のグラフィック処理装置において、
前記選択手段は少なくとも2以上の地球地図上の地点を選択し、
前記表示態様制御手段は、選択された各前記地点の中心部を前記表示部の中心部へ表示させるために前記表示部を前記地点毎に分割し、前記分割された表示部の中心に各前期地点の中心部を表示することを特徴とするグラフィック処理装置。
【請求項4】
請求項2又は3何れか一項に記載のグラフィック装置において、
前記選択手段は2つの地球地図上の地点を選択し、
前記表示態様制御手段が、選択された前記地点を表示するために前記表示部を前記地点毎に分割して表示した場合に、前記分割表示された一の表示部に表示される前記地点が示す位置に他の前記地点の方向及び距離を示す円を表示することを特徴とするグラフィック処理装置。
【請求項5】
請求項1に記載のグラフィック処理装置において、
前記グラフィック処理装置は、
地球表面形状を示す地表データを3次元オブジェクトにマッピングし3次元的に視認可能に表示される地球儀モデルをさらに前記表示部に表示し、
表示された前記地球儀モデルを回転表示する回転表示手段と、
前記表示された地球儀モデルを展開し前記地球地図として表示する際に、前記展開する態様を連続するアニメーション表示として表示する展開表示手段と、
前記表示された地球地図を逆展開し前記地球儀モデルとして表示する際に、前記逆展開する態様を連続するアニメーション表示として表示する逆展開表示手段と、
前記展開表示手段と前記逆展開表示手段をユーザによる操作部からの指示によって連続的に切り替える切替手段と、
を更に備え、
前記選択手段は、さらに前記地球儀モデルの地点を選択し、
前記表示態様制御手段は、さらに前記回転表示する際においても、前記表示部に常に前記表示部に表示されるように前記地球地図の表示態様を制御することを特徴とするグラフィック制御装置。
【請求項6】
請求項5に記載のグラフィック処理装置において、
前記表示態様制御手段は、選択された前記地点の中心部を前記表示部の中心部へ表示させるように前記地球地図の表示態様を制御することを特徴とするグラフィック処理装置。
【請求項7】
請求項5に記載のグラフィック処理装置において、
前記選択手段は少なくとも2以上の地球儀モデル又は地球地図上の地点を選択し、
前記表示態様制御手段は、選択された各前記地点の中心部を前記表示部の中心部へ表示させるために前記表示部を前記地点毎に分割し、前記分割された表示部の中心に各前期地点の中心部を表示することを特徴とするグラフィック処理装置。
【請求項8】
請求項6又は7何れか一項に記載のグラフィック装置において、
前記選択手段は2つの地球儀モデル上の地点又は地球地図上の地点を選択し、
前記表示態様制御手段が、選択された前記地点を表示するために前記表示部を前記地点毎に分割して表示した場合に、前記分割表示された一の表示部に表示される前記地点が示す位置に他の前記地点の方向及び距離を示す円を表示することを特徴とするグラフィック処理装置。
【請求項9】
コンピュータを、請求項1乃至8の何れか一項に記載のグラフィック処理装置として機能させることを特徴とするグラフィック処理プログラム。
【請求項10】
地球表面形状を示す地表データを2次元座標系空間にマッピングし2次元的に視認可能に表示される平面的な地球地図を表示部に表示するとともに、
表示された前記地球地図をスクロール表示するスクロール表示工程と、
表示された前記地球地図を拡大又は縮小表示する際に、前記地点が拡大又は縮小される態様を連続するアニメーション表示として表示する拡大縮小表示工程とを備えた
グラフィック処理方法であって、
前記地球地図上の領域内の所定地点を選択する選択工程と、
選択された前記地点が、前記スクロール表示、拡大表示及び縮小表示いずれの場合においても、常に前記表示部に表示されるように前記地球地図の表示態様を制御する表示態様制御工程と、
を備えることを特徴とするグラフィック処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6(A)】
【図6(B)】
【図6(C)】
【図7】
【図8】
【図9】
【図10】
【図11(A)】
【図11(B)】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6(A)】
【図6(B)】
【図6(C)】
【図7】
【図8】
【図9】
【図10】
【図11(A)】
【図11(B)】
【図12】
【図13】
【図14】
【公開番号】特開2010−67228(P2010−67228A)
【公開日】平成22年3月25日(2010.3.25)
【国際特許分類】
【出願番号】特願2008−235651(P2008−235651)
【出願日】平成20年9月12日(2008.9.12)
【出願人】(508236240)公立大学法人公立はこだて未来大学 (16)
【Fターム(参考)】
【公開日】平成22年3月25日(2010.3.25)
【国際特許分類】
【出願日】平成20年9月12日(2008.9.12)
【出願人】(508236240)公立大学法人公立はこだて未来大学 (16)
【Fターム(参考)】
[ Back to top ]