《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于marble的三維可視化技術(shù)研究
基于marble的三維可視化技術(shù)研究
2016年微型機(jī)與應(yīng)用第09期
程延鋒,王俊江,曹紅艷,王艷俠
(中國電波傳播研究所,山東 青島 266107)
摘要: 隨著三維可視化技術(shù)的高速發(fā)展和廣泛應(yīng)用,很多應(yīng)用工程領(lǐng)域需要三維地理信息系統(tǒng)顯示空間數(shù)據(jù)。據(jù)此介紹了marble的特點(diǎn)和應(yīng)用方式,詳細(xì)論述使用VS2008和Qt構(gòu)建marble源碼的基本過程。應(yīng)用實(shí)例表明,基于marble的空間數(shù)據(jù)三維圖形顯示真實(shí)、形象、直觀。
關(guān)鍵詞: 三維可視化 marble QT VS2008
Abstract:
Key words :

  程延鋒,王俊江,曹紅艷,王艷俠

  (中國電波傳播研究所,山東 青島 266107)

  摘要:隨著三維可視化技術(shù)的高速發(fā)展和廣泛應(yīng)用,很多應(yīng)用工程領(lǐng)域需要三維地理信息系統(tǒng)顯示空間數(shù)據(jù)。據(jù)此介紹了marble的特點(diǎn)和應(yīng)用方式,詳細(xì)論述使用VS2008Qt構(gòu)建marble源碼的基本過程。應(yīng)用實(shí)例表明,基于marble的空間數(shù)據(jù)三維圖形顯示真實(shí)、形象、直觀。

  關(guān)鍵詞:三維可視化;marble;Qt;VS2008

0引言

  隨著計(jì)算機(jī)技術(shù)和圖形技術(shù)的進(jìn)步,三維可視化技術(shù)得到了迅速的發(fā)展,并廣泛應(yīng)用到了軍事、地理和礦產(chǎn)等諸多領(lǐng)域[16]。為了對空間數(shù)據(jù)進(jìn)行可視化應(yīng)用研究,相對于虛擬的二維地球平面載體,虛擬的三維地球模型作為載體更具有直觀性和真實(shí)性,所以選擇三維地球模型作為載體。考慮如果從底層開始建立比較實(shí)用的三維地球模型,則需要大量的人力在很好的硬件環(huán)境下花費(fèi)大量的時間和精力才可完成開發(fā)工作,但是所做出的效果也不一定比目前流行的軟件好。比如谷歌的Google Earth[5]就是一個典型的代表。然而,Guogle Earth也有自身問題,如存在三維數(shù)據(jù)的數(shù)據(jù)量巨大、代碼數(shù)量大、操作繁瑣、瀏覽速度慢及難以脫離專業(yè)軟件環(huán)境等缺點(diǎn),而GNU下的marble[8]為解決這一問題提供了一個有效的途徑。

1marble簡介和特點(diǎn)

  marble是一個地理地圖集和虛擬桌面地球儀,具有一套完整的地理位置信息,可以使用marble查找地點(diǎn),輕松地創(chuàng)建地圖、測量距離以及檢索與位置相關(guān)細(xì)節(jié)。marble帶有一個小型數(shù)據(jù)庫,如果可以連接互聯(lián)網(wǎng),marble可以連接到流行的互聯(lián)網(wǎng)百科全書“維基百科”。marble提供了多種不同的視圖,可以在線瀏覽地球上的地圖區(qū)域,也可以把地圖區(qū)域下載下來,然后離線使用。marble的所有特性都是由libMarble庫所提供的。libMarble是基于Qt框架所建立的庫,Qt是一個多平臺的C++圖形用戶界面應(yīng)用程序框架,它為程序員開發(fā)多平臺應(yīng)用程序提供了方便[9]。marble還有三個非常突出的優(yōu)點(diǎn):

  (1)marble是一個跨平臺的開源軟件,支持的操作系統(tǒng)包括Linux、Windows、Mac OS X和MeeGo Qt/C++;

  (2)由于libMarble是基于模塊和插件的,可根據(jù)需要在marble中嵌入自己所編寫的插件;

  (3)可以對由Keyhole標(biāo)記語言(Keyhole Markup Language, KML)所編寫的文件進(jìn)行解釋,把文件中所描述和保存的地理信息如點(diǎn)、線、面和3D模型展現(xiàn)出來。

2marble應(yīng)用方式和源碼構(gòu)建

  2.1marble應(yīng)用方式

  基于marble自身的特點(diǎn),有兩種方式可以對空間數(shù)據(jù)進(jìn)行可視化應(yīng)用研究。

  (1) 在marble中,根據(jù)需要可以編寫特定功能的插件,將對空間數(shù)據(jù)可視化的功能作為一個獨(dú)立的插件嵌入到marble中;

  (2) 通過編譯源代碼,生成對應(yīng)的動態(tài)庫,在動態(tài)庫的基礎(chǔ)上建立一個獨(dú)立的程序?qū)崿F(xiàn)對空間數(shù)據(jù)可視化的應(yīng)用研究。

  本文采用第二種方法實(shí)現(xiàn)對空間數(shù)據(jù)可視化的應(yīng)用研究,其主要包括以下兩個方面。

  (1) 下載marble的源代碼,然后通過cmake、Qt4和VS2008進(jìn)行編譯和建立相應(yīng)的動態(tài)庫marblewidgetd.dll,在建立的程序中,調(diào)用動態(tài)庫marblewidgetd.dll提供的MarbleWidget和zoomView等API生成虛擬三維地球模型。

  (2) marble分層進(jìn)行顯示,可通過生成不同的層,顯示對應(yīng)的不同場景,繼承LayerInterface類,在層上實(shí)現(xiàn)三維圖形的顯示、旋轉(zhuǎn)、平移、縮放和漫游等功能。

  2.2marble源碼構(gòu)建

  以下是編譯marble的具體步驟,操作系統(tǒng)采用Windows。

  (1)安裝所需要的軟件以及配置相關(guān)環(huán)境

  ①安裝VS2008;

  ②安裝Qt,同時把安裝路徑加入到系統(tǒng)的環(huán)境變量中;

  ③安裝QtVSaddin;

  ④安裝cmake;

  ⑤下載marble源代碼。

  (2)cmake marble源代碼,在cmake gui配置文件中,輸入marble源代碼的位置和marble源代碼的構(gòu)建位置。

  (3)在cmake中點(diǎn)擊“configure”按鈕,選擇Visual Studio 9 2008。

  (4)點(diǎn)擊“Generate”生成marble對應(yīng)的工程。

  (5)用VS2008打開上步生成的marble工程,進(jìn)行構(gòu)建。

  (6)構(gòu)建完成后,進(jìn)行安裝,從而將庫和可執(zhí)行文件默認(rèn)安裝在C:\\Program Files\\marble。

  此時,可以采用調(diào)用其生成的動態(tài)庫marblewidgetd.dll和靜態(tài)庫marblewidgetd.lib進(jìn)行三維可視化的應(yīng)用。

3應(yīng)用實(shí)例

  下面通過繪制地域網(wǎng)格實(shí)例說明基于marble的應(yīng)用開發(fā)方法及其三維效果。以三維圖形組件庫為基礎(chǔ),子類化marble的MarbleWidget類,實(shí)現(xiàn)了三維可視化窗體空間,該控件可以插入到其他Qt窗體控件中,通過Qt中信號和槽的消息通信機(jī)制實(shí)現(xiàn)三維的顯示和交互,具體步驟如下。

  (1) marblewidgetd.dll、marblewidgetd.lib和相關(guān)數(shù)據(jù)文件放到繪制地域網(wǎng)格工程目錄之下;

  (2) 在定義MarbleWidget類的對象的頭文件中,加入如下代碼:

  //定義MarbleWidget類的頭文件

  #include <marble/MarbleWidget.h>

  //定義繼承LayerInterface類的頭文件

  #include "reglayer.h"

  using namespace Marble;

  MarbleWidget* m_pWgt;

  reglayer * m_pLayer;

  (3) 在定義MarbleWidget類的源文件中,主要加入如下代碼:

  //申請marble對象

  m_pWgt = newMarbleWidget(this);

  m_pWgt->setGeometry(QRect(0,0,500,500));

  //加入主題地圖紋理

  m_pWgt->setMapThemeId("earth/srtm.dgml")

  //marble初始大小

  m_pWgt->zoomView(1500);

  ……

  //申請對應(yīng)的圖層

  m_pLayer = new QregLayer(m_pWgt);

  //圖層加入marble

  m_pWgt->map()->addLayer(m_pLayer);

  (4)在定義的reglayer層中,render()是主要的繪制地域網(wǎng)格等圖形三維顯示的函數(shù);以經(jīng)度50°、緯度10°為圖1基于marble的地域網(wǎng)格中心,6°一個方位(60個方位),400 km一個距離段(10個距離段),繪制一個圓形的地域網(wǎng)格,其效果圖如圖1所示。

001.jpg

4結(jié)論

  本文進(jìn)行了基于marble的三維可視化研究,包括marble的編譯、安裝以及如何應(yīng)用;基于marble的空間數(shù)據(jù)顯示真實(shí)、形象、直觀,三維可視化效果好。基于marble的三維顯示已應(yīng)用在很多實(shí)際項(xiàng)目中,解決了很多實(shí)際問題,具有很好的實(shí)用與經(jīng)濟(jì)價值。

參考文獻(xiàn)

  [1] 楊富民,萬剛,李鋒.復(fù)雜戰(zhàn)場電磁態(tài)勢三維可視化研究[J].測繪工程,2012, 21(2): 3538.

  [2] 潘立武.基于地理信息系統(tǒng)技術(shù)的潰壩洪水三維可視化研究[J].北京聯(lián)合大學(xué)學(xué)報,2013, 27(4): 1923.

  [3] 宋潔華,郝君,趙志忠,等.基于ArcGIS Engine的三維地理信息軟件設(shè)計(jì)與應(yīng)用[J].海南師范大學(xué)學(xué)報(自然科學(xué)版), 2009, 22(3): 326330.

  [4] 申皓,劉青昆,龔蔚青.基于OSG的油藏三維可視化系統(tǒng)研究[J].微型機(jī)與應(yīng)用,2014, 23(8) : 3234.

  [5] 史曉亮.基于Google Earth的潘家窯工區(qū)煤田三維地震勘探的技術(shù)應(yīng)用[J].工程地理物理學(xué)報,2014, 11(4): 457461.

  [6] 劉家學(xué),鄧飛.基于OSG的飛機(jī)3D維修多場景動態(tài)調(diào)度方法[J].電子技術(shù)應(yīng)用,2014, 40(2):118121.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美自拍偷拍| 欧美福利精品| 亚洲国产视频直播| 亚洲自拍偷拍网址| 日韩一区二区精品在线观看| 在线不卡欧美| 国产一区久久| 国产一区二区三区av电影| 国产乱码精品一区二区三| 一本色道久久综合亚洲精品按摩| 一本久久a久久免费精品不卡| 国产精品人人爽人人做我的可爱| 亚洲国产婷婷| 在线视频欧美一区| 亚洲精品少妇网址| 亚洲三级免费电影| 亚洲精品偷拍| 亚洲精品少妇| 在线视频欧美精品| 亚洲视频在线免费观看| 亚洲深夜福利网站| 在线日韩视频| 亚洲电影毛片| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲第一综合天堂另类专| 亚洲精品一区二区三区婷婷月 | 国产精品久久毛片a| 国产精品电影网站| 国产精品日韩欧美一区| 国产日韩精品久久| 欧美系列电影免费观看| 国产精品成人va在线观看| 国产精品无码专区在线观看| 国产欧美激情| 狠狠色丁香婷婷综合| 亚洲国产成人tv| 99精品欧美一区二区三区综合在线 | 久久精品五月| 欧美**字幕| 欧美日韩亚洲高清| 欧美a级理论片| 欧美日韩国产色站一区二区三区| 老**午夜毛片一区二区三区| 蜜乳av另类精品一区二区| 欧美日本不卡视频| 国产精品区一区| 国产亚洲欧洲997久久综合| 欧美三级电影精品| 国产精品一区二区三区乱码| 激情成人亚洲| 亚洲精品久久久蜜桃| 久久综合成人精品亚洲另类欧美| 欧美成人免费大片| 欧美成熟视频| 国产精品九九| 韩国av一区二区三区在线观看| 国产欧美日韩精品丝袜高跟鞋| 欧美日韩亚洲视频一区| 国产精品日韩在线| 一区在线播放| 亚洲午夜一级| 亚洲激情自拍| 亚洲欧美国产制服动漫| 老色鬼久久亚洲一区二区| 欧美日韩亚洲视频一区| 欧美日本一道本在线视频| 国产精品久久一区二区三区| 欧美午夜女人视频在线| 国产一区二区三区直播精品电影| 国产午夜精品视频免费不卡69堂| 国产婷婷精品| 国产午夜精品久久| 国产偷国产偷亚洲高清97cao| 国产欧美亚洲视频| 亚洲黄页一区| 欧美一区视频| 宅男噜噜噜66一区二区| 久久久久久尹人网香蕉| 国产精品高清在线| 欧美偷拍一区二区| 狠狠干综合网| 亚洲欧美日韩精品久久奇米色影视 | 午夜精品久久久久久99热| 亚洲人成亚洲人成在线观看图片| 91久久精品国产91久久| 亚洲国产美女久久久久| 亚洲欧美国内爽妇网| 欧美精品久久久久久久久老牛影院| 欧美日韩视频在线| 国产精品久久久久久妇女6080| 国产精品尤物福利片在线观看| 国产亚洲午夜高清国产拍精品| 黄色成人在线网站| 亚洲桃花岛网站| 一本色道久久综合亚洲精品不卡| 亚洲天堂网在线观看| 香蕉久久国产| 欧美片第1页综合| 亚洲激情视频在线| 欧美一级精品大片| 欧美激情精品| 国产精品久久精品日日| 亚洲黄色片网站| 亚洲国产精品一区二区第四页av | 99riav1国产精品视频| 亚洲国产精品ⅴa在线观看| 性欧美大战久久久久久久久| 欧美日韩精品一区二区天天拍小说| 国产精品久久夜| 99国产欧美久久久精品| 亚洲狼人综合| 午夜国产精品视频| 欧美日韩精品二区| 国产色综合网| 亚洲欧美精品在线| 日韩视频中文| 欧美激情女人20p| 亚洲国产乱码最新视频| 91久久精品一区| 美女视频网站黄色亚洲| 欧美性大战久久久久久久| 亚洲精品一区二区网址| aa级大片欧美| 欧美日韩在线观看一区二区三区| 国产真实乱偷精品视频免| 日韩一级黄色av| 一本久道久久综合狠狠爱| 欧美精品18+| 国产亚洲亚洲| 亚洲最新色图| 亚洲午夜久久久久久久久电影网| 鲁大师成人一区二区三区| 国产一区二区在线免费观看 | 一区二区三区日韩精品视频| 亚洲一区二区欧美| 欧美日韩亚洲一区二区| 中文在线资源观看视频网站免费不卡| 亚洲国产精品一区二区www在线| 亚洲欧美第一页| 国产精品丝袜白浆摸在线| 亚洲国产成人高清精品| av不卡在线观看| 欧美色精品天天在线观看视频| 在线成人亚洲| 亚洲精品日韩一| 欧美日韩精品在线播放| 一区二区三区国产盗摄| 香蕉成人久久| 激情六月婷婷久久| 亚洲理论电影网| 欧美性开放视频| 午夜在线观看免费一区| 美玉足脚交一区二区三区图片| 欧美精品九九99久久| 欧美午夜理伦三级在线观看| 亚洲一级二级| 久久久久久一区二区| 亚洲日本中文字幕免费在线不卡| 亚洲国产精品电影| 欧美成人福利视频| 中日韩美女免费视频网址在线观看| 99riav久久精品riav| 欧美日韩一区自拍| 亚洲欧美在线一区二区| 亚洲欧美欧美一区二区三区| 国产视频在线观看一区二区三区| 亚洲欧美日韩天堂| 亚洲欧美日本伦理| 国产一区二区三区黄| 日韩视频在线你懂得| 国产久一道中文一区| 亚洲人成网站色ww在线| 玖玖玖国产精品| 日韩小视频在线观看| 99精品国产在热久久婷婷| 国产精品美女主播| 亚洲激情成人| 国产精品蜜臀在线观看| 亚洲日本在线视频观看| 国产精品美女久久久久久免费| 亚洲中无吗在线| 免费看亚洲片| 亚洲欧洲日产国产综合网| 亚洲欧美综合一区| 亚洲高清一二三区| 欧美一区二区三区四区夜夜大片| 国产精一区二区三区| 最新亚洲视频| 国产农村妇女毛片精品久久莱园子| 亚洲欧美亚洲| 久久精品国产亚洲一区二区| 国内精品久久久久久久果冻传媒| 久久精品国产亚洲精品| 久久蜜桃资源一区二区老牛| 亚洲精品影院| 香蕉久久夜色精品国产使用方法| 国产日韩一区在线| 夜夜嗨一区二区三区| 激情综合中文娱乐网| 欧美一区二区三区成人|