• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于OSGEARTH的三維數(shù)字地球平臺設計與實現(xiàn)

      2015-04-25 07:28:12任清華楊化斌
      電子科技 2015年10期
      關鍵詞:數(shù)字地球海浪構(gòu)件

      陳 波,任清華,楊化斌

      (空軍工程大學 信息與導航學院,陜西 西安710077)

      “數(shù)字地球”概念最早是由美國副總統(tǒng)戈爾在美國科學研究院提出的[1]。數(shù)字地球不僅可以提供數(shù)字地圖地理信息查詢服務,還可滿足人們探索地球、管理地球的愿望。其基本思想是將高分辨率的遙感影像覆蓋全球,并通過建立覆蓋全球的數(shù)字高程模型和地球景觀模型,形成虛擬地球[2]。

      近年來涌現(xiàn)了大量數(shù)字地球軟件。國外有Google公司的Google Earth,NASA的World Wind,微軟的Virtual Earth等,國內(nèi)有北大/北航的China Star,武漢大學的Geo Globe,中科院遙感所的DEPS CAS等[3],均含有高精度全球衛(wèi)星影像,且提供簡單的二次接口或部分開源,但具有以下不足:(1)只能使用單一的軟件自帶數(shù)字地球數(shù)據(jù),無法集成其他軟件所帶的數(shù)字地球數(shù)據(jù)。(2)大多數(shù)軟件屬于商業(yè)軟件,價格昂貴,少數(shù)開源軟件使用復雜,功能受限[3]。(3)無法進行面向?qū)嶋H工程應用的二次開發(fā),軟件靈活性較差,無法滿足多方面需求。

      針對以上問題,本平臺將選擇一個新的開源三維地形渲染引擎osgEarth來進行三維數(shù)字地球平臺開發(fā)。

      OpenSceneGraph(OSG)是一個基于工業(yè)圖形標準OpenGL的高層次圖形開發(fā)API接口,通過它程序員能更加快速、便捷地創(chuàng)建高性能、跨平臺的交互式圖形程序[4]。

      osgEarth是一個基于OSG使用標準C++語言開發(fā)的實時地形模型加載和渲染工具,具有良好的多源數(shù)據(jù)支持與數(shù)據(jù)管理能力。其采用驅(qū)動器方式來支持管理GIS數(shù)據(jù)源,內(nèi)置多種驅(qū)動器,如GDAL驅(qū)動器,用于處理影像和DEM數(shù)據(jù);TMS驅(qū)動器,用于處理采用TMS協(xié)議的瓦片數(shù)據(jù)等。此外,osgEarth的高擴展性使得用戶可根據(jù)需求自行擴展其他類別的驅(qū)動器[5-7]。

      osgEarth采用圖層概念進行各類數(shù)據(jù)管理,osgEarth圖層包括影像層、高層層、模擬矢量層等[8]。不同的圖層對應不同數(shù)據(jù)類型。這種機制更易于不同分辨率的影像、高程以及模型數(shù)據(jù)的疊加[9-10]。

      本文通過研究osgEarth三維地形實時渲染引擎內(nèi)部結(jié)構(gòu),利用VC++開發(fā)平臺集合osg3.1.0和osgEarth2.7開發(fā)包,建立三維球體模型,在此球體模型上加載衛(wèi)星影像數(shù)據(jù)、數(shù)字高程數(shù)據(jù)(DEM)、光照數(shù)據(jù)、矢量數(shù)據(jù)、地表數(shù)據(jù),構(gòu)造出一個開源可供二次開發(fā)的實時、流暢、逼真的三維數(shù)字地球基礎性平臺。

      1 平臺概述

      平臺以osgEarth核心庫為基礎,以滿足實際工程需要為目的。隨著需求不斷提高和計算機虛擬現(xiàn)實技術(shù)的發(fā)展,視景仿真細節(jié)要求越來越高,高程、衛(wèi)片數(shù)據(jù)需求隨之增加,這些都對傳統(tǒng)建模和調(diào)用方式、渲染過程形成挑戰(zhàn);在海量數(shù)據(jù)調(diào)用渲染的基礎上,平臺還需根據(jù)項目需求及實際應用提供二次開發(fā)接口、承載新的數(shù)據(jù)處理能力。數(shù)據(jù)處理能力是影響現(xiàn)實仿真系統(tǒng)實時交互能力以及應用中模擬訓練質(zhì)量的關鍵因素,也是數(shù)字化地球模擬平臺亟待解決的核心。

      針對以上各種局限,在整體設計方案中,數(shù)字地球基礎平臺主要涉及3方面內(nèi)容:數(shù)據(jù)存儲、數(shù)據(jù)解析和渲染、應用插件加載。由于數(shù)據(jù)量較大,對三維數(shù)字地球設計使用B/S設計架構(gòu),如圖1所示。

      圖1 三維數(shù)字地球B/S設計架構(gòu)

      數(shù)字地球平臺為實際工程項目先提供一個效率與效果表現(xiàn)俱佳的基礎球體,然后在客戶端提供豐富的針對業(yè)務的開發(fā)接口,可讓用戶結(jié)合自身業(yè)務需要的模型、業(yè)務的支撐數(shù)據(jù),進行更加具體的業(yè)務開發(fā),最后將數(shù)據(jù)流處理結(jié)果在客戶端進行展示。

      2 技術(shù)難點及解決方案

      2.1 基于數(shù)據(jù)庫存儲的LOD四叉樹模型

      osgEarth采用動態(tài)四叉樹LOD方式對數(shù)據(jù)進行組織,此時數(shù)據(jù)被劃分為不同LOD層次的瓦片序列,渲染地形時根據(jù)視點遠近進行動態(tài)調(diào)度和加載。這種動態(tài)四叉樹組織方式理論上可支持無限的數(shù)據(jù)量負載[4]。但當數(shù)據(jù)達到GB或TB以上時,影像的實時處理就變得異常緩慢。

      雖可采用金字塔等方式來加快影像的處理,但仍不能滿足實時渲染的要求,為此在進行三維地形場景構(gòu)建時需要對影像和DEM數(shù)據(jù)進行預先瓦片分割處理,服務端采用數(shù)據(jù)庫方式對數(shù)據(jù)進行存儲與響應。

      本算法的核心是將四叉樹和LOD結(jié)合,四叉樹保證了地表空間能夠精細劃分,LOD技術(shù)保證了能在合適的距離和角度下顯示與之對應的地形,基于數(shù)據(jù)庫存儲又保證了在實時渲染時每一層的數(shù)據(jù)量可預見,因此可大幅提高索引效率。

      數(shù)據(jù)具體分配流程:

      現(xiàn)有數(shù)據(jù)項所在層行列為image(Lev,Row,Col)。獲取該數(shù)據(jù)項所在數(shù)據(jù)庫和表名稱分配算法如下:

      (1)計算數(shù)據(jù)項在當前層的標號,假設標號為Id,則計算式(1)如下

      (2)確定數(shù)據(jù)項所在數(shù)據(jù)庫名稱。若Lev≤15,數(shù)據(jù)庫名為Map15,若Lev>15,則計算n的值如式(2)所示

      (此處DBMax為理論值10億),根據(jù)層號以及n即可確定數(shù)據(jù)庫名(例如Lev=17,n=2,數(shù)據(jù)庫名稱即為Map17_02)。

      (3)確定數(shù)據(jù)項所在表名稱,計算m值,如式(3)所示

      若m=1,則直接用層號確定表名(例如Lev=9,表名稱即為Level0_9),若m>1,則根據(jù)層號以及m值確定表名(例如Lev=14,m=3,表名稱即為Level14_03)。

      (4)表結(jié)構(gòu)設計。數(shù)據(jù)庫中的存儲方式是二進制形式的,且每個二進制影像數(shù)據(jù)對應該數(shù)據(jù)在數(shù)字地球場景中的位置,所以,在數(shù)據(jù)庫的表結(jié)構(gòu)中應當包含影像數(shù)據(jù)的位置信息、二進制數(shù)據(jù)信息,以及數(shù)據(jù)信息的長度,表結(jié)構(gòu)設計如表1所示。

      表1 數(shù)據(jù)庫中表結(jié)構(gòu)設計

      根據(jù)表結(jié)構(gòu)可方便地利用視點依賴技術(shù),確定當前場景內(nèi)的瓦片,根據(jù)瓦片在數(shù)字地球場景中的位置訪問數(shù)據(jù)庫,加載對應的影像數(shù)據(jù)信息。

      2.2 基于改良的Higgins算法的海浪模擬

      目前模擬海浪的方法主要有流體力學方法、基于海浪譜的方法、幾何造型法以及線性疊加法。線性疊加方法是目前國內(nèi)外使用最多的海浪仿真方法,其基本思想是基于Longuest-Higgins模型模擬海浪,但這種方法生成的海浪波峰比較圓滑,海浪逼真性較差。本文提出分波幅和分相位的擾動算法,改進了基于線性風浪譜的圓滑波峰現(xiàn)象。

      線性疊加法將平穩(wěn)的海浪視為平穩(wěn)具有各態(tài)歷經(jīng)性的隨機過程,將風浪波動視為無限個振幅、頻率和初相位不等,且在水平面上與軸線沿不同方向傳播的簡單余弦波疊加而成。由于海浪能量頻帶較窄,高頻和低頻的能量均較小,計算時可不考慮這些組成波的影響,模擬的海浪較平穩(wěn)。改進的水波紋數(shù)據(jù)模型,加入更加自然的隨機撓動,與傳統(tǒng)的數(shù)學模型進行疊加,使得海水的渲染更加自然。

      (1)海水波紋的基礎數(shù)學模型。在實際工程應用中為了使所選頻率更具有代表性以減少所要選的組成波數(shù)目,通常采用等頻間隔或者等能量間隔方法對頻率進行分割,進而求得方向分布函數(shù)和波振幅;根據(jù)深水波浪頻散關系可確定海面高度場。風浪高度算法如式(4),浪高模型為與X軸成不同角度θ方向傳播的簡單余弦波疊加而成。

      式中,ζ為瞬間波浪高度;Hs為海平面上的平均高度;ζi為第i個分量波浪高度;ki和ωi分別表示第i個分量的深水傳播系數(shù)和分量角頻率;ki=ωi/g,g為重力加速度;g=9.81 m/s;φi為構(gòu)成第i個相位角;n為簡諧波個數(shù)。由式(4)可算出波浪的實時高度,再由高度的實時變化來動態(tài)模擬海面,這種方式可基本表現(xiàn)波浪的變化趨勢,但生成的海浪波峰較圓滑,真實感較差,如圖2所示。

      圖2 Higgins模型海浪效果

      (2)改進的波紋疊加模型。按照式(4)數(shù)學模型算出的模擬海面具有明顯的線性痕跡,尤其是波浪形態(tài)比較規(guī)則,真實感較差。為增強風浪波紋的隨機效果,使用擾動算法生成的Δζ和Δφ對分波幅和分相位進行擾動

      式中,分波幅Δξ和分相位Δφ為隨機變量;χ(xzt)為海面高度;R為隨機函數(shù),值域為[-ci,ci];c1和c2分別為分波幅和分相位的隨機域整數(shù);ci為R[-ci,ci]向區(qū)間[-1.0,1.0]映射的常量。Δξ和Δφ的隨機特性作用于海平面上的所有點(xs,zs),因此,海面的規(guī)則性被破壞,效果得到明顯改善,如圖3所示。

      經(jīng)反復實驗得出:當Δξ∈[0.75,1.25],Δφ∈[0.65,1.35]時,風浪尖鋒的效果相對最佳。

      3 設計與實現(xiàn)

      3.1 平臺設計

      三維數(shù)字地球平臺作為基礎支撐平臺,應能適應未來業(yè)務應用需求的變化和功能的拓展,且具有一定的前瞻性和穩(wěn)定性。采用軟件模塊化構(gòu)件技術(shù)進行設計實現(xiàn),軟件構(gòu)件是一個集成化程度高,具有規(guī)范接口和確定上下文依賴的組裝單元,能在框架結(jié)構(gòu)下被直接或間接調(diào)用形成其他的構(gòu)件或系統(tǒng),對于降低軟件開發(fā)周期或成本具有明顯的意義。

      三維數(shù)字地球平臺框架結(jié)構(gòu)如圖4所示,最底層為圖形硬件,第2層為基于OpenGL的底層渲染支持庫,第3層為OSG場景圖形渲染庫,第4層為osgEarth地形渲染庫,第5層為設計的三維數(shù)字地球平臺,第6層為基于該平臺開發(fā)的各種應用軟件。

      圖4 三維數(shù)字地球平臺框架結(jié)構(gòu)

      三維數(shù)字地球平臺由平臺核心庫構(gòu)件、掛件工具構(gòu)件、地形矢量分析構(gòu)件、場景特效構(gòu)件、星空仿真構(gòu)件、地球光照構(gòu)件、海洋效果構(gòu)件、場景元素快照存取構(gòu)件、碰撞檢測構(gòu)件等組成,用于支持二次開發(fā)。在實際工程中,可根據(jù)項目需要進行構(gòu)件裝備。

      3.2 平臺開發(fā)設置

      創(chuàng)建了一個VC++2010的解決方案:Earth.sln,在該解決方案下為每個構(gòu)件創(chuàng)建一個工程,然后設置好各構(gòu)件之間的依賴關系,便于提高開發(fā)效率。采用C++語言和面向?qū)ο笏枷脒M行編程,協(xié)調(diào)好源碼變更。在開發(fā)平臺同時,實時發(fā)布已經(jīng)完成的構(gòu)件接口,以支持二次開發(fā)。

      4 結(jié)束語

      從面向?qū)嶋H工程需求出發(fā),設計了三維數(shù)字地球引擎。平臺采用軟件構(gòu)件化設計方式,支持構(gòu)件的靈活裝載,為二次開發(fā)提供了便利。相比其他的三維數(shù)字地球平臺,該平臺在數(shù)據(jù)加載方面有較大優(yōu)勢,集成了海洋平臺,在海浪渲染上有重大改進。平臺集成了大量第三方庫,使得其可適應復雜環(huán)境的模擬和對未知環(huán)境的預測。

      [1] 李晶.三維數(shù)字地球構(gòu)建關鍵技術(shù)研究[D].成都:電子科技大學,2012.

      [2] 劉讓國,彭會湘,韋二龍.基于OSG的三維數(shù)字地球引擎設計與實現(xiàn)[J].計算機與網(wǎng)絡,2013(3):129-131.

      [3] 王金宏,朱軍,盧秋陽,等.基于osgEarth的虛擬校園場景建模研究[J].地理信息世界,2011(1):65-70.

      [4] 吳小東,許捍衛(wèi).基于OSGearth的城市三維場景構(gòu)建[J].地理空間信息,2013,11(2):107-111.

      [5] 李新放.基于OSG的海洋環(huán)境三維可視化系統(tǒng)研究[D].青島:國家海洋局第一研究所,2012.

      [6] 肖鵬,劉更明,曹明亮.OpenSceneGraph三維渲染引擎編程指南[M].北京:清華大學出版社,2010.

      [7] 張立強.構(gòu)建三維數(shù)字地球的關鍵技術(shù)研究[D].北京:中國科學院研究生院,2004.

      [8] 王銳,錢學雷.OpenSceneGraph三維渲染引擎設計與實賤[M].北京:清華大學出版社,2009.

      [9] 劉小玲,楊紅雨,郭虎齊.基于GPU粒子系統(tǒng)的大規(guī)模雨雪場景實時模擬[J].計算機工程與設計,2012,33(6):2398-2401,2436.

      [10]楊文軍,劉歡,王新歡.二三維一體化技術(shù)在油田應急中的應用[J].測繪與空間地理信息,2013(36):213-214.

      猜你喜歡
      數(shù)字地球海浪構(gòu)件
      一種基于數(shù)字地球的日標保障框架體系
      中國信息化(2022年4期)2022-05-06 21:24:05
      丫丫和小海浪
      幼兒園(2021年13期)2021-12-02 05:13:54
      海浪
      小讀者(2021年2期)2021-11-23 07:17:34
      樊應舉
      書香兩岸(2020年3期)2020-06-29 12:33:45
      建筑構(gòu)件
      建筑構(gòu)件
      建筑構(gòu)件
      建筑構(gòu)件
      數(shù)字地球公司新發(fā)射衛(wèi)星
      河北遙感(2014年3期)2014-07-10 13:16:48
      DISCRETE GLOBAL GRIDS:RETROSPECT AND PROSPECT
      子长县| 麟游县| 凉城县| 肇源县| 中超| 丰都县| 长春市| 皮山县| 正定县| 城口县| 威远县| 古蔺县| 绥芬河市| 颍上县| 那曲县| 西华县| 广丰县| 桑植县| 兴山县| 晋宁县| 雷山县| 泽库县| 乐安县| 海林市| 庆云县| 盐源县| 桂林市| 麟游县| 喀什市| 三门峡市| 辽宁省| 永胜县| 嘉黎县| 清远市| 札达县| 颍上县| 兴仁县| 河东区| 鄯善县| 普洱| 收藏|