亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2013-08-30 10:00:16趙文吉段福洲潘李亮
        關(guān)鍵詞:三角網(wǎng)頂點(diǎn)管網(wǎng)

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

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

        1.首都師范大學(xué) 資源環(huán)境與旅游學(xué)院,北京 100048

        2.北京市城市環(huán)境過(guò)程與數(shù)字模擬重點(diǎn)實(shí)驗(yàn)室,北京 100048

        3.三維信息獲取與應(yīng)用教育部重點(diǎn)實(shí)驗(yàn)室,北京 100048

        4.中國(guó)科學(xué)院 地理科學(xué)與資源研究所,北京 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 引言

        管線分布在城市地下空間,構(gòu)成了復(fù)雜的地下管線空間體系,傳統(tǒng)的二維圖形對(duì)管線的描述與表達(dá)具有很大的局限性,管線三維模型能夠直觀地描述管線的三維特征和空間關(guān)系,能真實(shí)地反映地下管線的空間分布狀況,因此地下管線的三維建模已經(jīng)成為數(shù)字城市建設(shè)的重要組成部分。

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

        2 GPU可編程技術(shù)

        早期的GPU(圖形處理器)不具備可編程性,其渲染管線只負(fù)責(zé)從內(nèi)存中讀取幾何對(duì)象進(jìn)行一系列矩陣變換最后輸出并繪制,用戶只能通過(guò)一些簡(jiǎn)單的函數(shù)打開(kāi)或關(guān)閉渲染管線中的某個(gè)功能。而現(xiàn)代的GPU具備了很強(qiáng)的可編程性,用戶可以通過(guò)編寫高級(jí)著色程序控制渲染管線中的各個(gè)模塊,極大擴(kuò)展了GPU的功能,將原來(lái)由CPU承擔(dān)的運(yùn)算遷移到GPU完成[5]。

        Geometry Shader是現(xiàn)代GPU對(duì)渲染管線可編程性的又一次擴(kuò)展。它第一次允許GPU動(dòng)態(tài)生成和銷毀幾何圖元數(shù)據(jù),大大擴(kuò)展了GPU的功能。由于Vertex Shader(頂點(diǎn)著色器)每一次運(yùn)行只能處理一個(gè)頂點(diǎn)數(shù)據(jù),并且每次只能輸出一個(gè)頂點(diǎn)的結(jié)果。在進(jìn)行大規(guī)模數(shù)據(jù)計(jì)算時(shí),幾何圖形的繪制任務(wù)量非常龐大,如果僅僅依靠Vertex Shader來(lái)完成效率較低,Geometry Shader能根據(jù)頂點(diǎn)的信息批量地處理幾何圖形,即可對(duì)頂點(diǎn)著色器輸出的頂點(diǎn)數(shù)據(jù)進(jìn)行函數(shù)處理,快速批量地產(chǎn)生出新的多邊形頂點(diǎn)數(shù)據(jù)[6-8]。

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

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

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

        3.1 管線表面的微分處理

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

        圖2 管線表面微分處理

        3.2 管線頂點(diǎn)坐標(biāo)的計(jì)算

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

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

        3.3 在GPU中生成管線三角網(wǎng)

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

        (1)根據(jù)節(jié)點(diǎn)p1,p2和管徑r確定管線圓柱的上下底面圓;

        (2)根據(jù)管徑r確定一個(gè)合適的管線表面等分?jǐn)?shù),管線表面等分?jǐn)?shù)可設(shè)計(jì)算法根據(jù)管徑的大小自適應(yīng)選取,也可由用戶設(shè)定;

        (3)利用3.2節(jié)所述的方法計(jì)算管線圓柱上下底面圓上所有頂點(diǎn)的三維坐標(biāo);

        (4)將所有頂點(diǎn)按照對(duì)應(yīng)關(guān)系的順序存儲(chǔ)于管線三角網(wǎng)頂點(diǎn)數(shù)據(jù)集中;

        (5)基于管線頂點(diǎn)集通過(guò)順序連接相鄰四邊形對(duì)角線構(gòu)建三角網(wǎng),生成管線三維幾何模型,如圖3所示。

        3.4 管線的材質(zhì)與紋理

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

        圖3 管線三角網(wǎng)格生成

        圖4 三維管線紋理映射圖

        3.5 管線連接

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

        對(duì)于多連通管線節(jié)點(diǎn)的連接,很多研究利用建立標(biāo)準(zhǔn)的管件庫(kù)來(lái)實(shí)現(xiàn)[3],但這種方法建模工作量大,適用范圍小,不利于推廣。本文采用直接相連,然后進(jìn)行布爾切割運(yùn)算[10],在節(jié)點(diǎn)處重構(gòu)管線三角網(wǎng)以保證節(jié)點(diǎn)內(nèi)部的連通性,該方法適用于三通及以上的多連通管線建模,無(wú)需判斷連接處的管線數(shù)量,省去了管件庫(kù)方法對(duì)每一個(gè)節(jié)點(diǎn)都需要選擇相應(yīng)管件模型的步驟,大大簡(jiǎn)化多連通管線節(jié)點(diǎn)處理的復(fù)雜度,建模效果如圖6所示。

        圖5 彎管連接

        圖6 多連通管線連接

        4 實(shí)驗(yàn)結(jié)果與分析

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

        圖7展示了具有大規(guī)模地下管線模型的三維管網(wǎng)系統(tǒng)漫游時(shí)截圖,該系統(tǒng)采用了本文介紹的地下管線三維實(shí)時(shí)建模算法,根據(jù)二維管網(wǎng)分布圖及相關(guān)參數(shù)數(shù)據(jù)實(shí)時(shí)構(gòu)建地下管線三維模型,最終生成三維管網(wǎng)系統(tǒng)。建模過(guò)程中系統(tǒng)運(yùn)行流暢,即使在已經(jīng)具備大量管網(wǎng)模型的基礎(chǔ)上仍然可以流暢建模,并實(shí)現(xiàn)了完全的實(shí)時(shí)可視化建模。

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

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

        表1 地下管線實(shí)時(shí)建模實(shí)驗(yàn)實(shí)測(cè)數(shù)據(jù)

        5 結(jié)束語(yǔ)

        本文研究并實(shí)現(xiàn)了一種利用GPU編程的地下管線實(shí)時(shí)三維可視化建模算法,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了分析。與現(xiàn)有的基于CPU的算法相比,該算法最大的優(yōu)勢(shì)是充分利用了GPU的運(yùn)算能力完成建模過(guò)程中的絕大部分計(jì)算任務(wù),尤其是利用Geometry Shader實(shí)現(xiàn)了管線頂點(diǎn)數(shù)據(jù)的自動(dòng)生成歸避了CPU與GPU頻繁的數(shù)據(jù)傳輸,可有效提高地下管線實(shí)時(shí)建模效率。

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

        [1]陳亞?wèn)|,胡建平,王麗.城市地下三維管網(wǎng)建模技術(shù)研究[J].計(jì)算機(jī)與現(xiàn)代化,2010(8):77-79.

        [2]瞿暢,張小萍.基于WTK的地下管網(wǎng)的虛擬設(shè)計(jì)[J].南通大學(xué)學(xué)報(bào):自然科學(xué)版,2008,7(2):29-32.

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

        [4]簡(jiǎn)季,吳劍,楊武年,等.基于OpenGL的三維地下管線信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2004,16(10):1466-1468.

        [5]劉磊,馮前進(jìn),王文輝,等.基于GPU的醫(yī)學(xué)圖像快速面繪制[J].計(jì)算機(jī)工程與應(yīng)用,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中華人民共和國(guó)行業(yè)標(biāo)準(zhǔn)《城市地下管線探測(cè)技術(shù)規(guī)程》[S].北京:中國(guó)建筑工業(yè)出版社,2003.

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

        猜你喜歡
        三角網(wǎng)頂點(diǎn)管網(wǎng)
        過(guò)非等腰銳角三角形頂點(diǎn)和垂心的圓的性質(zhì)及應(yīng)用(下)
        關(guān)于頂點(diǎn)染色的一個(gè)猜想
        管網(wǎng)獨(dú)立是妥協(xié)還是改革
        能源(2018年8期)2018-09-21 07:57:20
        從管網(wǎng)獨(dú)立看國(guó)企改革
        能源(2018年8期)2018-09-21 07:57:20
        管網(wǎng)改革虛實(shí)
        能源(2018年8期)2018-09-21 07:57:18
        織起一張共管網(wǎng)
        針對(duì)路面建模的Delaunay三角網(wǎng)格分治算法
        清華山維在地形圖等高線自動(dòng)生成中的應(yīng)用
        在AutoCAD環(huán)境下不規(guī)則三角網(wǎng)構(gòu)建及等高線生成
        基于合成算法的Delaunay三角網(wǎng)生成改進(jìn)算法
        日韩免费一区二区三区在线| 欧洲亚洲色一区二区色99| 久久久久久久久国内精品影视| 神马不卡影院在线播放| 亚洲av片无码久久五月| 亚洲av蜜桃永久无码精品| 国产成人av综合亚洲色欲| 亚洲一区二区在线视频,| 水蜜桃在线观看一区二区| 女人被男人躁得好爽免费视频| 免费一区啪啪视频| 激情网色图区蜜桃av| 欧美亅性猛交内射| 人与禽交av在线播放| 午夜不卡亚洲视频| 全亚洲最大的私人影剧院在线看| 97色偷偷色噜噜狠狠爱网站| 久久国产色av| 日本人妻av在线观看| 国内嫩模自拍诱惑免费视频 | 97久久久久人妻精品区一| 亚洲色自偷自拍另类小说| 国产精品亚洲A∨无码遮挡| 一本久久精品久久综合| 国产精品久久国产精品99| 亚洲精品第一国产麻豆| 久久偷拍国内亚洲青青草| 真人抽搐一进一出视频| 欧美综合自拍亚洲综合图片区 | 美女被插到高潮嗷嗷叫| 日日碰日日摸日日澡视频播放| 亚洲av无码一区二区三区四区| 鲁丝一区鲁丝二区鲁丝三区| 日韩人妻久久中文字幕| 50岁退休熟女露脸高潮| 精品久久久久久无码中文野结衣| 内射精品无码中文字幕| 如何看色黄视频中文字幕| 国内自拍色第一页第二页| 国产精品亚洲一区二区三区在线| 亚洲AV无码专区国产H小说|