(57)【要約】【課題】ユーザが地球の姿勢を任意に指定し、インタラクションによる体験から新たな視点で世界を解釈することや、地図と現実世界の差異を認識すること等を、より効果的に実現することを可能とした３次元オブジェクト処理装置、３次元オブジェクト処理方法、及び３次元オブジェクト処理プログラムを提供する。【解決手段】本発明は、球体又は回転楕円体を複数のポリゴンにより表現し表面には地球表面が表される３次元オブジェクトにおける前記ポリゴンの頂点位置を円筒に投影する投影手段と、前記ポリゴンの頂点位置を前記平面上における直交座標に変換しつつ前記円筒を展開してその平面を表示させる展開表示手段と、平面的な地球地図を構成する各地点における標高値に応じた描画色を規定する色テーブルを記憶する記憶手段と、を備え、前記展開表示手段は、前記円筒を展開する際に、前記変換された直交座標に対応する地点の描画色を、前記色テーブルを参照して、当該地点における標高値に対応する描画色で表示させる。【選択図】図８
2009059101.tif 000002
【特許請求の範囲】
【請求項１】
球体又は回転楕円体を複数のポリゴンにより表現し表面には地球表面が表される３次元オブジェクトにおける前記ポリゴンの頂点位置を円筒に投影する投影手段と、
前記ポリゴンの頂点位置を平面上における直交座標に変換しつつ前記円筒を展開してその平面を表示させる展開表示手段と、
平面的な地球地図を構成する各地点における標高値に応じた描画色を規定する色テーブルを記憶する記憶手段と、
を備え、
前記展開表示手段は、前記円筒を展開する際に、前記変換された直交座標に対応する地点の描画色を、前記色テーブルを参照して、当該地点における標高値に対応する描画色で表示させることを特徴とする３次元オブジェクト処理装置。
【請求項２】
請求項１に記載の３次元オブジェクト処理装置において、
前記展開表示手段は、前記平面上における前記ポリゴン内側の複数点の直交座標を、当該ポリゴンの頂点位置に対応する直交座標から計算し、当該計算した直交座標に対応する地点の描画色を、前記色テーブルを参照して、当該地点における標高値に対応する描画色で表示させることを特徴とする３次元オブジェクト処理装置。
【請求項３】
請求項２に記載の３次元オブジェクト処理装置において、
ユーザからの入力手段を介した指示により、前記標高値に応じた描画色の基準レベルを変化させる変化制御手段を更に備え、
前記展開表示手段は、前記基準レベルが変化される度に、前記色テーブルを参照して、既に表示された前記平面上における前記地点の描画色を変化させることを特徴とする３次元オブジェクト処理装置。
【請求項４】
コンピュータを、請求項１乃至３の何れか一項に記載の３次元オブジェクト処理装置として機能させることを特徴とする３次元オブジェクト処理プログラム。
【請求項５】
球体又は回転楕円体を複数のポリゴンにより表現し表面には地球表面が表される３次元オブジェクトにおける前記ポリゴンの頂点位置を円筒に投影する工程と、
前記ポリゴンの頂点位置を平面上における直交座標に変換しつつ前記円筒を展開してその平面を表示させる展開表示工程と、
平面的な地球地図を構成する各地点における標高値に応じた描画色を規定する色テーブルを記憶する工程と、
を備え、
前記展開表示工程においては、前記円筒を展開する際に、前記変換された直交座標に対応する地点の描画色を、前記色テーブルを参照して、当該地点における標高値に対応する描画色で表示させることを特徴とする３次元オブジェクト処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザとインタラクションを可能とする地球地図の作成手法に関し、特に、動的な地図投影をリアルタイムに行うことによって、地球の姿勢をユーザが任意に指定することが可能な装置及び方法等の技術分野に関する。
【背景技術】
【０００２】
従来から、例えば球体又は回転楕円体としての地球を平面へ投影して地球地図を作成する種々の方法が知られているが、球体又は回転楕円体としての地球を平面に投影すると、誤差が発生するなどの様々な問題がある。このような問題の一つを解決するための方法として、例えば、特許文献１には、回転楕円体としての地球地図をＵＴＭ図法に従って所定経度帯及び所定緯度帯毎に区分して得た、不等辺四角形上の座標アドレスで規定された投影地図データを格納する地図データベースと、上記各区分毎に、各区分の不等辺四角形上の座標アドレスを、その区分内のデータの配列及び数を維持したままで、等辺四角形上の座標アドレスに変換する手段と、該変換後の等辺四角形上の座標アドレスで規定された地図データを格納するメモリと、より成る地図作成装置が開示されている。
【０００３】
ところで、我々の身近にある世界地図はメルカトル図法か類似の図法によるものが多く、高緯度が歪んだ世界観を我々に与えてきた。この地図学的地図により、共通の世界観を共有できるようになった反面、世界を新たな視点から解釈することや、地図と現実世界の差異を認識することは困難になった。
【０００４】
これまで、印刷メディアで発達してきた地図は、一方的に与えられる情報を読解しなければならず、ある程度の知識や訓練が必要であった。しかし近年では、コンピュータを用いたインタラクティブ地球地図が発表され（例えば、Google Earth http://earth.google.co.jp/）、読解だけではなく、インタラクションによる体験を通じて情報を解釈できるようになった。
【０００５】
なお、特許文献２〜４にも上記と関連する技術が提案されている。
【特許文献１】特開２００１−１１８０５１号公報
【特許文献２】特開平１１−８３５０２号公報
【特許文献３】特開平１０−９１０６４号公報
【特許文献４】特開平６−１３８８１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、既存のインタラクティブ地球地図でのインタラクションは、印刷メディアの世界地図のどこをどの大きさで切り取るのかという操作をするためのものが多い。これらのインタラクティブ地球地図によって遠く離れた土地の建物の名前や、目的地までの道のりを詳しく調べることなどができるようになったが、地球を俯瞰した場合、印刷メディアの世界地図や地球儀と同じ、あるいはそれに近い体験しか得ることができなかった。
【０００７】
本発明は、このような点に鑑み、ユーザが地球の姿勢を任意に指定し、インタラクションによる体験から新たな視点で世界を解釈することや、地図と現実世界の差異を認識すること等を、より効果的に実現することを可能とした３次元オブジェクト処理装置、３次元オブジェクト処理方法、及び３次元オブジェクト処理プログラムを提供することを課題の一つとする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載の発明は、球体又は回転楕円体を複数のポリゴンにより表現し表面には地球表面が表される３次元オブジェクトにおける前記ポリゴンの頂点位置を円筒に投影する投影手段と、前記ポリゴンの頂点位置を平面上における直交座標に変換しつつ前記円筒を展開してその平面を表示させる展開表示手段と、  平面的な地球地図を構成する各地点における標高値に応じた描画色を規定する色テーブルを記憶する記憶手段と、を備え、前記展開表示手段は、前記円筒を展開する際に、前記変換された直交座標に対応する地点の描画色を、前記色テーブルを参照して、当該地点における標高値に対応する描画色で表示させることを特徴とする。
【０００９】
請求項２に記載の発明は、請求項１に記載の３次元オブジェクト処理装置において、前記展開表示手段は、前記平面上における前記ポリゴン内側の複数点の直交座標を、当該ポリゴンの頂点位置に対応する直交座標から計算し、当該計算した直交座標に対応する地点の描画色を、前記色テーブルを参照して、当該地点における標高値に対応する描画色で表示させることを特徴とする。
【００１０】
請求項３に記載の発明は、請求項２に記載の３次元オブジェクト処理装置において、ユーザからの入力手段を介した指示により、前記標高値に応じた描画色の基準レベルを変化させる変化制御手段を更に備え、前記展開表示手段は、前記基準レベルが変化される度に、前記色テーブルを参照して、既に表示された前記平面上における前記地点の描画色を変化させることを特徴とする。
【００１１】
請求項４に記載の３次元オブジェクト処理プログラムの発明は、コンピュータを、請求項１乃至３の何れか一項に記載の３次元オブジェクト処理装置として機能させることを特徴とする。
【００１２】
請求項５に記載の発明は、球体又は回転楕円体を複数のポリゴンにより表現し表面には地球表面が表される３次元オブジェクトにおける前記ポリゴンの頂点位置を円筒に投影する工程と、前記ポリゴンの頂点位置を平面上における直交座標に変換しつつ前記円筒を展開してその平面を表示させる展開表示工程と、平面的な地球地図を構成する各地点における標高値に応じた描画色を規定する色テーブルを記憶する工程と、を備え、前記展開表示工程においては、前記円筒を展開する際に、前記変換された直交座標に対応する地点の描画色を、前記色テーブルを参照して、当該地点における標高値に対応する描画色で表示させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、円筒を展開する際に、ポリゴンの頂点位置から変換された直交座標に対応する地点の描画色を、色テーブルを参照して、当該地点における標高値に対応する描画色で表示させるようにしたので、迅速な処理を可能とし、より一層、ユーザに対し、新たな視点で世界を解釈させることができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の最良の実施形態を添付図面に基づいて説明する。
【００１５】
本発明に係る３次元オブジェクト処理装置及び方法は、処理部（ＣＰＵ等からなる）、記憶部（ＶＲＡＭ、ＲＯＭ及びハードディスクドライブ等からなる）、表示部（ディスプレイ等からなる）、及び操作部（マウス及びキーボード等からなる）を備えた汎用のパーソナルコンピュータに対して地球地図作成ソフトウェア（本発明に係る３次元オブジェクト処理プログラムを含む）をインストールして起動させることにより実現される。なお、本実施形態においては、表示色の決定プログラムのリアルタイムな計算処理のため、上記処理部にはＧＰＵ（Graphics Processing Unit）が備えられる。
[１.基本的なアルゴリズム]
先ず、本実施形態に係る地球地図作成ソフトウェアの基本的なアルゴリズムについて説明する。
【００１６】
図１に、本実施形態に係る地球地図作成ソフトウェアのアルゴリズム構成例を示す。
【００１７】
本アルゴリズムにより、３次元オブジェクトとしての地球オブジェクト（当該オブジェクトの表面には地球表面が表される）を地球儀モードと地図モードで表示し、互いに切換可能としている。なお、地球オブジェクトの持つ静的データは、地図投影の有無にかかわらず参照、提示可能になっている。
【００１８】
地球儀モードでは、地図に影響を与える地球オブジェクトの操作として、ユーザはマウスで地球オブジェクトをドラッグしつつ当該マウスを動かす（ポインタを移動させる）ことで、ディスプレイ上に表示された地球オブジェクトを回転させることができる。地球オブジェクトの回転は、地図投影前の地球オブジェクトに適用され、球状態のときに直感的な操作を行うために、そして、ジンバルロックを防ぐために公知のクオータニオンが用いられる。また、地球オブジェクトの回転は、平面３６０度どの方向にも可能になっている。更に、マウスで地球オブジェクトをドラッグしつつポインタを移動させたときの速度が計測され、当該速度で地球オブジェクトが回転されるようになっている。
【００１９】
なお、本明細書では、緯度と経度を下記（1.1）のように表記する。
【００２０】
（e│w│n│s）（角度）・・・（1.1）
ここで、eは東経を、wは西経を、nは北緯を、s:南緯を示し、角度は、eまたはwの場合は0〜180，nまたはsの場合は0〜90をとる。
【００２１】
地球オブジェクトの形状モデルは、球体（回転楕円体であっても良い）を近似的に複数のポリゴン（本実施形態では、３つの頂点からなる３角形）により表現している。各ポリゴンの頂点位置は、当該オブジェクトの中心を原点とした例えば半径１の球上に配置され、緯度及び経度と対応付けられている。また、各ポリゴンの頂点位置は、それぞれ、n90とs90間、e180とw180間を等分割してできる交点とされる。分割数は、それぞれnDivLat，nDivLngとし、分割してできた交点の緯度及び経度の値を直交座標系へ変換したものが頂点位置となる。
【００２２】
直交座標への変換は下記（1.2）式で表される。
【００２３】
ｘ＝cos（rLat）*sin(rLng)
ｙ＝sin（rLat）
ｚ＝−cos（rLat）*cos(rLng)                 
・・・（1.2）
ここで、rLat，rLngは緯度と経度をラジアンで表したものである。
【００２４】
また、各頂点は、法線ベクトルとテクスチャ座標を保持する。地球オブジェクトが半径１の球であるので、法線ベクトルは頂点位置ベクトルと同じ値を持っている。また、テクスチャ座標は、e180からw180，およびn90からs90の範囲を含む画像が、球の対応する位置にマッピング（テクスチャマッピング）できるようになっている。なお、テクスチャ画像は一枚である必要はなく、上記範囲をカバーする複数の画像を用いてマッピングすることもできる。
【００２５】
一方、地図モードでは、地球オブジェクトが円筒に投影され当該円筒が展開されることによりその地図平面が表示される。この場合も、地図平面の対応する位置に緯度及び経度に応じた画像がマッピング（テクスチャマッピング）できるようになっている。
【００２６】
なお、テクスチャマッピング等の処理は、ポリゴン単位で行われる。つまり、ポリゴンの３つの頂点座標が読み込まれて処理される。
【００２７】
そして、地球儀モードと地図モードの表示切換は、連続的に変化するアニメーションにより行われる。かかるアニメーションでは、球と地図平面との対応する点のみを用いて滑らかな軌道を実現している。地球儀モード時の球を、原点を中心とした半径１の球、地図モード時の地図をz＝１（xとyの範囲は、それぞれ−π≦x≦π、−２≦y≦２）とし、各モードで対応する点の軌道を補間により求めている。当該補間は、角度と距離で行われ、角度は下記(1.3)式による球面線形補間で、距離は線形補間を用いて滑らかな動きを実現している。
【００２８】
Slerp(t,q0, q1)＝{q0sin[θ(1-t)]＋q1sin（θt）}／sinθ・・・（1.3）
ここで，q0およびq1は端点のクオータニオンで、θはq0とq1のなす角である。また、tは補間の重みを表し、０≦t≦１である。
【００２９】
上記(1.3)式によれば、球における任意の２点間の最短距離を表す線分を求めることができる。当該線分は、例えば端点をマウスでクリックで指定し、その指し示す地球オブジェクトの緯度及び経度を取得する。具体的な実現手法としては、クリックされたポイントのスクリーン座標系からワールド座標系へと変換し、交差するポリゴンおよびポリゴンとの交点を計算し、緯度及び経度を求める。かかる最短距離を表示すれば、緯線及び経線とともに空間的な把握を補助する基準としても機能する。
[２. 平射円筒投影アルゴリズム]
次に、本実施形態に係る地球地図作成ソフトウェアの平射円筒投影アルゴリズムについて説明する。
【００３０】
地球オブジェクトにおけるポリゴンの頂点座標Pを入力として、投影後の位置を計算する。地図投影には平射円筒投影を用いる。この計算は、（１）光源位置を計算し、（２）ポリゴンの頂点位置を円筒に投影し、（３）円筒を展開することで求められる。各投影状態での座標系は、図１のようである。
【００３１】
以下、（１）〜（３）について詳しく説明する。
（１）光源位置の計算
図２は、平射図法によりポリゴンの頂点位置を円筒に投影する様子を示す図である。平射図法の光源位置Lは、下記（2.3）式で表され、頂点座標Pに依存することになる。
【００３２】
L＝−A／│A│
A＝（Px,0,Pz）
・・・（2.3）
ここで、点Aは、点Pをxz平面に投影した点である。
（２）ポリゴンの頂点位置を円筒に投影
円筒に投影後の位置Cは、下記（2.4）式で表される。
【００３３】
C＝L＋2V/R
V＝P−L
R＝√（Vx^2＋Vz^2）
・・・（2.4）
ここで，ベクトルVは光源Lから頂点座標Pへと向かうベクトルである。また、スカラーRはベクトルVをxz平面に投影したときの長さである。
（３）円筒を展開
地球オブジェクトの半径が例えば１で、同じ半径の円筒に投影すると、展開後の平面の水平方向（x軸）の位置は円筒の角度から計算される。また、展開後の位置Mは下記（2.5）式で表される。
【００３４】
M＝（Mx,Cy,1）
Mx＝Sign(Cx）・arccos(D・E)
D＝（0,−1)
E＝（Cx,Cz）
Sign(a）＝｛１（a≧0）、−１（a＜0）
・・・（2.5）
平面に展開した後のy座標はCy、z座標は1である。また、x座標はベクトルDとベクトルEとのなす角に応じて計算される。なお、地球オブジェクトの半径ｒが１の場合、平射円筒投影後の地図平面の大きさは垂直方向が４、水平方向が２πとなる。
【００３５】
以上のようにして、ポリゴンの頂点位置は地図平面上における直交座標に変換されることになる。
[３.円筒展開時の補完アルゴリズム]
次に、本実施形態に係る地球地図作成ソフトウェアの円筒展開時の補完アルゴリズムについて説明する。
【００３６】
図３は、ポリゴンの頂点位置が投影された円筒が展開される様子を示す概念図である。
【００３７】
以下の説明において、円筒を展開するためのラインであって当該円筒の切れ目となるラインをシームライン（seam line）と称する。地球オブジェクトを構成する複数のポリゴンのうち、幾つかのポリゴンは、シームライン上に存在し当該シームラインに横切られる（つまり、ポリゴンの輪郭がシームラインと交わる）ことになる。図３（Ａ）の例では、３つの頂点P0,P1,P2を有するポリゴンＰＯ１がシームラインＬＩにより横切られている。なお、実際には、シームラインＬＩには、複数のポリゴンが存在することになるが説明の便宜上図示を省略している。このようなポリゴンＰＯ１は、地図平面Ｆに展開された際に、処理部により図３（Ｂ）に示すように、地図平面Ｆ内で細長い３角形であるとして認識される。このため、シームラインＬＩと一致する地図平面Ｆの左右辺Ｈ１，Ｈ２は、直線状にはならず、ギザギザの外形で投影、表示されてしまう。
【００３８】
また、地球オブジェクトを構成する複数のポリゴンのうち、何れか２つのポリゴンは円筒の中心軸と交差（中心軸により貫通）することになる。図３（Ａ）の例では、３つの頂点P3,P4,P5を有するポリゴンＰＯ２（円筒Ｔの上部）は、円筒Ｔの中心軸Ｇ（ｙ軸）と交差している。実際には、円筒Ｔの下部にも、円筒Ｔの中心軸Ｇと交差するポリゴンが存在することになる。このようなポリゴンＰＯ２は、地図平面Ｆに展開された際に、処理部により図３（Ｂ）に示すように、細長い３角形であるとして認識される。このため、地図平面Fの上辺H3（なお、図の例では、わかり易くするため、理想的なH3の位置を破線で示している）は直線状にはならず、歪んだ外形で投影、表示されてしまう。なお、下辺Ｈ４についても同様のことが言える。
【００３９】
ここで、実際の表示例を、図４〜図５に示す。
【００４０】
図４は、地球儀モードにおいて表示された地球オブジェクトの表示例を示している。
【００４１】
図４（Ａ）の例では、北極が画面の最上端に、南極が画面の最下端に位置しており、北極と南極を通る軸Ｇが、上述した円筒Ｔの中心軸Ｇに相当することになる。このような表示状態において、ユーザがマウスで地球オブジェクトＯＢをドラッグしつつ当該マウスを例えば右斜め上に動かし停止すると、当該地球オブジェクトＯＢは、図４（Ａ）中矢印方向に回転し、図４（Ｂ）に示すように表示されることになる。図４（Ｂ）の例では、北極が画面の最上端にされなくなり、南極が画面の最下端に位置されなくなっている。つまり、地球オブジェクトＯＢの回転により、画面の最上端及び画面の最下端には、北極及び南極以外の地点も（例えば、日本も）位置することが可能となる。ただし、地球オブジェクトＯＢ軸Ｇ（円筒Ｔの中心軸Ｇ）は変化しない。
【００４２】
そして、図４（Ｂ）の表示状態で、例えばユーザがマウスのポインタを地球オブジェクトＯＢに合わせ、マウスのボタンをクリック（地図モードへの移行指示）すると、上述したアルゴリズムにより地球オブジェクトＯＢが投影され、地図モードへ移行して図５に示すような地図平面Ｆが表示されることになる。図５に示す地図平面Ｆは、上記図３（Ｂ）を用いて説明したように、その左右辺Ｈ１，Ｈ２がギザギザの外形で表示され、なおかつ、その上下辺Ｈ３，Ｈ４は歪んだ外形で表示され、何れも直線状とはならず、非常に見栄えが悪くなっている。このような表示状態おいても、ユーザによるマウスの操作（例えばドラッグしつつ移動）により地図平面Ｆ上に位置する地点を回転等、移動させ表示状態を遷移させることが可能になっているが、かかる遷移において上記左右辺Ｈ１，Ｈ２がギザギザの外形が変化し、なおかつ、上下辺Ｈ３，Ｈ４の歪んだ外形が変化することになる。
【００４３】
仮に、図４（Ａ）に示すような地球オブジェクトＯＢを回転できない、つまり、北極と南極の位置が固定される構成であれば、地図平面に展開した時の上記ギザギザの外形等を補完することが比較的簡単に行うことができるのであるが、本実施形態の構成では、地球オブジェクトＯＢないし地図平面Ｆを回転等させることが可能になっているので、当該補完は難しくなっている。
【００４４】
本発明者は、左右辺Ｈ１，Ｈ２におけるギザギザの外形を補完するための補完アルゴリズム、及び上下辺Ｈ３，Ｈ４の歪んだ外形を補完するための補完アルゴリズムを考案した。以下、図６等を参照して、当該補完アルゴリズムについて詳しく説明する。なお、図６は、ポリゴンの頂点位置が投影された円筒が展開される際における補完の様子を示す概念図である。
【００４５】
先ず、左右辺Ｈ１，Ｈ２の補完アルゴリズムについて説明する。
【００４６】
かかる補完アルゴリズムでは、上述したようにポリゴンの頂点位置が円筒に投影された後、処理部の抽出手段が、地球オブジェクトを構成する複数のポリゴンのうち、その輪郭（辺、又は線分ともいう）が、シームラインＬＩと交わるポリゴン（例えば、図６(Ａ)に示す頂点P0,P1,P2を有するポリゴンＰＯ１）を抽出する。なお、実際には、かかる処理で複数のポリゴンが抽出されることになる。また、抽出されたポリゴンの３つの頂点座標は一時的にＲＡＭの所定アドレスに記憶されることになる。また、当該ポリゴンの抽出は、ポリゴンの頂点位置が円筒に投影される前であっても行うことができる。なぜなら、シームラインＬＩの位置は、円筒に投影される前の球の軸Ｇ状態であっても認識できるからである。
【００４７】
そして、処理部の展開表示手段は、抽出したポリゴンの輪郭とシームラインＬＩとの交点を認識し、当該交点の位置を新たな頂点位置（投影後は直交座標）とし当該シームラインＬＩを境として当該ポリゴンを分割し新たなポリゴンを定義（認識）した後、当該円筒を展開してその地図平面を表示部上に表示させる。図６（Ｂ）の例では、３つの頂点P0,P1,P2を有するポリゴンＰＯ１の輪郭とシームラインＬＩとの交点P10,P11,P12,P13が新たな頂点となり、３つのポリゴン（ポリゴンＰＯ１１、ポリゴンＰＯ１２、及びポリゴンＰＯ１３）に分割されている。なお、P12のｘ座標は、P10のｘ座標に２πｒを加えた値となり、P13のｘ座標は、P11のｘ座標に２πｒを加えた値となる。これにより、例えば、ポリゴンＰＯ１１の一辺は地図平面Ｆの左辺Ｈ１を構成し、また、ポリゴンＰＯ１２の一辺は地図平面Ｆの右辺Ｈ２を構成することになるので、地図平面Ｆの左右辺Ｈ１，Ｈ２をギザギザの外形でなく直線状に補完することができる。
【００４８】
次に、上下辺Ｈ３，Ｈ４の補完アルゴリズムについて説明する。
【００４９】
かかる補完アルゴリズムでは、上述したようにポリゴンの頂点位置が円筒に投影された後、処理部の抽出手段が、地球オブジェクトを構成する複数のポリゴンのうち、円筒の中心軸と交差するポリゴン（例えば、図６(Ａ)に示す頂点P3,P4,P5を有するポリゴンＰＯ２）を抽出する。なお、実際には、かかる処理で円筒の上下２つのポリゴンが抽出されることになる。また、抽出されたポリゴンの３つの頂点座標は一時的にＲＡＭの所定アドレスに記憶されることになる。また、当該ポリゴンの抽出は、ポリゴンの頂点位置が円筒に投影される前であっても行うことができる。なぜなら、円筒Ｔの中心軸Ｇは、球の軸Ｇと同じであるからである。
【００５０】
続いて、処理部の特定手段は、抽出したポリゴンと円筒Ｔの中心軸Ｇとの交点P6の緯度及び経度を特定する。例えば、図６(Ａ)に示すポリゴンＰＯ２の頂点P3,P4,P5は緯度及び経度を持っているので、この３つのの頂点から交点P6の緯度及び経度を計算して特定することができる。
【００５１】
そして、処理部の展開表示手段は、基準となる矩形状の平面（つまり、直線状の上下左右辺を有する理想的な平面であり、その平面の上下左右辺の座標が予め規定され記憶されている）を画する上辺の全ての点に対して、上記交点の緯度及び経度を用いて円筒を展開してその地図平面を表示させる。より具体的には、図６（Ｂ）の例において、上辺Ｈ３上に新たな頂点P31,P32,P41,P51,P52が定義されると共に、左右辺Ｈ１，Ｈ２上にも新たな頂点P33,P53が定義される。ここで、P32のｘ座標はP3のｘ座標と同じ（つまり、P3の垂直上にP32を定義する）であり、P41のｘ座標はP4のｘ座標と同じであり、P51のｘ座標はP5のｘ座標と同じである。そして、これらの新たな頂点P31,P32,P33,P41,P51,P52,P53と、上記抽出されたポリゴンＰＯ２の頂点P3,P4,P5が用いられて、新たなポリゴン（図６（Ｂ）の例では、ポリゴンＰＯ２１、ポリゴンＰＯ２２、ポリゴンＰＯ２３、ポリゴンＰＯ２４、ポリゴンＰＯ２５、ポリゴンＰＯ２６、ポリゴンＰＯ２７、及びポリゴンＰＯ２８）が定義される。なお、破線は補完されない場合のポリゴンの輪郭を示している。また、その他のポリゴンについては図示を省略している。
【００５２】
こうして、新たに定義されたポリゴンのうち、ポリゴンＰＯ２２、ポリゴンＰＯ２４、ポリゴンＰＯ２６、及びポリゴンＰＯ２８の一辺が上辺Ｈ３を構成することになり、なおかつ、これらのポリゴンの頂点P31,P32,P41,P51,P52には、上記交点P6の緯度及び経度（投影後は直交座標）が用いられるので、P31,P32,P41,P51,P52を結ぶ辺上の点、即ち、上辺Ｈ３上の点全て上記交点P6の緯度及び経度（投影後は直交座標）が用いられることになる。これにより、地図平面Ｆの上辺Ｈ３を歪んだ外形でなく直線状に補完することができる。このことは、地図平面Ｆの下辺Ｈ４についても同様である。
【００５３】
図７は、上記補完アルゴリズムを用いて地図平面を表示させたときの表示例を示す図である。図７に示す地図平面Ｆの上下左右辺は直線状に綺麗に表示されている。
[４.標高色決定アルゴリズム]
次に、本実施形態に係る標高色決定アルゴリズムについて説明する。
【００５４】
標高色決定アルゴリズムでは、地球オブジェクトにテクスチャ画像を直接適用するのではなく、標高値を画像データ化し、描画時にＧＰＵのフラグメントプログラムにより描画色を決定するアプローチをとる。かかるフラグメントプログラムは、標高値と描画色とを結びつけるカラーテーブル（平面的な地球地図を構成する各地点における標高値に応じた描画色を規定した色テーブル）を用いる必要があるが、これは１次元テクスチャとして実現できる。
【００５５】
図８は、標高データとカラーテーブルとの対応関係を示す概念図である。フラグメントプログラムでは、図８に示すように、描画するピクセルの標高値を、カラーテーブルを参照するためのテクスチャ座標に置き換えるようになっており、このテクスチャ座標の計算は動的に行われる。
【００５６】
つまり、標高色決定アルゴリズムにより動作する処理部の展開表示手段は、円筒を展開する際に、ポリゴンの頂点位置から変換された直交座標に対応する地点の描画色を、上記カラーテーブルを参照して、当該地点における標高値に対応する描画色で表示させるようになっている。また、当該処理部の展開表示手段は、地図平面上におけるポリゴン内側の複数点の直交座標を、当該ポリゴンの頂点位置に対応する直交座標から計算し、当該計算された直交座標に対応する地点の描画色を、上記カラーテーブルを参照して、当該地点における標高値に対応する描画色で表示させる。
【００５７】
そして、標高色決定アルゴリズムでは、テクスチャマッピングを直接的に使用するだけでなく、海抜のオフセット値（標高値に応じた描画色の基準レベル）を変化させることにより、動的に描画色を変更可能としている。より具体的には、処理部の変化制御手段は、ユーザからの入力手段を介した指示（例えば、マウスによる指示）により、海抜のオフセット値を変化（例えば図８の上下矢印方向に）させる。そして、処理部の展開表示手段は、海抜のオフセット値が変化される度に、カラーテーブルを参照して、既に表示された地図平面上における地点の描画色を変化させるようになっている。つまり、海抜のオフセット値が変化することによる色の変化を通じて各地点の標高が実質的に変化（実際には、標高値は変化させず、描画色の基準を変化させる）するように見えることになる。
【００５８】
図９は、図７に示す地図平面Ｆが表示されている状態で、海抜のオフセット値を上げた場合の表示例を示しており、海抜レベルが上がったため、図７で表されていた陸地が海面下に沈むことが表されるようになっている。一方、図１０は、図７に示す地図平面Ｆが表示されている状態で、海抜のオフセット値を下げた場合の表示例を示しており、海抜レベルが下がったため、図７では表されていなかった陸地が表されるようになっている。なお、実際には、その標高値に応じた色で表示されるので、同じ陸地又は同じ海であっても色により標高を容易に把握することができる。
【００５９】
なお、処理部の展開表示手段は、円筒を展開する際に、上下辺Ｈ３，Ｈ４の補完アルゴリズムにより補完された地図平面Ｆの上辺及び下辺上の点に対応する地点の描画色を、カラーテーブルを参照して、当該点における標高値に対応する描画色として、円筒の中心軸と交差するポリゴン（図６(Ａ)の例では、ポリゴンＰＯ２）の頂点位置に対応する地図平面Ｆ上における直交座標により構成される新たなポリゴン（図６（Ｂ）の例では、ポリゴンＰＯ２１、ポリゴンＰＯ２２、ポリゴンＰＯ２３、ポリゴンＰＯ２４、ポリゴンＰＯ２５、ポリゴンＰＯ２６、ポリゴンＰＯ２７、及びポリゴンＰＯ２８）内側の複数点の直交座標を、円筒の中心軸と交差するポリゴンの頂点位置に対応する直交座標から計算し、当該計算した直交座標に対応する地点の描画色を、カラーテーブルを参照して、当該地点における標高値に対応する描画色で表示させることになる。
【００６０】
以上説明したように、上記実施形態によれば、ユーザが地球の姿勢を任意に指定することができ、上述した補完アルゴリズムにより地図平面Ｆの左右辺Ｈ１，Ｈ２をギザギザの外形を迅速且つ効果的に直線状に補完し、加えて、地図平面Ｆの上下辺Ｈ３，Ｈ４を歪んだ外形を迅速且つ効果的に直線状に補完できるようにしたので、ユーザに対して、新たな視点で世界を解釈させことや、地図と現実世界の差異を認識させること等をより効果的に実現することができる。
【００６１】
また、円筒を展開する際に、ポリゴンの頂点位置から変換された直交座標に対応する地点の描画色を、上記カラーテーブルを参照して、当該地点における標高値に対応する描画色で表示させるようにしたので、迅速な処理を可能とし、より一層、ユーザに対し、新たな視点で世界を解釈させることができる。
【００６２】
更に、海抜のオフセット値を変化させることにより、動的に描画色を変更可能としたので、ユーザに対し、例えば、温暖化による海面上昇によりどの程度の陸地が海面下に沈むか等を把握させることができる。
【００６３】
なお、本実施形態においては、３次元オブジェクトとして地球オブジェクトを例にとって説明したが、本発明は、その他の星のオブジェクト等、或いは球を平面に展開する処理に対して適用することができる。
【図面の簡単な説明】
【００６４】
【図１】本実施形態に係る地球地図作成ソフトウェアのアルゴリズム構成例を示す図である。
【図２】平射図法によりポリゴンの頂点位置を円筒に投影する様子を示す図である。
【図３】ポリゴンの頂点位置が投影された円筒が展開される様子を示す概念図である。
【図４】地球儀モードにおいて表示された地球オブジェクトの表示例を示している。
【図５】地図モードにおいて表示された地図平面の表示例を示している。
【図６】ポリゴンの頂点位置が投影された円筒が展開される際における補完の様子を示す概念図である。
【図７】補完アルゴリズムを用いて地図平面を表示させたときの表示例を示す図である。
【図８】標高データとカラーテーブルとの対応関係を示す概念図である。
【図９】図７に示す地図平面Ｆが表示されている状態で、海抜のオフセット値を上げた場合の表示例を示す図である。
【図１０】図７に示す地図平面Ｆが表示されている状態で、海抜のオフセット値を下げた場合の表示例を示す図である。
【符号の説明】
【００６５】
ＯＢ  地球オブジェクト
Ｔ  円筒
Ｆ  地図平面
ＬＩ  シームライン
Ｇ  中心軸
ＰＯ１，ＰＯ１１，ＰＯ１２，ＰＯ１３，ＰＯ２，ＰＯ２１，ＰＯ２２，ＰＯ２３，ＰＯ２４，ＰＯ２５，ＰＯ２６，ＰＯ２７，ＰＯ２８  ポリゴン
【図１】
2009059101.tif 000003
【図２】
2009059101.tif 000004
【図３】
2009059101.tif 000005
【図４】
2009059101.tif 000006
【図５】
2009059101.tif 000007
【図６】
2009059101.tif 000008
【図７】
2009059101.tif 000009
【図９】
2009059101.tif 000010
【図１０】
2009059101.tif 000011
【図８】
2009059101.tif 000012