999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenGL的ArcGIS Globe動態三維符號渲染可視化研究

2016-07-28 06:51:58姚丹丹盧涵宇
廣西大學學報(自然科學版) 2016年3期
關鍵詞:可視化效果模型

姚丹丹 ,苗 放,陳 軍,盧涵宇

(1.成都理工大學地球探測與信息技術教育部重點實驗室, 四川成都610059;2.成都信息工程大學資源與環境學院, 四川成都610225;3.貴州大學大數據與信息工程學院, 貴州貴陽550025;4.北京大學遙感與地理信息系統研究所, 北京100871)

?

基于OpenGL的ArcGIS Globe動態三維符號渲染可視化研究

姚丹丹1,苗放1,陳軍2,盧涵宇3,4

(1.成都理工大學地球探測與信息技術教育部重點實驗室, 四川成都610059;2.成都信息工程大學資源與環境學院, 四川成都610225;3.貴州大學大數據與信息工程學院, 貴州貴陽550025;4.北京大學遙感與地理信息系統研究所, 北京100871)

摘要:針對ArcGIS Globe中3D圖形動態三維符號渲染受限的問題,提出一種在ArcGIS Globe中嵌入OpenGL的解決方法。利用OpenGL解析3D模型文件,實現模型的渲染與定向,并配合光照技術完成Globe 3D模型繪制;在此基礎上,使用單獨的線程監視三維場景新增的數據,并將三維符號的地心數據及其狀態保存在內存之中,以提升動態渲染的效率。實驗表明:本方法利用OpenGL改善了ArcGIS Globe的三維符號動態可視化效果和性能,具有一定的理論意義和實踐價值。

關鍵詞:OpenGL;ArcGIS Globe;3D;動態三維渲染;優化

隨著計算機大容量存儲介質、多媒體技術和可視化技術的發展,GIS 也發生了新的變化。地理信息表達形式由傳統紙質地圖發展到虛擬地理環境,維度從二維平面發展到三維立體[1-3]。其中三維GIS是當今GIS發展的一個新趨勢,具有可視化展現、立體表現效果,對客觀世界的表達給人更真實、直觀的感受。目前三維空間信息需求日益增長,三維GIS在現代新興技術驅動下穩步發展[4-5]。

目前三維GIS軟件如MultiGen Creator、3ds Max、Maya、SketchUp等三維可視化能力較強,但是空間分析能力相對較弱[6-7]。ArcGIS Globe具有強大的空間分析能力,高性能的3D 可視化能力,可以全球三維可視化展示。但是由于ArcGIS Globe沒有3D分析工具條,不能支持動態山影效果、復雜的三維符號和沿路徑移動的圖層。當特定場景中需要繪制動態三維符號時,如在三維場景中繪制傳感器錐和軌跡線時,ArcGIS Globe則無法實現動態三維效果,需要借助其他軟件實現。ArcGIS提供了OpenGL無縫集成到ArcGIS Globe的環境[8-12]。本文利用OpenGL實現Globe動態三維符號的擴展渲染,通過使用自定義的OpenGL渲染,可動態繪制高度專業化的3D復雜圖形對象,增強用戶的體驗感,擴展了Globe三維效果,具有十分重要的研究意義。

1OpenGL 3D嵌入ArcGIS Globe的基本方法

1.1ArcGlobe嵌入OpenGL方法

ArcGlobe用于展示大數據量的場景,支持對柵格和矢量數據無縫的顯示。它使用GIS數據層,顯示geodatabase和所有支持的GIS數據格式中的信息,圖層放在一個單獨的內容表中,將所有的GIS數據源整合到一個通用的全球的框架中。

ArcGlobe三維渲染使用了OpenGL繪圖環境,這為在ArcGlobe中嵌入OpenGL代碼提供了前提條件。OpenGL代碼一般放在GlobeControl的BeforeDraw、AfterDraw事件中。

ArcGlobe通過OpenGL繪圖的一般流程:①繪制圖形并上色。使用命令GL.glBegin()和GL.glEnd()進行開始、結束繪制。根據條件使用glColor3f(r,g,b)進行上色。通過簡單的OpenGL算法就能繪制基本圖形到Globe中。②繪制圖形紋理。先繪制位圖,根據紋理圖像創建OpenGL幾何要素,旋轉、縮放并繪制在正確的地理位置。然后編譯顯示列表,最后結合OpenGL繪制幾何紋理,應用程序中通過幾何顯示列表和圖像紋理來繪制紋理元素。

1.2ArcGlobe的空間坐標系統

ArcGlobe使用一個地心空間直角坐標系將所有數據投影到球形表面,該坐標系定義為原點O與地球質心重合,Z軸指向地球北極,X軸指向格林尼治子午面與地球赤道的交點,Y軸垂直于XOZ平面構成右手坐標系。已添加到ArcGlobe 文檔中的所有數據都會被動態投影到該坐標系中。OpenGL繪制的模型要正確疊放至地球表面對應位置,需要將物體的空間坐標系轉換至ArcGlobe地心空間直角坐標系中。大地經緯度坐標(緯度φ,經度λ)可以用地心直角坐標X、Y、Z表示。

本文設定坐標系的零經線為格林威治子午線,如果定義不一致,在使用各公式前首先將零經線轉換到格林威治子午線。設橢球長半軸為a,短半軸為b,扁率倒數為1/f,那么:

(1)

式(1)中:ν為緯度φ處的卯酉圈曲率半徑,如式(2)所示:

(2)

φ和λ分別為坐標點的緯度和經度,h為相對橢球面的高度,e為橢球第一偏心率,如式(3)所示:

(3)

反之,X、Y、Z地心直角坐標也可以轉換成經緯度大地坐標,如式(4)所示:

(4)

通過迭代計算,則:

(5)

h=Xsecλsecφ-v,

(6)

式(5)與式(6)中λ從格林威治本初子午線起算。

1.3Globe中模型的渲染與定向

繪制3D模型前除了需要獲取3D模型的地心坐標外,還需對模型進行渲染定向。顯示列表是一個緩存OpenGL幾何圖像優化的渲染技術,多次重繪同一圖形需要多次調用用于更改狀態的函數。由于顯示列表本身也有一定的開銷,顯示列表必須首先被編譯。編譯顯示列表時,它的幾何形狀必須完全指定。對OpenGL在Globe繪圖優化使用顯示列表如下:

m_intDispListNo = Gl.glGenLists(1);

Gl.glNewList(m_intDispListNo, Gl.GL_COMPILE);

圖1 定向示意圖Fig.1 Directional diagram

Render();

Gl.glEndList();

首次繪制模型時,模型以三角形網格呈現在顯示列表中。三角網格通過面集合三重頂點繪制而成。當渲染顯示列表中的一個圖形,該圖形應該是定向的方式,渲染時模型的Y軸應與在Globe表面處的法向量對準。在Globe處X的向量可由Globe原點與給定X坐標歸一化求得。從所得的Globe處的x分量可用于構建一個繞X軸的旋轉矩陣,而z分量也可用于構造一個繞Z軸的旋轉矩陣。

這些旋轉矩陣可以調用Gl.glMultMatrix獲得,如圖1定向示意圖顯示Θ和Φ為模型Y軸與Globe表面上法向量的選擇角度,如果圖形需要被排列在一個特定的方向(0°~359°),這樣就可以使用Gl.glRotated和繞Y軸(矢量)旋轉。

2ArcGIS Globe動態三維符號展現的總體框架

ArcGlobe借助動畫,可以對視角的變化、文檔屬性的變更和地理移動進行可視化處理;同時還可以通過簡單的3D符號化渲染出逼真的 3D 世界。在ArcGlobe內部渲染中實現基于OpenGL的ArcGIS Globe三維空間數據展示,必須在ArcGlobe的AfterDraw事件創建一個事件處理。基于OpenGL的ArcGIS Globe三維數據展示分為3D模型繪制與動態圖形繪制,對3D模型的繪制主要分為格式解析、渲染效果和數據檢索等操作;對于動態圖形繪制主要分為地心計算、圖形繪制、添加紋理和性能優化操作。總體框架示意圖如圖2所示:

圖2 總體框架示意圖

3ArcGIS Globe動態三維符號展現的關鍵技術

3.1解析和渲染3D模型文件

①OBJ文件格式

OBJ文件是Alias|Wavefront公司為它的一套基于工作站的3D建模和動畫軟件“Advanced Visualizer”開發的一種標準3D模型文件格式。它是一種文本文件,可以直接用寫字板打開進行查看和編輯修改;不需要任何種文件頭(File Header),由一行行文本組成,注釋行以符號“#”為開頭,有字的行都由關鍵字(Keyword)開頭。基本結構如表1所示。

②MTL文件格式

MTL為Matrix Template Library的簡寫,中文為矩陣模板庫,屬于C++語言機制下的科學與工程計算的數學函數庫,專注于線性代數方向。由于其采用了多種最新的編程技術,所以程序執行效率很高,可與Fortran媲美。MTL格式如表2所示。

表1 OBJ格式

表2 MTL格式

3.2Globe中模型的渲染效果

①Globe模型光照效果

ArcGlobe中模型的材質與光照效果如何更好的展示是需要解決的重要問題之一。模型的材質與光效效果由OpenGLRender方法控制,該方法是調用AfterDraw上的GlobeDisplay事件。調用glIsEnabled渲染用戶自定義的ArcGlobe。為了確保在所繪制的圖形上使用一個標準的局部照明效果,需在Globe環境光照效果關閉后對圖形進行渲染。

②Globe模型材質效果

默認情況下,ArcGlobe中使用的材料的著色模式GL_COLOR_MATERIAL。這是一個在需要繪制較多數目幾何頂點時僅用單一材料參數的性能成本最小化的技術。當超過一個單一的材料參數需要改變時調用glMaterialf*,因此必須將GL_COLOR_MATERIAL禁用。

圖3光照效果

Fig.3Lighting effect

圖4材質效果

Fig.4Material effect

3.3OpenGL動態繪圖數據的檢索

使用OpenGL繪制圖形時,除了用戶直接通過算法繪制圖形外,還可根據已有的繪圖數據進行繪制。在一般情況下,Globe在繪制事件中無限循環使用OpenGL應用程序繪制圖形場景,從而體現Globe中圖形的改變以及某些事件發生后場景內的動態繪制。GlobeControl為了達到用戶交互功能,使用GlobeDisplay。ActiveViewer的ReDraw事件也可達到繪制效果。如果要呈現的數據需要每次AfterDraw事件被觸發檢索,應用程序性能上面臨相當大的壓力。為了避免這個問題,在第一次繪圖時檢索一個完整的數據集,然后使用單獨的線程來監視,當附加的數據,額外的數據點(例如巡航點)需要繪制時,由該線程檢索數據源數據插入巡航點,更新繪制的數據結構。下一次Globe重繪時,數據結構中額外插入的數據點也進行繪制,因此不會消耗較多的時間處理檢索數據。

3.4繪制圖形優化

根據繪制條件有時一個對象可能在一個繪制周期中需要重畫多次,如果每一次都去計算地心坐標和方向將會影響效率。因此當對某一個對象進行更新時,將其地心坐標和方向保存。使它能夠調用內部的DrawImmediate方法,從而提升繪制效率。

本文以雷達模型動態繪制為例進行測試,一個雷達模型主要由長方體、圓柱、立方體、圓錐曲面、球體等立體圖形構成,共有3 216個三角形。雷達模型復雜,在場景中,雷達是動態變化的,需要多次繪制雷達模型,如圖5所示。運用OpenGL繪制算法,對不同規模數量的三維圖形,采用直接繪制和優化繪制兩種方法進行繪制對比。表3為兩種繪制方式繪制時間的測試結果(本文以繪制圖形數量和耗時為對比條件)。

表3 三維圖形繪制時間測試對照表

由表3可得到結論:①對相同規模數量的三維數據繪制,優化繪制耗時少于直接繪制,說明通過保存需要多次繪制圖形的地心與方向一定程度上可以優化繪制效率。②優化繪制方法隨著規模數量增加耗時增加緩慢,直接繪制耗時與優化耗時比值增大,說明優化算法對繪制大規模圖形是不錯的解決方案。

圖5 動態繪圖示意圖

4結語

ArcGIS Globe顯示三維事物更加逼真,但是缺乏動態繪制三維模型能力,通過嵌入OpenGL可擴展其三維功能,繪制渲染復雜的動態3D圖形。OpenGL 3D模型繪制時,保存繪制對象的地心坐標和方向,可優化繪制效率,減少了動態繪制3D模型數據加載時間,增強了圖形繪制的連貫性,彌補了ArcGIS Globe動態三維渲染的不足,提高了Globe中顯示三維模型的性能。

參考文獻:

[1]陶瓊,朱大明.三維GIS的發展趨勢與建模分析[J]. 地礦測繪,2008,24(4):35-37.

[2]冷小鵬,苗放,楊文暉,等.基于G/S模式的三維GIS監測系統研究[J]. 廣西大學學報(自然科學版),2012,37(2):317-322.

[3]MONTGOMERY M.Developing 3-D analyst enhancements using openGL[OB/EL].(2004-06-21)[2015-10-11]. http://proceedings.esri.com/library/userconf/proc04/docs/pap1614.

[4]和平鴿工作室.OpenGL 三維圖形系統開發與實用(實用技術篇)[M]. 北京:清華大學出版社,2003.

[5]吳岱衡.基于OpenGL開發的無序透明渲染[D]. 廣州:華南理工大學,2012.

[6]李世娟.3DMAX在三維GIS建模中的應用與研究[C]//中國計量協會冶金分會2012年會論文集,貴陽:冶金自動化,2012(S2):371-373.

[7]賴冬林,張豐,杜震洪,等.基于遠程渲染的移動三維GIS構建方法[J]. 計算機應用與軟件,2015,32(7):196-199.

[8]楊鍵,陳利學,龔捷.基于OpenGL 的三維圖形繪制和3D建模[J]. 軟件導刊,2009,8(9):168-170.

[9]JAMES D.M, PHIL A.A GIS-based borehole data management and 3d visualization system[J]. Computers & Geosciences, 2006,32(10):1699-1708.

[10]魯志偉.OBJ 模型文件在 OpenGL 中的導入與處理[J]. 科技信息,2013,5(7):94-95,124.

[11]李凌.基于OpenGL的遙感圖像三維可視化重建[D]. 南京:南京郵電大學,2013.

[12]YUAN G J, ZHANG J J.According to OpenGL of 3D earth’s surface model research with realization[J]. Editorial Office of Journal of Liaoning Technical University (Natural Science Edition), 2005,24(Z1):17-19.

(責任編輯梁碧芬)

收稿日期:2015-10-26;

修訂日期:2016-01-16

基金項目:國家自然科學基金資助項目(61071121);中國博士后科學基金資助項目(2014M562511XB);貴州省科技廳基金資助項目(黔科合2014[7633])

通訊作者:苗放(1958—),男,北京人,成都理工大學教授,博士生導師;E-mail:mf@cdut.edu.cn。

doi:10.13624/j.cnki.issn.1001-7445.2016.0816

中圖分類號:TP391

文獻標識碼:A

文章編號:1001-7445(2016)03-0816-06

Research on visualization of dynamic 3D symbol rendering by OpenGL embedded in ArcGIS Globe

YAO Dan-dan1, MIAO Fang1, CHEN Jun2, LU Han-yu3,4

(1.Key Lab of Earth Exploration and Information Techniques of Ministry of Education,Chengdu University of Technology, Chengdu 610059, China; 2.Institute of Resources and Environment, Chengdu University of Information Technology, Chengdu 610225, China;3.College of Big Data and Information Engineering, Guizhou University, Guiyang 550025, China;4.Institute of Remote Sensing and Geographical Information System, Peking University, Beijing 100871,China)

Abstract:Aiming at the problem that dynamic three-dimensional symbol rendering of 3D graphics is restricted in ArcGIS Globe, a solution that embeds OpenGL in ArcGIS Globe is proposed. OpenGL is used for parsing a 3D model file, realizing rendering and orientation of the model and drawing the Globe 3D model with lighting technology. A separate thread is in charge of monitoring the added data in 3D scene and storing the geocentric data and states of 3D symbol into memory, so as to promote efficiency of dynamic rendering. The given experiments show that the presented method can improve the dynamic visualization effect and performance of 3D symbol in ArcGIS Globe with OpenGL, and have certain theoretical significance and practical value.

Key words:OpenGL;ArcGIS Globe;3D;dynamic three-dimensional render;optimize

引文格式: 姚丹丹,苗放,陳軍,等.基于OpenGL的ArcGIS Globe動態三維符號渲染可視化研究[J].廣西大學學報(自然科學版),2016,41(3):816-821.

猜你喜歡
可視化效果模型
一半模型
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
按摩效果確有理論依據
重要模型『一線三等角』
基于CGAL和OpenGL的海底地形三維可視化
重尾非線性自回歸模型自加權M-估計的漸近分布
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
迅速制造慢門虛化效果
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
主站蜘蛛池模板: 四虎永久在线精品国产免费| 青青草原国产av福利网站 | 九色在线观看视频| 婷婷综合在线观看丁香| 久久综合色天堂av| 一级毛片在线播放| 欧美亚洲国产视频| 欧美第一页在线| 中文字幕无线码一区| 久久狠狠色噜噜狠狠狠狠97视色| 亚洲欧洲免费视频| 欧美国产精品不卡在线观看| 国产噜噜在线视频观看| 精品国产91爱| 97在线观看视频免费| 怡红院美国分院一区二区| 国产精彩视频在线观看| 在线欧美日韩| 久久国产乱子| 中文字幕在线看视频一区二区三区| 99热这里只有精品免费| 伊人天堂网| 久久久久久久久久国产精品| 亚洲成人黄色网址| 国产欧美在线| 国产第一色| 国产精品亚洲αv天堂无码| 激情视频综合网| 国产综合亚洲欧洲区精品无码| 国产精品亚洲专区一区| 欧美日韩中文国产| 国产精品人莉莉成在线播放| 国产精品一区在线麻豆| 欧美日本在线一区二区三区| 久青草网站| 国产成人精品一区二区不卡| 国产精品久久自在自线观看| 伊人久久精品无码麻豆精品| 成·人免费午夜无码视频在线观看| 在线免费亚洲无码视频| www欧美在线观看| 91精品啪在线观看国产91九色| 免费欧美一级| 四虎国产在线观看| аv天堂最新中文在线| 57pao国产成视频免费播放| 日韩免费毛片| 99久久精品国产麻豆婷婷| 欧洲成人在线观看| 免费无码AV片在线观看中文| 国产精品夜夜嗨视频免费视频| a级毛片免费播放| 日本黄色不卡视频| 国产成人综合网| A级毛片高清免费视频就| 少妇精品在线| 99精品在线视频观看| 99久久精品免费看国产电影| 福利在线免费视频| 欧美精品成人一区二区在线观看| 欧美亚洲网| 一区二区三区四区日韩| 国产精品久线在线观看| 亚洲九九视频| 欧美一区二区福利视频| 国产特级毛片| 日本精品视频| 国产网友愉拍精品视频| 久久公开视频| 国产性猛交XXXX免费看| 国产美女在线免费观看| 国产成人精品亚洲77美色| 亚洲国产精品日韩专区AV| 亚洲成a人片| 中文字幕天无码久久精品视频免费| 天天综合色天天综合网| 永久天堂网Av| 日韩色图在线观看| 小蝌蚪亚洲精品国产| 亚洲天堂网站在线| 亚洲精品图区| 国产高清无码麻豆精品|