城市給水管網(wǎng)三維水壓面的繪制
論文類型 | 技術與工程 | 發(fā)表日期 | 2000-11-01 |
來源 | 管道更新改造研討會 | ||
作者 | 信昆侖,劉遂慶 | ||
關鍵詞 | 給水管網(wǎng) 曲面插值 水壓面 OpenGL | ||
摘要 | 信昆侖 劉遂慶 (同濟大學環(huán)境科學與工程學院) 摘要 本文介紹了城市給水管網(wǎng)三維水壓面圖的繪制方法,基于管網(wǎng)水力計算成果,通過管網(wǎng)投影區(qū)域的四邊形網(wǎng)格插值,利用OpenGL圖形庫,進行了管網(wǎng)三維水壓面的繪制,可用作給水管網(wǎng)設計、運行和優(yōu)化調度時的信息參考。 關鍵詞 給水管網(wǎng) ... |
信昆侖 劉遂慶
(同濟大學環(huán)境科學與工程學院)
摘要 本文介紹了城市給水管網(wǎng)三維水壓面圖的繪制方法,基于管網(wǎng)水力計算成果,通過管網(wǎng)投影區(qū)域的四邊形網(wǎng)格插值,利用OpenGL圖形庫,進行了管網(wǎng)三維水壓面的繪制,可用作給水管網(wǎng)設計、運行和優(yōu)化調度時的信息參考。
關鍵詞 給水管網(wǎng) 曲面插值 水壓面 OpenGL
城市給水管網(wǎng)中水壓面的分布對于了解管網(wǎng)工作狀況以及管網(wǎng)的運行調度具有十分重要的指導意義。然而,實際情況下,城市給水管網(wǎng)實測壓力點往往是有限的數(shù)量,如何全面了解和掌握整個供水管網(wǎng)的水壓信息則需要基于管網(wǎng)實測水力要素(包括管網(wǎng)布置,管道長度,管徑等)的水力計算和相應的曲面數(shù)值擬合來完成。
獲得管網(wǎng)中各節(jié)點的壓力值是進行整個管網(wǎng)計算(包括優(yōu)化設計、水力模擬、優(yōu)化調度以及管網(wǎng)校核等)的基礎。目前國內外都有相當數(shù)量的方法及程序用于管網(wǎng)的水力計算。對于管網(wǎng)水壓信息的圖形化工作,大多以二維等水壓線或水壓區(qū)域分布圖表示為主。本文基于管網(wǎng)水力計算結果通過空間散列點的數(shù)據(jù)擬和技術,利用OpenGL圖形庫編制程序,進行了三維水壓面繪制的嘗試。三維圖形表示較二維圖形表示的優(yōu)點在于更能直觀地反映管網(wǎng)的水壓分布及變化趨勢,具有良好的可視性,對于實現(xiàn)城市給水管網(wǎng)的全面數(shù)字化和信息化是一個重要的補充。也是計算機可視化與虛擬現(xiàn)實技術應用于給水管網(wǎng)工程領域的一個較為適宜的切入點。
繪制給水管網(wǎng)的三維水壓面圖涉及應用計算數(shù)學及計算機圖形學兩大方面的內容,以下分別介紹在繪制水壓面圖過程中所用到的曲面插值、曲面擬合、OpenGL圖形庫的知識。
一、 三維散列數(shù)據(jù)點的四邊形網(wǎng)格插值算法
由于管網(wǎng)節(jié)點在幾何圖形學意義上的分布是不規(guī)則的,而通常三維曲面的繪制要求的點是通過對曲面投影區(qū)域進行三角型或四邊形網(wǎng)格化后得到的網(wǎng)格節(jié)點,因此需要以管網(wǎng)節(jié)點為型值點進行管網(wǎng)投影區(qū)域的四邊形或三角形網(wǎng)格插值。
1.Shepard方法:該方法可用于任意分布的空間數(shù)據(jù)點的插值。插值函數(shù)可顯式寫出。令ρ為平面上某一度量(通常取為距離度量),對定點(x,y),令ri=ρ((x,y),(xi,yi)) (i=1,2,...N) ,假定μ為一正實數(shù),對散列數(shù)據(jù)點(xi,yi,fi) (i=1,2,...N),則擬合曲面 Z=f(x,y)表示為下列插值公式:
由式(1-1)可以看出當(x,y)是非插值點時,f(x,y)取所有函數(shù)值fi的權平均,權因子1/riμ與(x,y)有關。對于μ的選擇通常為大于1的常數(shù)。μ如果選擇過大,則型值點附近擬合曲面將變得十分平坦而稀疏分布的點和點之間的曲面將變得十分陡峭。Gordon等人的研究表明選取μ=2是合適的。
2.局部逼近方法:選定R>0,取:
易見φ(r)是連續(xù)可微的,并當r>R時恒為0。令,定義下述曲面:
該方法較之全局插值方法的合理性在于充分考慮了型值點對周圍區(qū)域的影響不半徑。但R的合理取值需要一定的技巧和實際問題的處理中獲得的經(jīng)驗。
二、貝塞爾曲面
在計算機圖形學中,三維曲面通常是由一系列基本的曲面片經(jīng)過平滑(光順)處理后拼接而成。曲面片時曲面的基本單元。其中常用的曲面片有孔斯(Koons)曲面、貝塞爾(Bezier)曲面及B樣條曲面等。一個曲面片是以曲線為邊界的點的集合,這些點的坐標可用雙參數(shù)單值函數(shù)表示:
x=x(u,w),y=y(u,w),z=z(u,w) ?。?-1)
則曲面片的一般形式為:
其中u,w∈ [0,1] (2-2)
對于貝塞爾曲面,當m=n=3時,該曲面由4×4個頂點構成的特征多面體決定其形狀,該曲面稱為雙三次Bezier曲面片。其矩陣形式為:
Q(u,w)=Fb(u)PFb(w)T (2-3)
其中P為型值點:
,
圖1描述了貝塞爾曲面片與其控制點多面體的關系:

三、OpenGL圖形庫
OpenGL圖形庫是程序員開發(fā)基于圖形的交互式應用程序的接口,是由Silicon Graphics(SGI)公司在其GL語言的基礎上發(fā)展起來的。其強大的三維圖形繪制功能極大地減輕了程序開發(fā)人員地編程工作量,而且其日益完善的圖形建模、渲染功能,使計算機圖形變得日益豐富和絢麗多彩。OpenGL現(xiàn)在已經(jīng)成為一個國際標準,被安裝在廣泛的系統(tǒng)上。Windows NT 和Windows98都將其作為基本操作系統(tǒng)的一部分,可以被很方便地調用。
對于三維曲面的繪制而言,OpenGL對初始化繪圖環(huán)境、曲面片繪制與拼接,渲染、材質貼圖、線框圖的消隱等一系列復雜的圖形算法進行了封裝,為圖形庫使用者提供了簡捷的函數(shù)接口,籍此我們可以很方便地繪出效果豐富的三維曲面圖形。OpenGL利用二維求值器來完成三維曲面的繪制過程,它為曲面提供控制點,使其能精確繪出曲面上的點、線框圖以及有光照處理的曲面,基本過程如下:
1. 調用glMap2定義二維求值器
2. 調用glEnable的適當參數(shù)激活使用二維求值器
3. 在glBegin/glEnd之間調用glEvalcoord2函數(shù)或glMapGrid2、glEvalMesh2函數(shù)繪制線框或渲染圖
四、三維水壓面圖的繪制過程
對于管網(wǎng)水力計算后的成果,以節(jié)點水壓值Hi作為管網(wǎng)節(jié)點(xi,yi,Hi)的第三維坐標。并以管網(wǎng)節(jié)點作為型值點在管網(wǎng)平面投影區(qū)域上進行Sherpard插值,得到四邊形網(wǎng)格節(jié)點上的水壓數(shù)據(jù)。利用四邊形網(wǎng)格節(jié)點構造雙三次Bezier曲面片,將所以曲面片進行光順拼接后即得到管網(wǎng)區(qū)域的三維水壓面圖。由于OpenGL圖形庫可以完成除Sherpard插值外的幾乎所有圖形繪制過程,所以,本文使用了OpenGL庫的二維求值器進行了水壓面圖的方便繪制 ,圖2為繪出的管網(wǎng)三維水壓面模型的線框圖。
由于OpenGL圖形庫的強大的圖形渲染功能,利用OpengGL圖形接口函數(shù)還可以輕松繪制水壓面的渲染圖,如圖3所示:
五、結論和建議
通過曲面插值技術和利用OpenGL圖形庫,可以對管網(wǎng)水力計算成果的水壓分布進行直觀表示和模擬再現(xiàn),有助于城市給水管網(wǎng)的設計及運行管理。
對于三維水壓面的繪制,仍然存在的問題是,計算機三維圖形技術在城市給水管網(wǎng)中的應用尚顯粗疏,而本文通過比較也發(fā)現(xiàn)了三維圖形中個別區(qū)域與實際水壓分布趨勢的偏離。究其原因,在于對管網(wǎng)節(jié)點的曲面插值技術還有待于進一步改進,同時曲面擬合算法也有待于進一步合理化。
由于計算機技術在高速運算和虛擬現(xiàn)實領域的巨大優(yōu)勢,在合理修正水壓面的三維模型后,可以將其用于城市給水管網(wǎng)日常運行管理和優(yōu)化調度時的信息參考。
參考文獻
1. 關履泰、羅笑南等(1999),《計算機輔助幾何圖形設計》,高等教育出版社
2. 唐澤圣、周嘉玉等(1994),《計算機圖形學基礎》,清華大學出版社
3. David J.Kruglinski (1999), 《Visual C++技術內幕》,清華大學出版社
4. 賈志剛等(1998),《精通OpenGL》,電子工業(yè)出版社
5. 唐月紅等,任意曲面散亂數(shù)據(jù)光滑超曲面擬合二步法,數(shù)值計算與計算機應用,1999年第3期,P205-213
6. 來新民等,基于NURBS的散亂點自由曲面重構,計算機輔助設計與圖形學學報,1999年第5期,P433-436
論文搜索
月熱點論文
論文投稿
很多時候您的文章總是無緣變成鉛字。研究做到關鍵時,試驗有了起色時,是不是想和同行探討一下,工作中有了心得,您是不是很想與人分享,那么不要只是默默工作了,寫下來吧!投稿時,請以附件形式發(fā)至 paper@h2o-china.com ,請注明論文投稿。一旦采用,我們會為您增加100枚金幣。