侯國超 劉 蜀 楊 琳
(91336部隊 秦皇島 066000)
墨卡托投影三維動態(tài)坐標(biāo)轉(zhuǎn)換方法研究*
侯國超 劉 蜀 楊 琳
(91336部隊 秦皇島 066000)
目前三維數(shù)字地球多數(shù)采用墨卡托投影實現(xiàn)坐標(biāo)轉(zhuǎn)換,在三維地圖和軍用地理信息研究中起著關(guān)鍵作用。論文巧妙利用墨卡托投影的數(shù)學(xué)原理,借助坐標(biāo)轉(zhuǎn)換知識,提出了一種數(shù)字地形中模型拖動動態(tài)坐標(biāo)轉(zhuǎn)換方法,并通過三維渲染引擎OSG仿真驗證,證明該算法用于數(shù)字地形是有效的,明顯提高了轉(zhuǎn)換精度和實效性。
坐標(biāo)轉(zhuǎn)換; 墨卡托
三維物體拖動是人工交互重要方式之一,三維數(shù)字地形與物體拖動的結(jié)合一直是軍事應(yīng)用迫切需求。在三維世界里,經(jīng)常需要將一個物體從一點拖動至另一點,目前常用的方法是三軸拖動或三平面拖動,以達到三維空間中移動的目的。由于地球曲率的影響,導(dǎo)致三維數(shù)字地形中的直線和平面移動,其實并不是真正意義上的直線和平面移動,而是相對地球而言的直線和平面移動(如圖1所示)。為了滿足上訴需求,本文提出了墨卡托投影三維動態(tài)坐標(biāo)轉(zhuǎn)換方法,即在墨卡托投影基礎(chǔ)上利用動態(tài)坐標(biāo)轉(zhuǎn)換的方式實現(xiàn)將物體進行地球曲線和曲面平滑移動。
墨卡托投影是角度不變的投影方式,又稱為等角正切圓柱投影。假設(shè)有一圓柱體切于赤道。取本初子午線與赤道交點的投影為坐標(biāo)原點,赤道的投影為橫坐標(biāo)x軸,本初子午線的投影為縱坐標(biāo)y軸,構(gòu)成墨卡托平面直角坐標(biāo)系。取地球橢球體的長軸為a,短軸為b,如圖1所示。根據(jù)等角條件推算出的墨卡托投影公式為
(1)
其中:θ(-π,+π)為經(jīng)度,且東經(jīng)取正值,西經(jīng)取負(fù)
圖1 三維數(shù)字地球物體移動示意圖
由墨卡托投影式(式(1))可知,墨卡托投影將經(jīng)緯度坐標(biāo)(θ,φ)映射為平面坐標(biāo)(x,y)。這就是將大地經(jīng)緯度轉(zhuǎn)換成墨卡托投影坐標(biāo)的正算公式。
而反算指的是將墨卡托投影坐標(biāo)轉(zhuǎn)換成大地經(jīng)緯度,以式(1)為基礎(chǔ),運用迭代法即可求解出對應(yīng)于某一墨卡托投影坐標(biāo)(x,y)的大地經(jīng)緯度坐標(biāo)(θ,φ)。
本文將以物體的直線拖動為例,闡明在墨卡托投影基礎(chǔ)上利用動態(tài)坐標(biāo)轉(zhuǎn)換的方式實現(xiàn)將物體進行地球曲線和曲面平滑移動原理,具體方法步驟如下:
1) 給被拖動物體定義局部x,y,z三軸坐標(biāo)系(如圖2所示),用于控制拖動方向,以物體中心點為坐標(biāo)原點,z軸方向是原點和地心連線的方向,代表高度,x軸方向是與緯度線平行的方向,y軸方向是與經(jīng)度線平行的方向,xy平面垂直于z軸。
圖2 動態(tài)坐標(biāo)轉(zhuǎn)換示意圖
2) 將物體沿x拖動一定距離。
3) 拖動后的物體所在位置運用墨卡托投影方式轉(zhuǎn)換為經(jīng)緯度坐標(biāo),從而能夠在數(shù)字地球中定位。
4) 將拖動后的物體降高,使其高度與拖動前保持一樣。
5) 將拖動后的物體局部x,y,z三軸坐標(biāo)系旋轉(zhuǎn)一定角度,使得z軸回到與原點和地心的連線重合的方向,xy平面跟隨旋轉(zhuǎn),回到與z軸垂直的方向。為下一次拖動做好準(zhǔn)備。
6) 在整個拖動過程會根據(jù)三維場景渲染效率,每一幀都進行步驟3)~5)變換計算,也就是將拖動過程分割為足夠多個小的拖動過程,以保證整個拖動過程平滑,拖動路徑為曲線。
為了驗證墨卡托投影三維動態(tài)坐標(biāo)轉(zhuǎn)換方法可行性及有效性,本文采用三維渲染引擎OSG搭建仿真環(huán)境[4],應(yīng)用跨平臺庫OsgEarth生成離線數(shù)字地球[5],用實心圓球作為拖動物體示例,將實心圓球置于數(shù)字地球表面,應(yīng)用本文所述轉(zhuǎn)換方法,觀察物體拖動效果[6~8]。如圖3所示。
圖3 仿真效果圖
從圖3可以看出,采用本文轉(zhuǎn)換方法可以完成物體拖動與地理信息的結(jié)合,而且實際拖動效果相較于其他方法運行流暢,操作誤差也大大減小。
本文中提到的墨卡托投影三維動態(tài)坐標(biāo)轉(zhuǎn)換方法就是在三維數(shù)字地球的條件下,利用墨卡托投影算法實現(xiàn)節(jié)點模型的適應(yīng)性拖動。由仿真效果可知,這種方法極大地提高了節(jié)點模型數(shù)字地形適應(yīng)性拖動的逼真性和流暢度。但由于這種方法在三維渲染每一幀都需要更多計算量,導(dǎo)致整體轉(zhuǎn)換復(fù)雜度仍然很大,在處理大規(guī)模模型拖動時,可能要花費很長的時間來計算,對硬件性能要求比較高,所以該方法有待進一步改進使其能夠滿足當(dāng)今視景仿真發(fā)展需要。
[1] 李長春,蔡伯根,上官偉等.基于Web墨卡托投影的地圖算法研究與實現(xiàn)[J].計算機應(yīng)用研究,2012,29(12):4793-4796.
[2] 劉麗萍.墨卡托投影與高斯投影的坐標(biāo)轉(zhuǎn)換研究[J].中國新技術(shù)新產(chǎn)品,2013(2):13-14.
[3] 姚洪斌,王桂軍,王科.墨卡托海圖與高斯公里網(wǎng)圖坐標(biāo)轉(zhuǎn)換方法[J].世界海運,2005,28(4):8-10.
[4] 王銳,錢學(xué)雷.Open Scene Graph三維渲染引擎設(shè)計與實踐[M].北京:清華大學(xué)出版社,2009:210-214.
[5] 楊化斌.Open Scene Graph 3.0三維視景仿真技術(shù)開發(fā)詳解[M].北京:國防工業(yè)出版社,2012:146-149.
[6] 李義.三維地形編輯系統(tǒng)的設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2012:19-20.
[7] 張俊霞.三維地形可視化及其實時顯示方法概論[J].電腦與信息技術(shù),2001(3):33-34.
[8] 鐘玲,黃有群,孫淑杰等.VRML構(gòu)建三維地形的拾取技術(shù)實現(xiàn)研究[J].沈陽工業(yè)大學(xué)學(xué)報,2005,27(4):414-417.
[9] 辛玉龍.三維地形自動生成技術(shù)研究及其實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2012:22-26.
[10] 李忠美,于金星,李厚樸.高斯投影與橫墨卡托投影等價性證明[J].海洋測繪,2013,33(3):17-20.
Mercator Projection 3d Dynamic Coordinate Transformation Method
HOU Guochao LIU Shu YANG Lin
(No. 91336 Troops of PLA, Qinhuangdao 066000)
The 3D digital earth is adopted to realize the coordinate transformation by using Mercator projection mostly, which plays a key rolein the research of 3D map and military geographic information. In this paper, mathematics of Mercator projection is used ingeniously to put forward a transformation method of dragging dynamic coordination in digital terrain model by using the knowledge of the coordinate transformation. It is proved to be the effective that the algorithm is used in digitalterrainthrough the 3D rendering engine OSG simulation, and it is obviously raised in conversion precision and efficiency.
coordinate transformation, Mercator
TP391
2016年9月3日,
2016年10月23日
侯國超,男,助理工程師,研究方向:視景仿真。劉蜀,男,碩士研究生,工程師,研究方向:數(shù)字仿真。楊琳,女,碩士研究生,助理工程師,研究方向:視景仿真。
TP391
10.3969/j.issn.1672-9730.2017.03.011