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

GPS幾何監測系統的三維可視化設計與初步實現

2010-11-13 08:01:20黃聲享沈鳳嬌張翠峰
測繪工程 2010年1期
關鍵詞:可視化設置系統

黃聲享,沈鳳嬌,張翠峰

(武漢大學 測繪學院,武漢 430079)

GPS幾何監測系統的三維可視化設計與初步實現

黃聲享,沈鳳嬌,張翠峰

(武漢大學 測繪學院,武漢 430079)

現代GPS幾何監測系統的數據采樣率高,監測點數多,數據管理與利用的可視化技術能使這些數據信息生動、直觀。文中以VC++6.0為開發工具、OpenGL為圖形接口,利用OpenGL提供的幾何建模、光照等特性,結合蘇通大橋 GPS監測系統數據,設計并初步實現三維監測數據的動態可視化顯示。

GPS;幾何監測;可視化;OpenGL

隨著計算機技術的發展,可視化的概念已經得到大大擴展,它不僅包括科學計算可視化,而且包括工程數據和測量數據的可視化[1]。

在建筑物的實時監測系統中,監測數據的可視化可以非常清楚、直觀地反映出結構物的動態變化情況,更容易呈現對被監測對象的工作狀態、荷載能力等的監測。因此,對監測數據信息的可視化,是大型結構物實時動態監測系統中必不可少的功能之一[2]。GPS由于其具有的全天候、高精度、高效率、自動化等優點,目前,已廣泛應用在工程建(構)筑物的監測。GPS動態監測的數據采樣率已可設置到10~20 Hz,多點全天候工作的 GPS監測系統,其數據量顯得非常大,迫切需要實時、動態的一維、二維和三維可視化技術作為支撐。

至今已有許多繪圖軟件能夠實現數據的可視化,比如:目前,常用的3DM AX建模軟件,但它很難用于實時的數據建模;AutoCAD提供了二次開發的功能,但是不能實現實時刷新,也很難用于數據的實時動態顯示。OpenGL作為底層圖形開發工具,是獨立于操作系統和硬件環境的三維圖形庫,具有強大的圖形和跨平臺的能力,目前,已被廣泛應用于實體造型、模擬仿真、CAD/CAM等諸多領域[3-5]。現代橋梁實時幾何監測系統也有采用OpenGL進行可視化的嘗試,如虎門大橋的監測系統中加入了三維位移實時動態演示系統[6]。

本文以VC++6.0為開發工具,OpenGL為圖形接口,設計并初步實現了GPS幾何監測系統的可視化,包括一維的三方向位移時程可視化、二維平面位移可視化和三維空間動態可視化等功能。

1 GPS動態幾何監測系統簡介

結合蘇通大橋 GPS幾何監測系統[7]的實測數據進行可視化建模。該遠程 GPS動態幾何監測系統由基準站、監測站、監控中心和數據通訊等部分組成。基準站接收視場內所有的 GPS衛星信號得到差分信息,并通過通訊鏈將這些信息發送給監測站;監測站一方面跟蹤視場內的 GPS衛星得到自己的載波觀測值;另一方面接收來自基準站的差分信息,通過GPS軟件實時處理得到監測點的三維坐標,并隨GPS采樣頻率而實時地更新坐標,同時將其發送到監控中心;監控中心采用數據處理軟件,對數據進行處理與分析,得到監測點在不同方向上的位移參數,實時地對其進行可視化顯示,并存入動態數據庫中。

通過一維可視化建模可以得到監測點單一方向的位移時程曲線,能夠反映監測部位的動態性和振幅范圍,進一步分析可以診斷其結構的穩定性;通過監測數據的二維可視化分析監測點的平面位移情況,觀察其平面變化的平衡位置及范圍;三維可視化可以更加生動直觀地反映監測點的三維空間動態變化狀況。

2 基于VC++的OpenGL應用程序框架的建立

目前,在眾多的W indow s應用程序開發工具中,微軟公司的VC++6.0已經成為OpenGL圖形應用的首選開發工具。要使用OpenGL圖形庫來開發 2D/3D的應用程序,必須解決程序框架問題[2,8-9]。

由于OpenGL是獨立于硬件系統、窗口系統和操作系統,所以在VC++6.0中調用OpenGL的函數編寫程序之前,必須加入一些設置。

1)在文件視圖中增加OpenGL視圖類的頭文件“OpenGLView.h”和應用程序文件“OpenGLView.cpp”到工程。

2)在“StdAfx.h”頭文件中包含,〈glgl.h〉、〈gl glu.h〉、“glaux.h”頭文件。

3)設置OpenGL連接。在“工程”的“設置”中選擇“連接”選項卡,在“對象庫模塊”一項中鍵入: opengl32.lib glu32.lib glaux.lib,即建立好 M FC類與OpenGL的連接。

4)將新建工程視圖類的基類改為OpenGL視圖類,實現以OpenGL為應用程序接口,對其視圖類中的函數進行覆蓋,繪制自己所需要的圖像。

5)在新建工程的視圖類中調用OpenGLView中的繪圖函數OnDraw,覆蓋CView中的同名函數。

6)重載OpenGL視圖類中的虛函數:初始化窗口函數、窗口重繪函數、圖形渲染函數和銷毀窗口函數。

這樣,一個OpenGL應用程序框架就建好了,只需要在新建工程的視圖類中添加自己所需的繪圖代碼即可。

3 監測系統的三維可視化實現流程

OpenGL的基本繪圖過程為先初始化繪圖窗口,接著進行視景變換和投影變換,然后繪制所需的圖形,并且通過改變窗口大小來重新進行視景變換,最后在程序將要退出前銷毀窗口。程序實現的基本流程見圖1。

圖1 可視化程序流程圖

3.1 窗口初始化

首先,將窗口背景顏色清理為黑色,然后,設置深度緩存;再設置一個定時器:SetTimer(1,50, NULL),根據需要設置窗口重繪的時間間隔。添加一個布爾變量作為程序開始的標志,將其初始值設為TRUE,這是設置動畫效果的關鍵。

3.2 視口設置與投影變換

要在計算機屏幕的正確位置顯示圖形,必須確定計算機屏幕坐標系與實體坐標系的關系,將所要繪制的物體,經過幾何變換,放置到屏幕正確的位置。這個過程就需要進行視口設置與投影變換。

1)用glViewport(x,y,w,h)定義一個視口,函數參數(x,y)是視口在屏幕窗口坐標系中的左下角點坐標,參數w和h分別為視口的寬度和高度。

2)調用 glM atrixMode(GL_PROJECTION),說明當前矩陣方式是投影。

3)調用矩陣初始化函數glLoad Identity(),重置投影矩陣。

4)設置視口的大小。調用glOrtho(left,right, bottom,top,near,far)函數,創建一個平行視景體,即創建一個正射投影矩陣。其中近剪裁平面是一個矩形,其左下角的三維坐標是(left,bottom, -near),右上角的坐標是(right,top,-near);同理,遠剪裁面其左下角空間坐標為(left,bottom, -far),右上角空間坐標(right,top,-far),如果沒有其他變換,正射投影的方向平行于 Z軸,且視點朝向Z負軸。

5)選擇模型觀察矩陣 glM atrixMode(GL_ MODELV IEW),然后再重置模型觀察矩陣,調用glLoad Identity()。

3.3 繪制圖形

在工程實現監測點的一維、二維、三維動態可視化,需設置消息處理函數,按下不同的鍵,執行不同的顯示模式。按下鍵盤數字“1”、“2”、“3”分別顯示一維、二維、三維位移變化圖。按下“1”時執行函數Mode1D(),按下“2”時執行函數Mode2D(),按下“3”時執行函數Mode3D()。所以要在所建工程的源程序文件中添加新的成員函數Mode1D、Mode2D和Mode3D,規定各自的畫法。另外,在窗口中新建一個子對話欄顯示當前監測點的時間和坐標信息。

3.3.1 一維可視化程序編制與實現

在成員函數Mode1D()中添加代碼。在一個窗口中同時顯示 X、Y、Z坐標的位移時程變化圖,具體算法如下。

1)清除屏幕和深度緩存。glClear(GL_COLOR_BUFFER_B IT|GL_DEPTH_BUFFER_B IT );

2)畫背景。用glBegin(GL_QUADS)繪制三組獨立的填充四邊形作為背景,用glVertex2f()繪制單精度浮點型的二維平面頂點,這些頂點為即將繪制的四邊形的坐標,用glEnd()收尾。接著在屏幕上畫坐標軸。

3)讀數據,畫位移時程圖。①畫流動虛線,使點的位移時程圖看上去更加生動;②統計 X、Y、Z坐標的最大最小值和平均值,為后面平移畫點做好準備;③進行OpenGL幾何變換;④開始讀文件,分別在對應的背景上以點的方式(GL_PO IN TS)畫讀到的第一個點分坐標;⑤讀取數據的過程中,用某種顏色分別以點的方式畫當前的 X、Y、Z坐標點;⑥畫位移時程線。用畫獨立線的方式(GL_L INES)連接當前點與前一個點,并且使用與當前點不同的顏色。每畫一個點做一次平移變換,使所繪的當前點能一直在屏幕上顯示。

4)實例效果。以蘇通大橋某監測點2007-03-17T12:20~13:30的監測數據(二維和三維實例所用數據也為此數據)為例,得到的位移時程圖如圖2所示。

圖2 某監測點的一維可視化效果圖

圖2中從上到下的三個橫軸分別代表 x、y、z的平均位置,淺色的豎軸為波動幅度的參考線。右側顯示了當前點即最右端的點的日期、時間和坐標。深色的豎線為流動線,以便動態效果更加明顯。

3.3.2 二維可視化程序編制與實現

在成員函數Mode2D()中添加代碼。顯示監測點的瞬時平面位置,同時還要用不同顏色繪制平面位置變化的軌跡,具體算法:

1)清除屏幕和深度緩存。

2)畫背景:首先畫一個四邊形作為背景平面,再畫坐標軸。

3)設置點的屬性特征:先設置要繪制點的大小,再對點進行反走樣平滑處理。

4)讀數據,畫點位圖:①剛開始讀文件時,畫出點的初始平面位置;②往后讀數據時,用某種顏色畫出當前數據之前所有點的軌跡;③用另外一種顏色畫當前點。

5)實例效果:見圖3。

3.3.3 三維可視化程序編制與實現

1)畫前設置。

glShadeModel(GL_SMOO TH);//啟用陰影平滑

glEnable(GL_DEPTH_TEST);//啟用深度測試

glDep th Func(GL_LEQUAL);//所做深度測試的類型

glEnable(GL_PO IN T_SMOOTH);//啟用點平滑

glEnable(GL_CULL_FACE);//不畫多邊形的背面

glFrontFace(GL_CCW);//頂點逆時針方向定義的多邊形為前面

2)添加光照。光照是OpenGL一個非常重要的功能,為了使立方體有立體感,在繪制之前要添加光源。

3)OpenGL初始變換。因為OpenGL在繪制三維圖形時,它默認的是圖4所示的坐標軸向。而一般用的空間坐標系的軸向如圖5所示。所以要進行初始的旋轉變換,變換代碼如下:

圖3 二維可視化效果圖

4)開始繪圖:①繪制立方體的六個平面:畫之前先啟動光照。多邊形模式采用 glPolygonMode( GL_BACK,GL_FILL)。表示所畫的多邊形模式為背面填充,這樣可以透過立方體的前面看到里面點的運動。②畫坐標軸:畫之前要關閉光照和深度測試,因為坐標軸是畫在立方體內部的,如果不關閉深度測試,線將會被它前方的立方體的面遮擋而無法顯示;打開混合GL_BLEND可以使繪制的軸線與立方體更好的融合。③讀數據,畫監測點:統計X、Y、Z坐標的最大值與最小值之差及平均值。以最大值與最小值之差的絕對值來確定縮放比例;統計平均值目的是平移坐標,使繪制點的平均位置在立方體中心。然后每讀取一個數據,就畫一個點,則在窗口中就可以動態顯示其位置。

5)添加消息處理函數。其實現功能是:鼠標能夠拖動立方體,進行旋轉,觀察移動點在不同方向上的位移。

3.4 銷毀窗口

程序退出前,調用函數DestroyScene(),銷毀窗口,關掉計數器。

4 結束語

本文以VC++6.0為開發工具、OpenGL為圖形接口,利用OpenGL提供的幾何建模、光照等特性,結合GPS實時監測系統的數據,初步實現了監測點的一維、二維和三維時程數據的動態可視化顯示。通過對GPS高采樣率監測數據的可視化,可以直觀地察視監測點位置的動態變化狀態,并分析其動態特征。這比以往僅依靠事后的圖表來分析顯得更為及時、直觀清楚,有助于實現對被監測對象的實時監控。三維可視化技術在現代大型建筑工程的幾何監測系統中具有廣闊的應用前景。

[1]丁愛玲.計算機圖形學基礎教程[M].北京:電子工業出版社,2004.

[2]楊培軍.基于 GPS的大跨度橋梁健康監測系統研究[D].成都:西南交通大學,2006.

[3]王同洲,郭淑娟,廖 平.1000m海試水面船運動監測可視化仿真[J].計算機仿真,2004,261(5):177-179.

[4]廖 平,劉少軍.基于OpenGL的深海采礦系統監測可視化[J].礦山機械,2004,6(8):6-8.

[5]毛朝陽.衛星監測中三維可視化圖形技術應用[J].計算機應用,1999(8):18-20.

[6]陸新征,江見鯨.計算機圖形仿真技術在結構動力分析中的應用[C].中國計算力學大會論文集.2001.

[7]黃聲享,楊保岑,張 鴻,等.蘇通大橋施工期幾何監測系統的建立與應用研究[J].測繪學報,2009,38(1):66-72.

[8]Dave Shreiner,Mason Woo,Jackie Neider.OpenGL編程指南[M].北京:人民郵電出版社,2005.

[9]吳 斌,段海波,薛鳳武.OpenGL編程權威指南[M].北京:中國電力出版社,2001.

The 3D visualization and initial implementation of GPSgeometry monitoring system

HUANG Sheng-xiang,SHEN Feng-jiao,ZHANG Cui-feng
(School of Geodesy and Geomatics,Wuhan University,Wuhan 430079,China)

Modern GPS geometry monitoring system has high hits as well as p lentiful monitoring stations, so the visualization of data management and its utilization can make the data information getting from the system mo re vivid and direct.In this paper,stress is laid on the initial imp lementation of the outputs of three-dimensionalmonito ring data,through the research of how to make use of VC++6.0 as the development tool,OpenGL as the graphic interface by w hich the geometry modeling,lighting are p rovided,and finally the monito ring data from GPSmonito ring system of Sutong Bridge.

GPS;geometry monitoring;visualization;OpenGL

TP391.9

A

1006-7949(2010)01-0001-04

2009-04-05

國家科技支撐計劃項目(2006BAG04B03)

黃聲享(1964-),男,教授,博士.

[責任編輯:李銘娜]

猜你喜歡
可視化設置系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
本刊欄目設置說明
主站蜘蛛池模板: 亚洲视屏在线观看| 91丝袜乱伦| 狠狠色综合网| 欧美性天天| 免费毛片全部不收费的| 最新国产午夜精品视频成人| 91破解版在线亚洲| 丝袜美女被出水视频一区| 色综合天天综合中文网| 香蕉蕉亚亚洲aav综合| 最近最新中文字幕在线第一页| 91视频区| 精品国产电影久久九九| 有专无码视频| JIZZ亚洲国产| 日日拍夜夜操| 亚洲黄色高清| 中文字幕在线一区二区在线| 久久综合一个色综合网| 伊人查蕉在线观看国产精品| 日本成人不卡视频| h视频在线播放| 综合网天天| 一级毛片在线播放| 国产微拍精品| 波多野结衣中文字幕久久| 99精品热视频这里只有精品7| 538国产在线| 亚洲成人在线免费观看| 久久久噜噜噜久久中文字幕色伊伊 | 伊人婷婷色香五月综合缴缴情 | 免费a级毛片18以上观看精品| 国产不卡一级毛片视频| 十八禁美女裸体网站| 无码AV动漫| 午夜无码一区二区三区在线app| 特级欧美视频aaaaaa| 国产香蕉一区二区在线网站| 久久亚洲国产一区二区| 精品久久高清| 三级视频中文字幕| 伊人成色综合网| 国产成人无码综合亚洲日韩不卡| 午夜视频免费试看| 欧美色图久久| 欧美日韩综合网| 欧美精品在线观看视频| 国产一在线观看| 伊人久久精品无码麻豆精品| 热这里只有精品国产热门精品| 亚洲国产欧美国产综合久久| 国产国语一级毛片| 97在线免费| 国产免费黄| 亚洲国产91人成在线| 伊人久久福利中文字幕| 美女潮喷出白浆在线观看视频| 香蕉网久久| 国产精品丝袜视频| 久久天天躁狠狠躁夜夜躁| 免费全部高H视频无码无遮掩| 成人日韩视频| 国产永久免费视频m3u8| 狼友视频一区二区三区| 天堂岛国av无码免费无禁网站 | 老色鬼欧美精品| 国产欧美在线| 国产精品观看视频免费完整版| 亚洲高清在线天堂精品| 国产系列在线| 国产91视频免费观看| 国产成本人片免费a∨短片| 国产精品毛片一区视频播| 日韩在线视频网站| 91青青草视频在线观看的| 国产亚洲成AⅤ人片在线观看| 亚洲AV无码久久精品色欲| 国产成人AV综合久久| 成·人免费午夜无码视频在线观看| av尤物免费在线观看| 欧美性色综合网| 免费一级毛片在线观看|