JP2009059100A - 3次元オブジェクト処理装置、3次元オブジェクト処理方法、及び3次元オブジェクト処理プログラム - Google Patents
3次元オブジェクト処理装置、3次元オブジェクト処理方法、及び3次元オブジェクト処理プログラム Download PDFInfo
- Publication number
- JP2009059100A JP2009059100A JP2007224769A JP2007224769A JP2009059100A JP 2009059100 A JP2009059100 A JP 2009059100A JP 2007224769 A JP2007224769 A JP 2007224769A JP 2007224769 A JP2007224769 A JP 2007224769A JP 2009059100 A JP2009059100 A JP 2009059100A
- Authority
- JP
- Japan
- Prior art keywords
- cylinder
- polygon
- dimensional object
- plane
- object processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Instructional Devices (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】ユーザが地球の姿勢を任意に指定し、インタラクションによる体験から新たな視点で世界を解釈することや、地図と現実世界の差異を認識すること等を、より効果的に実現することを可能とした3次元オブジェクト処理装置、3次元オブジェクト処理方法、及び3次元オブジェクト処理プログラムを提供する。
【解決手段】球体又は回転楕円体を複数のポリゴンにより表現した3次元オブジェクトにおいて、緯度及び経度で表される頂点位置を円筒に投影した後、複数のポリゴンのうち、円筒の中心軸と交差するポリゴンを抽出し、抽出されたポリゴンと円筒の中心軸との交点の緯度及び経度を特定する。円筒を展開して平面に表示させる展開表示手段は、基準となる矩形状の平面を画する上辺又は下辺上の全ての点に対して、交点の緯度及び経度を用いて円筒を展開してその平面を表示させる。
【選択図】図6
【解決手段】球体又は回転楕円体を複数のポリゴンにより表現した3次元オブジェクトにおいて、緯度及び経度で表される頂点位置を円筒に投影した後、複数のポリゴンのうち、円筒の中心軸と交差するポリゴンを抽出し、抽出されたポリゴンと円筒の中心軸との交点の緯度及び経度を特定する。円筒を展開して平面に表示させる展開表示手段は、基準となる矩形状の平面を画する上辺又は下辺上の全ての点に対して、交点の緯度及び経度を用いて円筒を展開してその平面を表示させる。
【選択図】図6
Description
本発明は、ユーザとインタラクションを可能とする地球地図の作成手法に関し、特に、動的な地図投影をリアルタイムに行うことによって、地球の姿勢をユーザが任意に指定することが可能な装置及び方法等の技術分野に関する。
従来から、例えば球体又は回転楕円体としての地球を平面へ投影して地球地図を作成する種々の方法が知られているが、球体又は回転楕円体としての地球を平面に投影すると、誤差が発生するなどの様々な問題がある。このような問題の一つを解決するための方法として、例えば、特許文献1には、回転楕円体としての地球地図をUTM図法に従って所定経度帯及び所定緯度帯毎に区分して得た、不等辺四角形上の座標アドレスで規定された投影地図データを格納する地図データベースと、上記各区分毎に、各区分の不等辺四角形上の座標アドレスを、その区分内のデータの配列及び数を維持したままで、等辺四角形上の座標アドレスに変換する手段と、該変換後の等辺四角形上の座標アドレスで規定された地図データを格納するメモリと、より成る地図作成装置が開示されている。
ところで、我々の身近にある世界地図はメルカトル図法か類似の図法によるものが多く、高緯度が歪んだ世界観を我々に与えてきた。この地図学的地図により、共通の世界観を共有できるようになった反面、世界を新たな視点から解釈することや、地図と現実世界の差異を認識することは困難になった。
これまで、印刷メディアで発達してきた地図は、一方的に与えられる情報を読解しなければならず、ある程度の知識や訓練が必要であった。しかし近年では、コンピュータを用いたインタラクティブ地球地図が発表され(例えば、Google Earth http://earth.google.co.jp/)、読解だけではなく、インタラクションによる体験を通じて情報を解釈できるようになった。
なお、特許文献2〜4にも上記と関連する技術が提案されている。
特開2001−118051号公報
特開平11−83502号公報
特開平10−91064号公報
特開平6−138816号公報
しかしながら、既存のインタラクティブ地球地図でのインタラクションは、印刷メディアの世界地図のどこをどの大きさで切り取るのかという操作をするためのものが多い。これらのインタラクティブ地球地図によって遠く離れた土地の建物の名前や、目的地までの道のりを詳しく調べることなどができるようになったが、地球を俯瞰した場合、印刷メディアの世界地図や地球儀と同じ、あるいはそれに近い体験しか得ることができなかった。
本発明は、このような点に鑑み、ユーザが地球の姿勢を任意に指定し、インタラクションによる体験から新たな視点で世界を解釈することや、地図と現実世界の差異を認識すること等を、より効果的に実現することを可能とした3次元オブジェクト処理装置、3次元オブジェクト処理方法、及び3次元オブジェクト処理プログラムを提供することを課題の一つとする。
上記課題を解決するために、請求項1に記載の発明は、球体又は回転楕円体を複数のポリゴンにより表現した3次元オブジェクトにおける前記ポリゴンの頂点位置であって緯度及び経度と対応付けられている頂点位置を円筒に投影した後、当該円筒を展開してその平面を表示させる3次元オブジェクト処理装置であって、前記複数のポリゴンのうち、前記円筒の中心軸と交差するポリゴンを抽出する抽出手段と、前記抽出されたポリゴンと前記円筒の中心軸との交点の緯度及び経度を特定する特定手段と、前記円筒を展開してその平面を表示させる展開表示手段と、を備え、前記展開表示手段は、基準となる矩形状の平面を画する上辺又は下辺上の全ての点に対して、前記交点の緯度及び経度を用いて前記円筒を展開してその平面を表示させることを特徴とする。
請求項2に記載の発明は、請求項1に記載の3次元オブジェクト処理装置において、前記3次元オブジェクトの表面には地球表面が表されることを特徴とする。
請求項3に記載の発明は、請求項2に記載の3次元オブジェクト処理装置において、地球上の各地点における標高値に応じた描画色を規定する色テーブルを記憶する記憶手段を更に備え、前記展開表示手段は、前記円筒を展開する際に、前記上辺又は下辺上の何れか点に対応する地点の描画色を、前記色テーブルを参照して、当該点における標高値に対応する描画色で表示させることを特徴とする。
請求項4に記載の発明は、請求項3に記載の3次元オブジェクト処理装置において、前記展開表示手段は、前記上辺又は下辺上の何れか点と、前記抽出されたポリゴンの頂点位置に対応する前記平面上における直交座標により構成される新たなポリゴン内側の複数点の直交座標を、当該ポリゴンの頂点位置に対応する直交座標から計算し、当該計算した直交座標に対応する地点の描画色を、前記色テーブルを参照して、当該地点における標高値に対応する描画色で表示させることを特徴とする。
請求項5に記載の3次元オブジェクト処理プログラムの発明は、コンピュータを、請求項1乃至4の何れか一項に記載の3次元オブジェクト処理装置として機能させることを特徴とする。
請求項6に記載の発明は、球体又は回転楕円体を複数のポリゴンにより表現した3次元オブジェクトにおける前記ポリゴンの頂点位置であって緯度及び経度と対応付けられている頂点位置を円筒に投影した後、当該円筒を展開してその平面を表示させる3次元オブジェクト処理方法であって、前記複数のポリゴンのうち、前記円筒の中心軸と交差するポリゴンを抽出する工程と、前記抽出されたポリゴンと前記円筒の中心軸との交点の緯度及び経度を特定する工程と、前記円筒を展開してその平面を表示させる展開表示工程と、を備え、前記展開表示工程においては、基準となる矩形状の平面を画する上辺又は下辺上の全ての点に対して、前記交点の緯度及び経度を用いて前記円筒を展開してその平面を表示させることを特徴とする。
本発明によれば、3次元オブジェクトから円筒を経て平面に展開したときに、当該平面の上下辺の歪んだ外形を迅速且つ効果的に補完できるので、ユーザに対して、新たな視点で世界を解釈させることや、地図と現実世界の差異を認識させること等をより効果的に実現することができる。
以下、本発明の最良の実施形態を添付図面に基づいて説明する。
本発明に係る3次元オブジェクト処理装置及び方法は、処理部(CPU等からなる)、記憶部(VRAM、ROM及びハードディスクドライブ等からなる)、表示部(ディスプレイ等からなる)、及び操作部(マウス及びキーボード等からなる)を備えた汎用のパーソナルコンピュータに対して地球地図作成ソフトウェア(本発明に係る3次元オブジェクト処理プログラムを含む)をインストールして起動させることにより実現される。なお、本実施形態においては、表示色の決定プログラムのリアルタイムな計算処理のため、上記処理部にはGPU(Graphics Processing Unit)が備えられる。
[1.基本的なアルゴリズム]
先ず、本実施形態に係る地球地図作成ソフトウェアの基本的なアルゴリズムについて説明する。
[1.基本的なアルゴリズム]
先ず、本実施形態に係る地球地図作成ソフトウェアの基本的なアルゴリズムについて説明する。
図1に、本実施形態に係る地球地図作成ソフトウェアのアルゴリズム構成例を示す。
本アルゴリズムにより、3次元オブジェクトとしての地球オブジェクト(当該オブジェクトの表面には地球表面が表される)を地球儀モードと地図モードで表示し、互いに切換可能としている。なお、地球オブジェクトの持つ静的データは、地図投影の有無にかかわらず参照、提示可能になっている。
地球儀モードでは、地図に影響を与える地球オブジェクトの操作として、ユーザはマウスで地球オブジェクトをドラッグしつつ当該マウスを動かす(ポインタを移動させる)ことで、ディスプレイ上に表示された地球オブジェクトを回転させることができる。地球オブジェクトの回転は、地図投影前の地球オブジェクトに適用され、球状態のときに直感的な操作を行うために、そして、ジンバルロックを防ぐために公知のクオータニオンが用いられる。また、地球オブジェクトの回転は、平面360度どの方向にも可能になっている。更に、マウスで地球オブジェクトをドラッグしつつポインタを移動させたときの速度が計測され、当該速度で地球オブジェクトが回転されるようになっている。
なお、本明細書では、緯度と経度を下記(1.1)のように表記する。
(e│w│n│s)(角度)・・・(1.1)
ここで、eは東経を、wは西経を、nは北緯を、s:南緯を示し、角度は、eまたはwの場合は0〜180,nまたはsの場合は0〜90をとる。
ここで、eは東経を、wは西経を、nは北緯を、s:南緯を示し、角度は、eまたはwの場合は0〜180,nまたはsの場合は0〜90をとる。
地球オブジェクトの形状モデルは、球体(回転楕円体であっても良い)を近似的に複数のポリゴン(本実施形態では、3つの頂点からなる3角形)により表現している。各ポリゴンの頂点位置は、当該オブジェクトの中心を原点とした例えば半径1の球上に配置され、緯度及び経度と対応付けられている。
また、各ポリゴンの頂点位置は、それぞれ、n90とs90間、e180とw180間を等分割してできる交点とされる。分割数は、それぞれnDivLat,nDivLngとし、分割してできた交点の緯度及び経度の値を直交座標系へ変換したものが頂点位置となる。
直交座標への変換は下記(1.2)式で表される。
x=cos(rLat)*sin(rLng)
y=sin(rLat)
z=−cos(rLat)*cos(rLng)
・・・(1.2)
ここで、rLat,rLngは緯度と経度をラジアンで表したものである。
y=sin(rLat)
z=−cos(rLat)*cos(rLng)
・・・(1.2)
ここで、rLat,rLngは緯度と経度をラジアンで表したものである。
また、各頂点は、法線ベクトルとテクスチャ座標を保持する。地球オブジェクトが半径1の球であるので、法線ベクトルは頂点位置ベクトルと同じ値を持っている。また、テクスチャ座標は、e180からw180,およびn90からs90の範囲を含む画像が、球の対応する位置にマッピング(テクスチャマッピング)できるようになっている。なお、テクスチャ画像は一枚である必要はなく、上記範囲をカバーする複数の画像を用いてマッピングすることもできる。
一方、地図モードでは、地球オブジェクトが円筒に投影され当該円筒が展開されることによりその地図平面が表示される。この場合も、地図平面の対応する位置に緯度及び経度に応じた画像がマッピング(テクスチャマッピング)できるようになっている。
なお、テクスチャマッピング等の処理は、ポリゴン単位で行われる。つまり、ポリゴンの3つの頂点座標が読み込まれて処理される。
そして、地球儀モードと地図モードの表示切換は、連続的に変化するアニメーションにより行われる。かかるアニメーションでは、球と地図平面との対応する点のみを用いて滑らかな軌道を実現している。地球儀モード時の球を、原点を中心とした半径1の球、地図モード時の地図をz=1(xとyの範囲は、それぞれ−π≦x≦π、−2≦y≦2)とし、各モードで対応する点の軌道を補間により求めている。当該補間は、角度と距離で行われ、角度は下記(1.3)式による球面線形補間で、距離は線形補間を用いて滑らかな動きを実現している。
Slerp(t,q0, q1)={q0sin[θ(1-t)]+q1sin(θt)}/sinθ・・・(1.3)
ここで,q0およびq1は端点のクオータニオンで、θはq0とq1のなす角である。また、tは補間の重みを表し、0≦t≦1である。
ここで,q0およびq1は端点のクオータニオンで、θはq0とq1のなす角である。また、tは補間の重みを表し、0≦t≦1である。
上記(1.3)式によれば、球における任意の2点間の最短距離を表す線分を求めることができる。当該線分は、例えば端点をマウスでクリックで指定し、その指し示す地球オブジェクトの緯度及び経度を取得する。具体的な実現手法としては、クリックされたポイントのスクリーン座標系からワールド座標系へと変換し、交差するポリゴンおよびポリゴンとの交点を計算し、緯度及び経度を求める。かかる最短距離を表示すれば、緯線及び経線とともに空間的な把握を補助する基準としても機能する。
[2. 平射円筒投影アルゴリズム]
次に、本実施形態に係る地球地図作成ソフトウェアの平射円筒投影アルゴリズムについて説明する。
[2. 平射円筒投影アルゴリズム]
次に、本実施形態に係る地球地図作成ソフトウェアの平射円筒投影アルゴリズムについて説明する。
地球オブジェクトにおけるポリゴンの頂点座標Pを入力として、投影後の位置を計算する。地図投影には平射円筒投影を用いる。この計算は、(1)光源位置を計算し、(2)ポリゴンの頂点位置を円筒に投影し、(3)円筒を展開することで求められる。各投影状態での座標系は、図1のようである。
以下、(1)〜(3)について詳しく説明する。
(1)光源位置の計算
図2は、平射図法によりポリゴンの頂点位置を円筒に投影する様子を示す図である。平射図法の光源位置Lは、下記(2.3)式で表され、頂点座標Pに依存することになる。
(1)光源位置の計算
図2は、平射図法によりポリゴンの頂点位置を円筒に投影する様子を示す図である。平射図法の光源位置Lは、下記(2.3)式で表され、頂点座標Pに依存することになる。
L=−A/│A│
A=(Px,0,Pz)
・・・(2.3)
ここで、点Aは、点Pをxz平面に投影した点である。
(2)ポリゴンの頂点位置を円筒に投影
円筒に投影後の位置Cは、下記(2.4)式で表される。
A=(Px,0,Pz)
・・・(2.3)
ここで、点Aは、点Pをxz平面に投影した点である。
(2)ポリゴンの頂点位置を円筒に投影
円筒に投影後の位置Cは、下記(2.4)式で表される。
C=L+2V/R
V=P−L
R=√(Vx^2+Vz^2)
・・・(2.4)
ここで,ベクトルVは光源Lから頂点座標Pへと向かうベクトルである。また、スカラーRはベクトルVをxz平面に投影したときの長さである。
(3)円筒を展開
地球オブジェクトの半径が例えば1で、同じ半径の円筒に投影すると、展開後の平面の水平方向(x軸)の位置は円筒の角度から計算される。また、展開後の位置Mは下記(2.5)式で表される。
V=P−L
R=√(Vx^2+Vz^2)
・・・(2.4)
ここで,ベクトルVは光源Lから頂点座標Pへと向かうベクトルである。また、スカラーRはベクトルVをxz平面に投影したときの長さである。
(3)円筒を展開
地球オブジェクトの半径が例えば1で、同じ半径の円筒に投影すると、展開後の平面の水平方向(x軸)の位置は円筒の角度から計算される。また、展開後の位置Mは下記(2.5)式で表される。
M=(Mx,Cy,1)
Mx=Sign(Cx)・arccos(D・E)
D=(0,−1)
E=(Cx,Cz)
Sign(a)={1(a≧0)、−1(a<0)
・・・(2.5)
平面に展開した後のy座標はCy、z座標は1である。また、x座標はベクトルDとベクトルEとのなす角に応じて計算される。なお、地球オブジェクトの半径rが1の場合、平射円筒投影後の地図平面の大きさは垂直方向が4、水平方向が2πとなる。
Mx=Sign(Cx)・arccos(D・E)
D=(0,−1)
E=(Cx,Cz)
Sign(a)={1(a≧0)、−1(a<0)
・・・(2.5)
平面に展開した後のy座標はCy、z座標は1である。また、x座標はベクトルDとベクトルEとのなす角に応じて計算される。なお、地球オブジェクトの半径rが1の場合、平射円筒投影後の地図平面の大きさは垂直方向が4、水平方向が2πとなる。
以上のようにして、ポリゴンの頂点位置は地図平面上における直交座標に変換されることになる。
[3.円筒展開時の補完アルゴリズム]
次に、本実施形態に係る地球地図作成ソフトウェアの円筒展開時の補完アルゴリズムについて説明する。
[3.円筒展開時の補完アルゴリズム]
次に、本実施形態に係る地球地図作成ソフトウェアの円筒展開時の補完アルゴリズムについて説明する。
図3は、ポリゴンの頂点位置が投影された円筒が展開される様子を示す概念図である。
以下の説明において、円筒を展開するためのラインであって当該円筒の切れ目となるラインをシームライン(seam line)と称する。地球オブジェクトを構成する複数のポリゴンのうち、幾つかのポリゴンは、シームライン上に存在し当該シームラインに横切られる(つまり、ポリゴンの輪郭がシームラインと交わる)ことになる。図3(A)の例では、3つの頂点P0,P1,P2を有するポリゴンPO1がシームラインLIにより横切られている。なお、実際には、シームラインLIには、複数のポリゴンが存在することになるが説明の便宜上図示を省略している。このようなポリゴンPO1は、地図平面Fに展開された際に、処理部により図3(B)に示すように、地図平面F内で細長い3角形であるとして認識される。このため、シームラインLIと一致する地図平面Fの左右辺H1,H2は、直線状にはならず、ギザギザの外形で投影、表示されてしまう。
また、地球オブジェクトを構成する複数のポリゴンのうち、何れか2つのポリゴンは円筒の中心軸と交差(中心軸により貫通)することになる。図3(A)の例では、3つの頂点P3,P4,P5を有するポリゴンPO2(円筒Tの上部)は、円筒Tの中心軸G(y軸)と交差している。実際には、円筒Tの下部にも、円筒Tの中心軸Gと交差するポリゴンが存在することになる。このようなポリゴンPO2は、地図平面Fに展開された際に、処理部により図3(B)に示すように、細長い3角形であるとして認識される。このため、地図平面Fの上辺H3(なお、図の例では、わかり易くするため、理想的なH3の位置を破線で示している)は直線状にはならず、歪んだ外形で投影、表示されてしまう。なお、下辺H4についても同様のことが言える。
ここで、実際の表示例を、図4〜図5に示す。
図4は、地球儀モードにおいて表示された地球オブジェクトの表示例を示している。
図4(A)の例では、北極が画面の最上端に、南極が画面の最下端に位置しており、北極と南極を通る軸Gが、上述した円筒Tの中心軸Gに相当することになる。このような表示状態において、ユーザがマウスで地球オブジェクトOBをドラッグしつつ当該マウスを例えば右斜め上に動かし停止すると、当該地球オブジェクトOBは、図4(A)中矢印方向に回転し、図4(B)に示すように表示されることになる。図4(B)の例では、北極が画面の最上端にされなくなり、南極が画面の最下端に位置されなくなっている。つまり、地球オブジェクトOBの回転により、画面の最上端及び画面の最下端には、北極及び南極以外の地点も(例えば、日本も)位置することが可能となる。ただし、地球オブジェクトOB軸G(円筒Tの中心軸G)は変化しない。
そして、図4(B)の表示状態で、例えばユーザがマウスのポインタを地球オブジェクトOBに合わせ、マウスのボタンをクリック(地図モードへの移行指示)すると、上述したアルゴリズムにより地球オブジェクトOBが投影され、地図モードへ移行して図5に示すような地図平面Fが表示されることになる。図5に示す地図平面Fは、上記図3(B)を用いて説明したように、その左右辺H1,H2がギザギザの外形で表示され、なおかつ、その上下辺H3,H4は歪んだ外形で表示され、何れも直線状とはならず、非常に見栄えが悪くなっている。このような表示状態おいても、ユーザによるマウスの操作(例えばドラッグしつつ移動)により地図平面F上に位置する地点を回転等、移動させ表示状態を遷移させることが可能になっているが、かかる遷移において上記左右辺H1,H2がギザギザの外形が変化し、なおかつ、上下辺H3,H4の歪んだ外形が変化することになる。
仮に、図4(A)に示すような地球オブジェクトOBを回転できない、つまり、北極と南極の位置が固定される構成であれば、地図平面に展開した時の上記ギザギザの外形等を補完することが比較的簡単に行うことができるのであるが、本実施形態の構成では、地球オブジェクトOBないし地図平面Fを回転等させることが可能になっているので、当該補完は難しくなっている。
本発明者は、左右辺H1,H2におけるギザギザの外形を補完するための補完アルゴリズム、及び上下辺H3,H4の歪んだ外形を補完するための補完アルゴリズムを考案した。以下、図6等を参照して、当該補完アルゴリズムについて詳しく説明する。なお、図6は、ポリゴンの頂点位置が投影された円筒が展開される際における補完の様子を示す概念図である。
先ず、左右辺H1,H2の補完アルゴリズムについて説明する。
かかる補完アルゴリズムでは、上述したようにポリゴンの頂点位置が円筒に投影された後、処理部の抽出手段が、地球オブジェクトを構成する複数のポリゴンのうち、その輪郭(辺、又は線分ともいう)が、シームラインLIと交わるポリゴン(例えば、図6(A)に示す頂点P0,P1,P2を有するポリゴンPO1)を抽出する。なお、実際には、かかる処理で複数のポリゴンが抽出されることになる。また、抽出されたポリゴンの3つの頂点座標は一時的にRAMの所定アドレスに記憶されることになる。また、当該ポリゴンの抽出は、ポリゴンの頂点位置が円筒に投影される前であっても行うことができる。なぜなら、シームラインLIの位置は、円筒に投影される前の球の軸G状態であっても認識できるからである。
そして、処理部の展開表示手段は、抽出したポリゴンの輪郭とシームラインLIとの交点を認識し、当該交点の位置を新たな頂点位置(投影後は直交座標)とし当該シームラインLIを境として当該ポリゴンを分割し新たなポリゴンを定義(認識)した後、当該円筒を展開してその地図平面を表示部上に表示させる。図6(B)の例では、3つの頂点P0,P1,P2を有するポリゴンPO1の輪郭とシームラインLIとの交点P10,P11,P12,P13が新たな頂点となり、3つのポリゴン(ポリゴンPO11、ポリゴンPO12、及びポリゴンPO13)に分割されている。なお、P12のx座標は、P10のx座標に2πrを加えた値となり、P13のx座標は、P11のx座標に2πrを加えた値となる。これにより、例えば、ポリゴンPO11の一辺は地図平面Fの左辺H1を構成し、また、ポリゴンPO12の一辺は地図平面Fの右辺H2を構成することになるので、地図平面Fの左右辺H1,H2をギザギザの外形でなく直線状に補完することができる。
次に、上下辺H3,H4の補完アルゴリズムについて説明する。
かかる補完アルゴリズムでは、上述したようにポリゴンの頂点位置が円筒に投影された後、処理部の抽出手段が、地球オブジェクトを構成する複数のポリゴンのうち、円筒の中心軸と交差するポリゴン(例えば、図6(A)に示す頂点P3,P4,P5を有するポリゴンPO2)を抽出する。なお、実際には、かかる処理で円筒の上下2つのポリゴンが抽出されることになる。また、抽出されたポリゴンの3つの頂点座標は一時的にRAMの所定アドレスに記憶されることになる。また、当該ポリゴンの抽出は、ポリゴンの頂点位置が円筒に投影される前であっても行うことができる。なぜなら、円筒Tの中心軸Gは、球の軸Gと同じであるからである。
続いて、処理部の特定手段は、抽出したポリゴンと円筒Tの中心軸Gとの交点P6の緯度及び経度を特定する。例えば、図6(A)に示すポリゴンPO2の頂点P3,P4,P5は緯度及び経度を持っているので、この3つのの頂点から交点P6の緯度及び経度を計算して特定することができる。
そして、処理部の展開表示手段は、基準となる矩形状の平面(つまり、直線状の上下左右辺を有する理想的な平面であり、その平面の上下左右辺の座標が予め規定され記憶されている)を画する上辺の全ての点に対して、上記交点の緯度及び経度を用いて円筒を展開してその地図平面を表示させる。より具体的には、図6(B)の例において、上辺H3上に新たな頂点P31,P32,P41,P51,P52が定義されると共に、左右辺H1,H2上にも新たな頂点P33,P53が定義される。ここで、P32のx座標はP3のx座標と同じ(つまり、P3の垂直上にP32を定義する)であり、P41のx座標はP4のx座標と同じであり、P51のx座標はP5のx座標と同じである。そして、これらの新たな頂点P31,P32,P33,P41,P51,P52,P53と、上記抽出されたポリゴンPO2の頂点P3,P4,P5が用いられて、新たなポリゴン(図6(B)の例では、ポリゴンPO21、ポリゴンPO22、ポリゴンPO23、ポリゴンPO24、ポリゴンPO25、ポリゴンPO26、ポリゴンPO27、及びポリゴンPO28)が定義される。なお、破線は補完されない場合のポリゴンの輪郭を示している。また、その他のポリゴンについては図示を省略している。
こうして、新たに定義されたポリゴンのうち、ポリゴンPO22、ポリゴンPO24、ポリゴンPO26、及びポリゴンPO28の一辺が上辺H3を構成することになり、なおかつ、これらのポリゴンの頂点P31,P32,P41,P51,P52には、上記交点P6の緯度及び経度(投影後は直交座標)が用いられるので、P31,P32,P41,P51,P52を結ぶ辺上の点、即ち、上辺H3上の点全て上記交点P6の緯度及び経度(投影後は直交座標)が用いられることになる。これにより、地図平面Fの上辺H3を歪んだ外形でなく直線状に補完することができる。このことは、地図平面Fの下辺H4についても同様である。
図7は、上記補完アルゴリズムを用いて地図平面を表示させたときの表示例を示す図である。図7に示す地図平面Fの上下左右辺は直線状に綺麗に表示されている。
[4.標高色決定アルゴリズム]
次に、本実施形態に係る標高色決定アルゴリズムについて説明する。
[4.標高色決定アルゴリズム]
次に、本実施形態に係る標高色決定アルゴリズムについて説明する。
標高色決定アルゴリズムでは、地球オブジェクトにテクスチャ画像を直接適用するのではなく、標高値を画像データ化し、描画時にGPUのフラグメントプログラムにより描画色を決定するアプローチをとる。かかるフラグメントプログラムは、標高値と描画色とを結びつけるカラーテーブル(平面的な地球地図を構成する各地点における標高値に応じた描画色を規定した色テーブル)を用いる必要があるが、これは1次元テクスチャとして実現できる。
図8は、標高データとカラーテーブルとの対応関係を示す概念図である。フラグメントプログラムでは、図8に示すように、描画するピクセルの標高値を、カラーテーブルを参照するためのテクスチャ座標に置き換えるようになっており、このテクスチャ座標の計算は動的に行われる。
つまり、標高色決定アルゴリズムにより動作する処理部の展開表示手段は、円筒を展開する際に、ポリゴンの頂点位置から変換された直交座標に対応する地点の描画色を、上記カラーテーブルを参照して、当該地点における標高値に対応する描画色で表示させるようになっている。また、当該処理部の展開表示手段は、地図平面上におけるポリゴン内側の複数点の直交座標を、当該ポリゴンの頂点位置に対応する直交座標から計算し、当該計算された直交座標に対応する地点の描画色を、上記カラーテーブルを参照して、当該地点における標高値に対応する描画色で表示させる。
そして、標高色決定アルゴリズムでは、テクスチャマッピングを直接的に使用するだけでなく、海抜のオフセット値(標高値に応じた描画色の基準レベル)を変化させることにより、動的に描画色を変更可能としている。より具体的には、処理部の変化制御手段は、ユーザからの入力手段を介した指示(例えば、マウスによる指示)により、海抜のオフセット値を変化(例えば図8の上下矢印方向に)させる。そして、処理部の展開表示手段は、海抜のオフセット値が変化される度に、カラーテーブルを参照して、既に表示された地図平面上における地点の描画色を変化させるようになっている。つまり、海抜のオフセット値が変化することによる色の変化を通じて各地点の標高が実質的に変化(実際には、標高値は変化させず、描画色の基準を変化させる)するように見えることになる。
図9は、図7に示す地図平面Fが表示されている状態で、海抜のオフセット値を上げた場合の表示例を示しており、海抜レベルが上がったため、図7で表されていた陸地が海面下に沈むことが表されるようになっている。一方、図10は、図7に示す地図平面Fが表示されている状態で、海抜のオフセット値を下げた場合の表示例を示しており、海抜レベルが下がったため、図7では表されていなかった陸地が表されるようになっている。なお、実際には、その標高値に応じた色で表示されるので、同じ陸地又は同じ海であっても色により標高を容易に把握することができる。
なお、処理部の展開表示手段は、円筒を展開する際に、上下辺H3,H4の補完アルゴリズムにより補完された地図平面Fの上辺及び下辺上の点に対応する地点の描画色を、カラーテーブルを参照して、当該点における標高値に対応する描画色として、円筒の中心軸と交差するポリゴン(図6(A)の例では、ポリゴンPO2)の頂点位置に対応する地図平面F上における直交座標により構成される新たなポリゴン(図6(B)の例では、ポリゴンPO21、ポリゴンPO22、ポリゴンPO23、ポリゴンPO24、ポリゴンPO25、ポリゴンPO26、ポリゴンPO27、及びポリゴンPO28)内側の複数点の直交座標を、円筒の中心軸と交差するポリゴンの頂点位置に対応する直交座標から計算し、当該計算した直交座標に対応する地点の描画色を、カラーテーブルを参照して、当該地点における標高値に対応する描画色で表示させることになる。
以上説明したように、上記実施形態によれば、ユーザが地球の姿勢を任意に指定することができ、上述した補完アルゴリズムにより地図平面Fの左右辺H1,H2をギザギザの外形を迅速且つ効果的に直線状に補完し、加えて、地図平面Fの上下辺H3,H4を歪んだ外形を迅速且つ効果的に直線状に補完できるようにしたので、ユーザに対して、新たな視点で世界を解釈させことや、地図と現実世界の差異を認識させること等をより効果的に実現することができる。
また、円筒を展開する際に、ポリゴンの頂点位置から変換された直交座標に対応する地点の描画色を、上記カラーテーブルを参照して、当該地点における標高値に対応する描画色で表示させるようにしたので、迅速な処理を可能とし、より一層、ユーザに対し、新たな視点で世界を解釈させることができる。
更に、海抜のオフセット値を変化させることにより、動的に描画色を変更可能としたので、ユーザに対し、例えば、温暖化による海面上昇によりどの程度の陸地が海面下に沈むか等を把握させることができる。
なお、本実施形態においては、3次元オブジェクトとして地球オブジェクトを例にとって説明したが、本発明は、その他の星のオブジェクト等、或いは球を平面に展開する処理に対して適用することができる。
OB 地球オブジェクト
T 円筒
F 地図平面
LI シームライン
G 中心軸
PO1,PO11,PO12,PO13,PO2,PO21,PO22,PO23,PO24,PO25,PO26,PO27,PO28 ポリゴン
T 円筒
F 地図平面
LI シームライン
G 中心軸
PO1,PO11,PO12,PO13,PO2,PO21,PO22,PO23,PO24,PO25,PO26,PO27,PO28 ポリゴン
Claims (6)
- 球体又は回転楕円体を複数のポリゴンにより表現した3次元オブジェクトにおける前記ポリゴンの頂点位置であって緯度及び経度と対応付けられている頂点位置を円筒に投影した後、当該円筒を展開してその平面を表示させる3次元オブジェクト処理装置であって、
前記複数のポリゴンのうち、前記円筒の中心軸と交差するポリゴンを抽出する抽出手段と、
前記抽出されたポリゴンと前記円筒の中心軸との交点の緯度及び経度を特定する特定手段と、
前記円筒を展開してその平面を表示させる展開表示手段と、
を備え、
前記展開表示手段は、基準となる矩形状の平面を画する上辺又は下辺上の全ての点に対して、前記交点の緯度及び経度を用いて前記円筒を展開してその平面を表示させることを特徴とする3次元オブジェクト処理装置。 - 請求項1に記載の3次元オブジェクト処理装置において、
前記3次元オブジェクトの表面には地球表面が表されることを特徴とする3次元オブジェクト処理装置。 - 請求項2に記載の3次元オブジェクト処理装置において、
地球上の各地点における標高値に応じた描画色を規定する色テーブルを記憶する記憶手段を更に備え、
前記展開表示手段は、前記円筒を展開する際に、前記上辺又は下辺上の何れか点に対応する地点の描画色を、前記色テーブルを参照して、当該点における標高値に対応する描画色で表示させることを特徴とする3次元オブジェクト処理装置。 - 請求項3に記載の3次元オブジェクト処理装置において、
前記展開表示手段は、前記上辺又は下辺上の何れか点と、前記抽出されたポリゴンの頂点位置に対応する前記平面上における直交座標により構成される新たなポリゴン内側の複数点の直交座標を、当該ポリゴンの頂点位置に対応する直交座標から計算し、当該計算した直交座標に対応する地点の描画色を、前記色テーブルを参照して、当該地点における標高値に対応する描画色で表示させることを特徴とする3次元オブジェクト処理装置。 - コンピュータを、請求項1乃至4の何れか一項に記載の3次元オブジェクト処理装置として機能させることを特徴とする3次元オブジェクト処理プログラム。
- 球体又は回転楕円体を複数のポリゴンにより表現した3次元オブジェクトにおける前記ポリゴンの頂点位置であって緯度及び経度と対応付けられている頂点位置を円筒に投影した後、当該円筒を展開してその平面を表示させる3次元オブジェクト処理方法であって、
前記複数のポリゴンのうち、前記円筒の中心軸と交差するポリゴンを抽出する工程と、
前記抽出されたポリゴンと前記円筒の中心軸との交点の緯度及び経度を特定する工程と、
前記円筒を展開してその平面を表示させる展開表示工程と、
を備え、
前記展開表示工程においては、基準となる矩形状の平面を画する上辺又は下辺上の全ての点に対して、前記交点の緯度及び経度を用いて前記円筒を展開してその平面を表示させることを特徴とする3次元オブジェクト処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007224769A JP2009059100A (ja) | 2007-08-30 | 2007-08-30 | 3次元オブジェクト処理装置、3次元オブジェクト処理方法、及び3次元オブジェクト処理プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007224769A JP2009059100A (ja) | 2007-08-30 | 2007-08-30 | 3次元オブジェクト処理装置、3次元オブジェクト処理方法、及び3次元オブジェクト処理プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2009059100A true JP2009059100A (ja) | 2009-03-19 |
Family
ID=40554793
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007224769A Pending JP2009059100A (ja) | 2007-08-30 | 2007-08-30 | 3次元オブジェクト処理装置、3次元オブジェクト処理方法、及び3次元オブジェクト処理プログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2009059100A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018111296A1 (en) * | 2016-12-16 | 2018-06-21 | Landmark Graphics Corporation | Mapping vertices from an earth model to a 2d array |
-
2007
- 2007-08-30 JP JP2007224769A patent/JP2009059100A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018111296A1 (en) * | 2016-12-16 | 2018-06-21 | Landmark Graphics Corporation | Mapping vertices from an earth model to a 2d array |
| GB2569498A (en) * | 2016-12-16 | 2019-06-19 | Landmark Graphics Corp | Mapping vertices from an earth model to a 2D array |
| US10922782B2 (en) | 2016-12-16 | 2021-02-16 | Landmark Graphics Corporation | Mapping vertices from an earth model to a 2D array |
| GB2569498B (en) * | 2016-12-16 | 2021-10-27 | Landmark Graphics Corp | Mapping vertices from an earth model to a 2D array |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20170091993A1 (en) | 3D Model Generation From Map Data and User Interface | |
| US20170090460A1 (en) | 3D Model Generation From Map Data | |
| CN105247575B (zh) | 用于在三维场景上叠加二维地图数据的系统和方法 | |
| CN102183261B (zh) | 为非照片写实3d地图重新使用照片写实3d地标的方法 | |
| CN102214368B (zh) | 三维全尺度数字地球的实现方法 | |
| US9684977B2 (en) | Method and apparatus for road map rendering | |
| CN102163340A (zh) | 计算机系统中实现三维动态几何图形数据信息标注的方法 | |
| EP2595118A2 (en) | Methods for providing 3d building information | |
| CN106326334A (zh) | 一种电子地图的显示、生成方法和装置 | |
| CN116051713B (zh) | 渲染方法、电子设备和计算机可读存储介质 | |
| CN104932858A (zh) | 一种精确匹配实时漫游的背景地图叠加显示方法 | |
| US12198284B2 (en) | Applying vector-based decals on three-dimensional objects | |
| JPH10207351A (ja) | ナビゲーションシステム及びそれに用いるナビゲーションプログラムを記憶した媒体 | |
| CN111226095A (zh) | 数字地图的动态重新样式化 | |
| Chen et al. | Foundations of 3D graphics programming: using JOGL and Java3D | |
| CN109313824A (zh) | 交互式地理上下文导航工具 | |
| CN101923801A (zh) | 正十二面体地图投影生成方法 | |
| Trenchev et al. | Mathematical approaches for creation of complex 3D models and their application in education | |
| Gold et al. | 3D geographic visualization: the Marine GIS | |
| ES2326755T3 (es) | Representacion de graficos informaticos 3d utilizando prestaciones 2d de graficos informaticos. | |
| CN111431953B (zh) | 一种数据处理方法、终端、服务器及存储介质 | |
| JP2009059100A (ja) | 3次元オブジェクト処理装置、3次元オブジェクト処理方法、及び3次元オブジェクト処理プログラム | |
| JP2009059101A (ja) | 3次元オブジェクト処理装置、3次元オブジェクト処理方法、及び3次元オブジェクト処理プログラム | |
| JP7368950B2 (ja) | 効率的な建物フットプリント特定のための方法及び装置 | |
| CN107798734A (zh) | 三维模型自适应变形方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20090605 |