国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

城市軌道線路設(shè)計(jì)三維地下結(jié)構(gòu)造型算法

2012-06-24 09:36:26王明生施仲衡
都市快軌交通 2012年6期
關(guān)鍵詞:管狀選線原點(diǎn)

王明生 施仲衡

(1.北京交通大學(xué)土木建筑工程學(xué)院 北京 100044;2.石家莊鐵道大學(xué)交通運(yùn)輸學(xué)院 石家莊 050043)

1 城市軌道交通選線設(shè)計(jì)概況

選線設(shè)計(jì)是城市軌道交通系統(tǒng)規(guī)劃設(shè)計(jì)工作中的核心環(huán)節(jié),具有牽涉面廣、復(fù)雜性強(qiáng)、責(zé)任重大等特點(diǎn)[1]。線路走向與空間位置選擇合理與否,將直接影響到工程實(shí)施的難易程度及運(yùn)營后的客流效益。由于城市軌道交通線路多處于城市中心區(qū),地上建筑物和地下構(gòu)筑物情況復(fù)雜,線路設(shè)計(jì)中容易發(fā)生與既有建筑物和各種設(shè)施設(shè)備的位置沖突?,F(xiàn)有的選線設(shè)計(jì)方法多是基于地形平面圖和調(diào)查勘探資料,在二維設(shè)計(jì)環(huán)境下進(jìn)行的平、縱交替設(shè)計(jì),不易直觀地發(fā)現(xiàn)各種潛在的沖突,需要內(nèi)外業(yè)反復(fù)驗(yàn)證,不僅設(shè)計(jì)效率低下,且容易造成設(shè)計(jì)缺陷,難以滿足城市軌道交通選線設(shè)計(jì)工作的需求。隨著現(xiàn)代信息技術(shù)的發(fā)展,將遙感技術(shù)、數(shù)字?jǐn)z影測量技術(shù)、虛擬現(xiàn)實(shí)技術(shù)、數(shù)字地質(zhì)技術(shù)等綜合集成,建立一個(gè)能夠滿足復(fù)雜城市環(huán)境下軌道交通選線要求的三維可視化選線設(shè)計(jì)系統(tǒng),讓工程師在逼真顯示的三維可視化環(huán)境中進(jìn)行選線方案設(shè)計(jì)與決策,已成為城市軌道交通選線設(shè)計(jì)信息化發(fā)展的趨勢[2]。

城市軌道交通三維可視化選線設(shè)計(jì)系統(tǒng)的核心技術(shù)是為各種實(shí)體建立三維顯示模型。目前,在鐵路線路三維可視化設(shè)計(jì)的理論研究與實(shí)踐方面已經(jīng)取得了較大進(jìn)展,對(duì)于地形場景生成[3]、路基和橋梁等構(gòu)筑物建模[4]以及地質(zhì)體三維建模[5]等已經(jīng)有了比較完善的模型和算法,這些模型與算法稍加改造即可用于城市軌道交通三維選線設(shè)計(jì)系統(tǒng)中。但是,城市軌道交通選線設(shè)計(jì)有其自身的特點(diǎn),即在城市環(huán)境中地下構(gòu)筑物結(jié)構(gòu)復(fù)雜,潛在沖突多,在三維環(huán)境下為地下結(jié)構(gòu)進(jìn)行準(zhǔn)確、快速地建模是一個(gè)關(guān)鍵問題。目前,在地下構(gòu)筑物的三維造型方面還缺少準(zhǔn)確高效的算法。針對(duì)這一問題,筆者結(jié)合城市軌道交通三維可視化選線設(shè)計(jì)的特點(diǎn),提出了一種高效的地下結(jié)構(gòu)三維造型算法,并結(jié)合OpenGL平臺(tái)探討了三維造型算法中坐標(biāo)變換這一核心問題。

2 地下結(jié)構(gòu)三維造型算法基本思路

在城市軌道交通線路設(shè)計(jì)中,涉及的地下構(gòu)筑物主要有地下隧道、建筑物樁基和各種市政管線設(shè)施。這些構(gòu)筑物的斷面形式(馬蹄形、圓形或矩形等)雖然有所不同,但都可以抽象為由直線段和曲線段連接而成的管狀實(shí)體。在對(duì)這類管狀實(shí)體進(jìn)行三維表達(dá)時(shí),對(duì)于直線段的建模比較簡單,難點(diǎn)在于對(duì)曲線段的處理。對(duì)于這一問題目前的解決方法主要有兩種:一種方法是直接繪制相接的兩條直線管段,再在銜接處進(jìn)行剪裁處理[6],這種方法思路簡單,但接頭處有棱角,外觀不光滑;另外一種方法是用球體表達(dá)銜接點(diǎn)[7],這種方法簡單易行,但由于模型外觀與實(shí)際相差太大,對(duì)于地鐵隧道等特殊的管狀實(shí)體不適用。

針對(duì)上述問題,筆者提出一種用四邊形面片近似描述管狀實(shí)體的方法,其核心思想是使用一系列相互銜接的四邊形面片來近似表達(dá)管狀實(shí)體的外部表面。該方法首先將管狀實(shí)體的任意截面形狀細(xì)化成符合精度要求的多邊形,而后對(duì)于每個(gè)直線段管狀實(shí)體,可以簡化成兩端不等截面積的多棱臺(tái),剖分成四邊形面片進(jìn)行繪制;而對(duì)于曲線段管狀實(shí)體,則按照分段直線繪制,每段形狀類似多棱臺(tái),但兩端是沿曲線法線的截面(見圖1)。在OpenGL平臺(tái)中繪制管線時(shí),需要先建立從原點(diǎn)向Z軸正向繪制直線管狀實(shí)體的函數(shù)。對(duì)于曲線部分,則需要沿中線將其分段剖分成多段折線,再經(jīng)過坐標(biāo)變換,把每段都變成從原點(diǎn)向Z軸正向可分段調(diào)用直線段的繪制函數(shù)。在剖分截面和中線時(shí),分段數(shù)量取決于所要求的顯示精度,數(shù)量越多則彎管表面越光滑。在實(shí)際應(yīng)用中,可以根據(jù)顯示比例調(diào)整分段數(shù)量,以在顯示精度和計(jì)算量之間獲取平衡。

圖1 用四邊形面片近似描述管狀實(shí)體

3 基于OpenGL平臺(tái)的坐標(biāo)變換方法

用四邊形面片近似表達(dá)管狀體表面的關(guān)鍵是準(zhǔn)確計(jì)算四邊形各頂點(diǎn)的坐標(biāo)。由于不同的三維圖形開發(fā)平臺(tái)采用的坐標(biāo)系有所不同,具體的實(shí)現(xiàn)方法也有所區(qū)別。OpenGL[8]是目前使用較為普遍的一個(gè)三維圖形開發(fā)平臺(tái),它獨(dú)立于窗口系統(tǒng)和操作系統(tǒng),以它為基礎(chǔ)開發(fā)的應(yīng)用程序可以十分方便地在各種平臺(tái)間移植。因此,下面結(jié)合OpenGL平臺(tái)對(duì)三維管狀體繪制過程中的坐標(biāo)變換問題進(jìn)行探討。

OpenGL的坐標(biāo)系可以分為世界坐標(biāo)系和局部坐標(biāo)系兩種。世界坐標(biāo)系是以屏幕中心為原點(diǎn),右邊是X軸正方向,上面是Y軸正方向,垂直于屏幕指向屏幕外的方向?yàn)閆軸正方向,世界坐標(biāo)系是固定不變的。局部坐標(biāo)系是繪制物體時(shí)的坐標(biāo)系,它以物體中心為坐標(biāo)原點(diǎn),物體的旋轉(zhuǎn)或平移等操作都是圍繞局部坐標(biāo)系進(jìn)行的。當(dāng)物體模型進(jìn)行旋轉(zhuǎn)或平移等操作時(shí),局部坐標(biāo)系也執(zhí)行相應(yīng)的旋轉(zhuǎn)或平移操作。在OpenGL下實(shí)現(xiàn)局部坐標(biāo)系的平移和旋轉(zhuǎn)需要用到glTranslatef(x,y,z)和 glRotatef(angle,x,y,z)兩個(gè)函數(shù)[8]。glTranslatef(x,y,z)函數(shù)的作用是將局部坐標(biāo)系原點(diǎn)在當(dāng)前原點(diǎn)的基礎(chǔ)上平移一個(gè)(x,y,z)向量;glRotatef(angle,x,y,z)的作用是將局部坐標(biāo)系沿經(jīng)過原點(diǎn)、方向?yàn)?x,y,z)的旋轉(zhuǎn)軸旋轉(zhuǎn)angle角度。使用這兩個(gè)函數(shù)的方便之處在于省卻了坐標(biāo)平移和旋轉(zhuǎn)過程中復(fù)雜的矩陣運(yùn)算,開發(fā)人員只需根據(jù)預(yù)先設(shè)定的變換步驟,調(diào)用相應(yīng)的函數(shù)即可實(shí)現(xiàn)局部坐標(biāo)的旋轉(zhuǎn)平移操作。

結(jié)合OpenGL提供的上述兩個(gè)坐標(biāo)變換函數(shù),可以得到繪制管狀實(shí)體曲線段的具體過程。此處將某一曲線段兩端銜接的直線管段中心線的矢量方向分別記為V1和V2,將局部坐標(biāo)系的3個(gè)方向分別記為 X,Y,Z。在繪制管狀實(shí)體曲線段的過程中,需要首先將第一段直線管段的末端(x1,y1,z1)平移至局部坐標(biāo)系原點(diǎn),然后進(jìn)行3次坐標(biāo)旋轉(zhuǎn)變換。

1)將V1-V2平面沿 V1軸轉(zhuǎn)到 Z-V1平面,轉(zhuǎn)角為

式中,θ1是坐標(biāo)旋轉(zhuǎn)角度,nZV1是Z-V1平面法向量,nZV1=V1× Z,nV1V2是 V1- V2平面法向量,nV1V2=V1×V2。

2)將Z-V1平面沿Z軸轉(zhuǎn)到Z-X平面,轉(zhuǎn)角為

式中,θ2是坐標(biāo)旋轉(zhuǎn)角度,nV1V2意義同式(1)。

3)將V1方向沿Y軸轉(zhuǎn)到坐標(biāo)Z正向,轉(zhuǎn)角為

式中,θ3是坐標(biāo)旋轉(zhuǎn)角度。

圖2是前述坐標(biāo)旋轉(zhuǎn)變換步驟的示意圖。經(jīng)過這一系列的坐標(biāo)變換后,即可在當(dāng)前的局部坐標(biāo)系下繪制管段截面的外輪廓點(diǎn),之后再將V2旋轉(zhuǎn)至局部坐標(biāo)系的Z軸,并將此直線段的起始端(x2,y2,z2)平移至局部坐標(biāo)系原點(diǎn),繪制此段管段截面的外輪廓點(diǎn),并用四邊形與上一步繪制的外輪廓點(diǎn)連接,就可繪制完成該段多棱臺(tái)。重復(fù)以上步驟,就可繪制完成整個(gè)管狀實(shí)體。

圖2 坐標(biāo)旋轉(zhuǎn)變換步驟

4 算法實(shí)現(xiàn)

在OpenGL環(huán)境中實(shí)現(xiàn)了對(duì)前述地下結(jié)構(gòu)的三維造型算法,圖3為地下管線三維模型示例,圖4為地下隧道三維模型。從圖中可以看出,用本算法構(gòu)造的地下結(jié)構(gòu)三維顯示模型外觀光滑,曲線連接平滑順暢,能夠滿足城市軌道交通三維選線設(shè)計(jì)系統(tǒng)對(duì)地下結(jié)構(gòu)可視化的要求。

5 結(jié)語

筆者提出了一種在OpenGL環(huán)境中用四邊形面片近似表達(dá)管狀實(shí)體表面的方法,構(gòu)造出地下結(jié)構(gòu)三維模型的算法,著重對(duì)三維造型中的坐標(biāo)變換問題進(jìn)行了探討,并通過實(shí)例對(duì)所提出的算法進(jìn)行了驗(yàn)證。結(jié)果表明,該方法可以在OpenGL環(huán)境中高效便捷地實(shí)現(xiàn)地下結(jié)構(gòu)的三維可視化,曲線部分連接平滑順暢,顯示效果逼真。它不僅能夠?qū)A形斷面的地下管線等結(jié)構(gòu)實(shí)體進(jìn)行建模,還可以對(duì)地下隧道、建筑物樁基等各種非圓形斷面的管狀實(shí)體進(jìn)行建模。同時(shí),該方法還可以繪制兩端截面積不等的管狀實(shí)體以及中線為任意曲線形式的管狀實(shí)體,具有較好的通用性。

[1]徐振廷.城市軌道交通線路選線設(shè)計(jì)[J].交通科技,2009(S1):96-98.

[2]呂???基于遙感信息的選線系統(tǒng)地理環(huán)境建模方法及應(yīng)用研究[D].成都:西南交通大學(xué),2008.

[3]呂??姿既?,韓春華.大規(guī)模地形真三維可視化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2008,25(2):603-609.

[4]王明生,張振平.基于GIS的鐵路路基三維可視化技術(shù)研究[J].工程圖學(xué)學(xué)報(bào),2009,30(1):66-69.

[5]趙寧.三維鐵路工程地質(zhì)建模研究[D].成都:成都理工大學(xué),2008.

[6]宋能,曹菡.基于OpenGL的空間管線的拼接顯示與應(yīng)用[J].計(jì)算機(jī)工程與科學(xué),2008,30(11):144-146.

[7]柯新利.OpenGL三維管線繪制中的坐標(biāo)變換研究[J].地理空間信息,2008,6(3):53-55.

[8]Shreiner D,Woo M,Neider J.OpenGL編程指南[M].鄧鄭祥,譯.4版.北京:人民郵電出版社,2005.

猜你喜歡
管狀選線原點(diǎn)
淺談管狀骨架噴涂方法
無限管狀區(qū)域上次調(diào)和函數(shù)的邊界性質(zhì)
Book Pilot 飛行選書師,讓書重新回到原點(diǎn)
重返歷史“原點(diǎn)”的旅程
基于壓縮感知的電力系統(tǒng)故障選線研究
在原點(diǎn)震蕩的擾動(dòng)Schr?dinger-Poisson系統(tǒng)的無窮多個(gè)解
用于門、百葉窗或等同物的鉸鏈
科技資訊(2016年19期)2016-11-15 10:46:23
小波變換在電力線路故障選線中的應(yīng)用
關(guān)于原點(diǎn)對(duì)稱的不規(guī)則Gabor框架的構(gòu)造
基于強(qiáng)跟蹤濾波器的小電流接地系統(tǒng)故障選線
舟山市| 松潘县| 饶阳县| 古田县| 兖州市| 海门市| 富蕴县| 綦江县| 永和县| 上饶市| 米泉市| 濉溪县| 水富县| 阿瓦提县| 徐州市| 全南县| 永修县| 遂溪县| 梁山县| 仙居县| 昆山市| 隆化县| 东乡族自治县| 湖州市| 尚义县| 札达县| 花垣县| 枞阳县| 张北县| 达孜县| 抚顺市| 米脂县| 衡山县| 正定县| 罗田县| 历史| 郧西县| 酉阳| 右玉县| 德安县| 德化县|