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

基于GPU的地下管線三維可視化建模研究

2013-08-30 10:00:16趙文吉段福洲潘李亮
計算機工程與應用 2013年18期
關鍵詞:模型

劉 浩 ,趙文吉 ,段福洲 ,曹 巍 ,潘李亮

LIU Hao1,2,3,ZHAO Wenji1,2,3,DUAN Fuzhou1,2,3,CAOWei4,PAN Liliang5

1.首都師范大學 資源環境與旅游學院,北京 100048

2.北京市城市環境過程與數字模擬重點實驗室,北京 100048

3.三維信息獲取與應用教育部重點實驗室,北京 100048

4.中國科學院 地理科學與資源研究所,北京 100101

5.北京合歌科技有限公司,北京 100085

1.College of Resources Environment and Tourism,Capital Normal University,Beijing 100048,China

2.Urban Environmental Processes and Digital Modeling Laboratory,Beijing 100048,China

3.Laboratory of 3D Information Acquisition and Application,Beijing 100048,China

4.Institute of Geographic Sciences and Natural Resources Research,Chinese Academy of Sciences,Beijing 100101,China

5.Beijing Heegle Co.Ltd,Beijing 100085,China

1 引言

管線分布在城市地下空間,構成了復雜的地下管線空間體系,傳統的二維圖形對管線的描述與表達具有很大的局限性,管線三維模型能夠直觀地描述管線的三維特征和空間關系,能真實地反映地下管線的空間分布狀況,因此地下管線的三維建模已經成為數字城市建設的重要組成部分。

目前針對地下管線三維建模的研究主要通過三維建模軟件(如Creator、3DMax等)和基于OpenGL建模實現。通過三維建模軟件構建地下管線三維模型[1-2],雖然能夠構造出較精細的管線模型但數據結構復雜、數據量龐大且不支持三維場景中的交互實時建模。因此地下管線的實時三維建模成為一個研究熱點,目前大部分的研究均基于OpenGL[3-4]實現,主要的思路是采用連續四邊形逼近管線模型,并采用合適的方法解決彎管和多連通管線問題,該類算法存在的局限主要有以下幾點:(1)由于管線模型采用分段構造連續四邊形的方法擬合生成,其擬合逼真度的提高將使模型數據量增大降低顯示速度;(2)對于多連通管線節點的處理,很多研究采取建立管件模型庫的方法,建模工作量大且不利于管線的實時建模;(3)目前的地下管線三維實時建模算法均基于CPU完成,在構建具有海量管線模型的管網系統時表現吃力。基于此,本文提出一種基于GPU編程的地下管線三維實時建模算法,該算法中CPU端只負責傳入管徑和管線中心線節點序列的坐標,將管線建模的幾乎全部計算任務交由GPU端完成,尤其是利用GPU提供的Geometry Shader(幾何著色器)自動生成管線的頂點數據并構建管線三角網能夠進一步提高建模效率,該算法大大減輕CPU端的計算負載,并有效克服了目前基于OpenGL算法的局限,能夠勝任各類地下管線的實時建模以及大規模地下管網系統的創建。

2 GPU可編程技術

早期的GPU(圖形處理器)不具備可編程性,其渲染管線只負責從內存中讀取幾何對象進行一系列矩陣變換最后輸出并繪制,用戶只能通過一些簡單的函數打開或關閉渲染管線中的某個功能。而現代的GPU具備了很強的可編程性,用戶可以通過編寫高級著色程序控制渲染管線中的各個模塊,極大擴展了GPU的功能,將原來由CPU承擔的運算遷移到GPU完成[5]。

Geometry Shader是現代GPU對渲染管線可編程性的又一次擴展。它第一次允許GPU動態生成和銷毀幾何圖元數據,大大擴展了GPU的功能。由于Vertex Shader(頂點著色器)每一次運行只能處理一個頂點數據,并且每次只能輸出一個頂點的結果。在進行大規模數據計算時,幾何圖形的繪制任務量非常龐大,如果僅僅依靠Vertex Shader來完成效率較低,Geometry Shader能根據頂點的信息批量地處理幾何圖形,即可對頂點著色器輸出的頂點數據進行函數處理,快速批量地產生出新的多邊形頂點數據[6-8]。

3 基于GPU的地下管線三維建模

利用Geometry Shader可對Vertex Shader輸出的頂點數據進行函數處理并快速批量地產生出新的多邊形頂點數據特性,本文設計由用戶預先指定管線模型的管徑,并通過鼠標交互選擇管線模型的節點位置,即CPU端只傳入管徑和管線節點的坐標序列數據,而大規模的管線三維幾何模型頂點數據的坐標計算、頂點數據的自動生成、基于頂點數據集的管線三角網構建以及管線表面紋理映射均在GPU中通過編寫HLSL高級著色程序完成,算法的流程如圖1所示。

圖1 基于GPU的管線三維建模算法流程圖

3.1 管線表面的微分處理

在平面圖中將一段管線表示為一條直線,一般以其中心線來表示,而在三維透視圖中則采用一段圓柱面來表示,以管線中心線作為圓柱面的軸心,管線截面半徑作為圓柱面的半徑。在虛擬現實中通常采用逼近法來表示,即將管線表面分成眾多連續的四邊形來擬合圓柱面[3],如圖2所示。管線擬合的逼真度與管線表面等分數直接相關,管線表面等分越細,模擬管線在直觀上就越接近真實管線,但模型的計算量也會增大,在傳統的基于CPU的算法中,隨著模型計算量增大,尤其是在構建一個具有大量管線模型的管網系統時,電腦的顯示速度將明顯降低。而在本文算法中,由于管線模型的計算工作全部交由GPU完成,不受等分數過大會影響繪制效率的限制,因此可選擇一個較大的等分數從而獲得一個較好的擬合效果。

圖2 管線表面微分處理

3.2 管線頂點坐標的計算

以管線圓柱面的一個底面圓為例,闡述管線幾何模型頂點坐標的計算方法。定義三維笛卡爾坐標O-XYZ為固定坐標系,局部坐標系o-xyz原點與底面圓s的圓心o重合,z軸為s的法線方向,y軸與固定坐標系Y軸平行,x軸根據左手法則確定。以x軸為起點沿逆時針方向將圓均分為n等份,每一等分所包含的夾角α=2π/n。則可以得出圓上第i點的坐標值為:

由空間解析幾何可以得知三維空間中的頂點其參系坐標即該頂點在局部坐標系中的坐標(x,y,z)與固系坐標即該頂點在世界坐標系中的坐標(X,Y,Z)的對應關系如公式(2)所示。其中(x0,y0,z0)為參系原點在固系中的坐標,矩陣的9個參數為兩軸系間的方向余弦,解算出矩陣參數后,即可代入求出管線斷面圓上所有頂點的三維坐標。

3.3 在GPU中生成管線三角網

Geometry Shader最大的特點就是能夠快速批量地產生出新的多邊形頂點數據,因此本文算法將管線頂點坐標的計算、管線頂點數據的自動生成以及管線三角網的構建全部移植到Geometry Shader中完成,為CPU端節省了大量的運算空間可以進行其他建模計算,提高管線實時建模的效率。此處闡述單根直管模型的構建步驟,關于彎管和多連通管線的處理將在后面給出。

(1)根據節點p1,p2和管徑r確定管線圓柱的上下底面圓;

(2)根據管徑r確定一個合適的管線表面等分數,管線表面等分數可設計算法根據管徑的大小自適應選取,也可由用戶設定;

(3)利用3.2節所述的方法計算管線圓柱上下底面圓上所有頂點的三維坐標;

(4)將所有頂點按照對應關系的順序存儲于管線三角網頂點數據集中;

(5)基于管線頂點集通過順序連接相鄰四邊形對角線構建三角網,生成管線三維幾何模型,如圖3所示。

3.4 管線的材質與紋理

地下管線由給水、排水、燃氣、熱力、電力、電信和工業管道七大類組成[9],各類管線的材也多種多樣,包括鑄鐵、合金、塑料、混凝土、陶瓷、橡膠等,可以通過為模型對象賦予相應的材質來模擬現實世界中的材質效果。用戶可預先創建自定義管線材質紋理圖,在建模時可根據需要選擇相應紋理圖進行紋理映射,紋理映射由GPU提供的Pixel Shader(像素著色器)完成,本文在實際建模時考慮到單根管線的材質一般保持不變采用了重復貼圖的方式,簡化了紋理映射的計算并且在管線表面產生環狀花紋,配合光照的設置能夠表現出較好的真實感視覺效果,如圖4所示。

圖3 管線三角網格生成

圖4 三維管線紋理映射圖

3.5 管線連接

對于彎管連接如果直接連接兩個管線的管口,會顯得粗糙真實感差,因此將管線銜接處圓滑過渡,其實現方式為:將管線拐角以圓弧替代,弧線弧度等于相鄰線段的夾角弧度,圓弧所在圓的半徑等于管徑,將圓滑處理后的管線中心線等分[3],每一等分的建模與單根管線建模方法相同,依次連接斜圓柱面生成彎管,建模效果如圖5所示。

對于多連通管線節點的連接,很多研究利用建立標準的管件庫來實現[3],但這種方法建模工作量大,適用范圍小,不利于推廣。本文采用直接相連,然后進行布爾切割運算[10],在節點處重構管線三角網以保證節點內部的連通性,該方法適用于三通及以上的多連通管線建模,無需判斷連接處的管線數量,省去了管件庫方法對每一個節點都需要選擇相應管件模型的步驟,大大簡化多連通管線節點處理的復雜度,建模效果如圖6所示。

圖5 彎管連接

圖6 多連通管線連接

4 實驗結果與分析

實驗程序是在VS2008環境下使用C++語言和Direct3D完成,使用HLSL高級著色語言進行GPU編程。硬件配置為 Intel?CoreTM2 CPU 4400@2.00 GHz,2.0 GB RAM,NVIDIA GeForce 8500 GT顯卡,1 GB顯存。

圖7展示了具有大規模地下管線模型的三維管網系統漫游時截圖,該系統采用了本文介紹的地下管線三維實時建模算法,根據二維管網分布圖及相關參數數據實時構建地下管線三維模型,最終生成三維管網系統。建模過程中系統運行流暢,即使在已經具備大量管網模型的基礎上仍然可以流暢建模,并實現了完全的實時可視化建模。

圖7 地下管線三維建模效果圖

為了獲得一個較好的管線擬合效果,本文將管線斷面圓均分為64等份,也就是說每一段管線由128個三角形面片表示,表1展示了基于本文算法進行管線實時建模時隨著管線數量的增加,系統渲染幀率和CPU占用率的變化情況。由表1可以看出,在地下管線建模過程中,隨著管線模型的增加,由于該算法幾乎將所有的計算任務全部交由GPU端完成因此CPU占用率呈現一個微弱的變化,空閑的CPU可以用來進行其他運算提高建模效率;在測試渲染幀率時將全部的管線模型均顯示在渲染范圍之內,因此隨著管線模型的增加幀率會呈現出降低趨勢,然而在實際建模過程中將只渲染經過可見性裁剪后的局部管線三角面片,因此能夠保持一個較高的渲染幀率,從而支持大規模地下管線的實時三維可視化建模。

表1 地下管線實時建模實驗實測數據

5 結束語

本文研究并實現了一種利用GPU編程的地下管線實時三維可視化建模算法,并對實驗結果進行了分析。與現有的基于CPU的算法相比,該算法最大的優勢是充分利用了GPU的運算能力完成建模過程中的絕大部分計算任務,尤其是利用Geometry Shader實現了管線頂點數據的自動生成歸避了CPU與GPU頻繁的數據傳輸,可有效提高地下管線實時建模效率。

本文只是從一個角度上將管線三維建模與GPU編程技術進行了結合,隨著GPU編程性能的不斷提高,使得以前一些效率不高的算法可以通過GPU編程重新實現,以獲得一個滿意的效果,利用現代GPU等高新計算機技術改善并進一步發展“數字城市”建設將成為數字城市可持續發展的必然。

[1]陳亞東,胡建平,王麗.城市地下三維管網建模技術研究[J].計算機與現代化,2010(8):77-79.

[2]瞿暢,張小萍.基于WTK的地下管網的虛擬設計[J].南通大學學報:自然科學版,2008,7(2):29-32.

[3]李清泉,嚴勇,楊必勝,等.地下管線的三維可視化研究[J].武漢大學學報:信息科學版,2003,28(3):277-282.

[4]簡季,吳劍,楊武年,等.基于OpenGL的三維地下管線信息系統的設計與實現[J].計算機輔助設計與圖形學學報,2004,16(10):1466-1468.

[5]劉磊,馮前進,王文輝,等.基于GPU的醫學圖像快速面繪制[J].計算機工程與應用,2007,43(32):189-191.

[6]Blythe D.The Direct3D 10 system[J].ACM Transactions on Graphics,2006,25(3):724-734.

[7]Microsoft Corporation.Direct3D 9 to Direct3D 10 considerations(Direct3D 10)[EB/OL].[2012-02-20].http://msdn.microsoft.com/en-us/library/bb205073.aspx.

[8]Microsoft Corporation.Reference for Direct3D 10[EB/OL].[2012-02-20].http://msdn.microsoft.com/en-us/library/bb205147.aspx.

[9]CJJ 61-2003中華人民共和國行業標準《城市地下管線探測技術規程》[S].北京:中國建筑工業出版社,2003.

[10]陳子輝,王麗,胡建平.DXF與OpenFlight API虛擬三維管網自動建模技術研究[J].測繪科學,2010,35(5):180-182.

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产欧美日韩专区发布| 91丝袜美腿高跟国产极品老师| 麻豆国产原创视频在线播放| 亚洲无码高清一区二区| 在线国产91| 国产97视频在线观看| 日韩免费中文字幕| 国产日本欧美在线观看| 青草视频免费在线观看| 91黄色在线观看| 国产综合色在线视频播放线视| 福利一区三区| 又粗又大又爽又紧免费视频| 欧美国产日产一区二区| 午夜日b视频| 精品福利国产| 欧美a在线看| 日韩一二三区视频精品| 国产自在线拍| 日韩av高清无码一区二区三区| 手机在线看片不卡中文字幕| 国产一级毛片在线| аⅴ资源中文在线天堂| 99热这里只有精品免费| 亚洲精品无码专区在线观看| 四虎AV麻豆| 国产新AV天堂| 国产欧美中文字幕| 91色爱欧美精品www| 欧美日韩免费观看| 亚洲成A人V欧美综合天堂| 日韩av资源在线| 99久久性生片| 亚洲午夜综合网| 国产精品香蕉在线| 国产成人狂喷潮在线观看2345| 天堂在线视频精品| 国产欧美又粗又猛又爽老| 波多野结衣视频一区二区| 国产精品成| 国产在线精品香蕉麻豆| 国产成人精品男人的天堂| 亚洲中久无码永久在线观看软件| 国产高清在线观看91精品| 91av国产在线| 亚洲人成网址| 国产www网站| 波多野结衣在线se| 亚洲日韩AV无码一区二区三区人 | 日韩午夜福利在线观看| 国产精品女同一区三区五区| 国产性生大片免费观看性欧美| 国产美女人喷水在线观看| 九九九精品成人免费视频7| 日本在线国产| 极品性荡少妇一区二区色欲| 天堂亚洲网| 青青网在线国产| 操美女免费网站| 特级做a爰片毛片免费69| 在线观看91精品国产剧情免费| 免费看av在线网站网址| 麻豆精品视频在线原创| 欧美人与牲动交a欧美精品| 国模视频一区二区| 老司机久久99久久精品播放| 免费观看国产小粉嫩喷水| 香蕉国产精品视频| 五月婷婷伊人网| 都市激情亚洲综合久久| 亚洲综合婷婷激情| 欧美a级完整在线观看| 青青草国产免费国产| 亚洲综合婷婷激情| 国产一级毛片高清完整视频版| 日本五区在线不卡精品| 亚洲—日韩aV在线| 国产小视频a在线观看| 丁香六月激情婷婷| 午夜不卡福利| 国产不卡在线看| 超清无码熟妇人妻AV在线绿巨人|