朱盛彤
(江蘇緯信工程咨詢有限公司,江蘇南京 210014)
道路三維可視化(R3DV)是道路設(shè)計領(lǐng)域中比較新的概念,將與道路相關(guān)的平面、縱橫斷面等設(shè)計資料整合,依托軟件生成道路3D場景,模擬道路建成后的景觀。在道路線路設(shè)計中應(yīng)用R3DV,能夠進一步提升設(shè)計質(zhì)量。R3DV基于CAD建模,通過軟件完成動畫制作,其缺點是耗時長,且難以融入實際的設(shè)計過程中,但VR(虛擬現(xiàn)實)技術(shù)的出現(xiàn)為上述問題的解決提供了途徑。
R3DV設(shè)計實現(xiàn)的關(guān)鍵是道路、地面3D模型的建立,這個模型需要以2D平面、縱橫斷面設(shè)計為基礎(chǔ)。英國開發(fā)的MXROAD是道路設(shè)計系統(tǒng)中較具代表性的一款,其最為突出的特點是系統(tǒng)中加入“串”的概念,可以滿足道路復(fù)雜設(shè)計問題的需要,如交叉道口設(shè)計、環(huán)島、橋隧以及路面標(biāo)線等。國內(nèi)在道路線路設(shè)計方面常用的3D模型有兩種,即三角網(wǎng)和孔斯曲面模型。
(1)三角網(wǎng)模型。
三角網(wǎng)模型在自然或人工表面的模擬中應(yīng)用較廣泛,其特點體現(xiàn)在模型易于構(gòu)建、網(wǎng)形優(yōu),能夠用于道路設(shè)計面的表達。依據(jù)道路平面、縱橫斷面的設(shè)計結(jié)果,模型能夠準(zhǔn)確計算橫斷面各個角點的3D坐標(biāo),將相鄰橫斷面對應(yīng)角點連接形成三角網(wǎng)。
(2)孔斯曲面模型。
孔斯曲面屬于計算機科學(xué)技術(shù)范疇,是一種適合計算機輔助設(shè)計的曲面構(gòu)造方法,通過連接大量曲面片組成具有復(fù)雜特征的曲面,所有用于曲面構(gòu)造的曲面片均由四條邊界確定。隨著孔斯曲面模型不斷完善,其被用于道路設(shè)計面模型建立,可以實現(xiàn)面和片之間的光滑連接。
整體模型的構(gòu)建比單一模型復(fù)雜,其難點問題為設(shè)計面內(nèi)有地形數(shù)據(jù)點。構(gòu)建整體模型的過程中,地形數(shù)據(jù)點無法直接參與網(wǎng)形構(gòu)建,設(shè)計面本身為多個具有復(fù)雜性特點的不規(guī)則區(qū)域,利用點判斷區(qū)域內(nèi)每一個地形點的耗時較長。針對這一情況,可以基于動態(tài)算法構(gòu)建CDT(三角網(wǎng))理論,賦予數(shù)據(jù)點、三角形面相應(yīng)的屬性,快速完成拼合交線點建網(wǎng),以此作為約束條件嵌入三角網(wǎng)內(nèi),賦予拼合交線區(qū)域內(nèi)的三角形設(shè)計面屬性,賦予區(qū)域外三角形地表面屬性。有其他點插入時,若數(shù)據(jù)點為設(shè)計點屬性,可以將其插入三角內(nèi),為地面點屬性時,不插入。這樣可以在較短的時間內(nèi),將落在設(shè)計面區(qū)域的地形點有效剔除。
在3DS(三維場景)中對道路線形進行設(shè)計,有助于評判線形的優(yōu)劣以及對環(huán)境和行車安全的影響。3DS需要依托計算機、利用相關(guān)軟件生成,這一過程與拍攝照片類似。
道路3DS中,實時動態(tài)空間觀察的實現(xiàn)應(yīng)有較高的渲染幀速率作為基本保障,為了達到比較好的視覺效果時,速率一般不低于30幀/s。每產(chǎn)生一幀圖像都要完成模型坐標(biāo)、模型變換、世界坐標(biāo)、觀察變換、觀察坐標(biāo)、投影變換、投影坐標(biāo)、設(shè)備變換、設(shè)備坐標(biāo)等步驟。3DS比較大時,一幀圖像的生成要耗費大量時間,會對渲染的幀速率造成不利影響。采用模型簡化的方法能夠使該問題得到有效解決。本文基于OpenGL(開放式圖像庫)實現(xiàn)動態(tài)三維瀏覽與顯示,OpenGL是一款高性能的軟件包,具有視景實時瀏覽、3D圖形繪制等強大的功能。
從本質(zhì)的角度分析,OpenGL是執(zhí)行機制,執(zhí)行的前提是狀態(tài),OpenGL相關(guān)命令的執(zhí)行全都被置于不同的狀態(tài)中,并保持到有新的命令改變當(dāng)前狀態(tài)為止。
OpenGL命令源自以下圖形庫,分別為GLU(實用庫)、GLX(擴展庫)、GLAUX(輔助庫)。除了命令外,OpenGL還包括多個動畫操作函數(shù),能夠?qū)缀卧煨瓦M行三維仿真。
OpenGL的基本操作流程如圖1所示。
圖1 OpenGL的基本操作流程
OpenGL提供了可用于三維觀察的函數(shù),但直接使用這些函數(shù)難以獲得視參數(shù),無法實現(xiàn)場景簡化??梢砸罁?jù)三維觀察的基本原理,編寫相關(guān)程序,實現(xiàn)視參數(shù)的獲取及場景簡化,大幅度提高設(shè)計效率。
OpenGL提供的函數(shù)庫包括光照模型計算、紋理映射等,可以為軟件編程帶來便利??梢越柚鶲penGL對光源的具體位置、強度以及材質(zhì)屬性等參數(shù)進行設(shè)置,執(zhí)行光照計算,按照所得的結(jié)果設(shè)定像素的光亮度。
OpenGL能夠按光照條件創(chuàng)造接近真實世界的圖形,光照條件包括環(huán)境光、散射光、鏡面光。環(huán)境光屬于自然光線范疇,被其照射的物體受光均勻;散射光來自某個方向,能夠被物體表面均勻反射;鏡面光具有特定的方向性,會被強烈反射至某個方向。OpenGL支持的獨立光源種類較多,目前已知8種,這些光源能夠放在3DS的任何位置,放置在無窮遠處時,能夠獲得具有平行特點的光線,距離物體非常近時,光線可以向外發(fā)生輻射。
OpenGL還可以提供貼圖函數(shù),利用該函數(shù)能夠在物體表面形成與真實世界相似的花紋,進一步增強視覺感?;贠penGL繪制出的道路線路景觀圖形與真實世界的情況極為相似。
基于OpenGL繪制的公路線路圖形如圖2所示。
圖2 基于OpenGL繪制的公路線路圖形
(1)查詢思路。
道路需要依托環(huán)境建設(shè),環(huán)境信息是道路線路設(shè)計中不可或缺的重要因素之一,對整個設(shè)計具有一定程度的影響,環(huán)境信息主要包括水文、地質(zhì)條件等。本文創(chuàng)建的道路整體模型能夠被賦予水文、地質(zhì)等環(huán)境信息,形成數(shù)據(jù)庫索引,在該數(shù)據(jù)庫中存儲大量的水文地質(zhì)特征描述,每種描述與不同的ID號相對應(yīng)。道路整體模型由若干三角形面組合而成,可以將與某種水文地質(zhì)條件對應(yīng)的ID號加入整體模型的三角形面中。
在道路3DS瀏覽過程中,可以對所需的地質(zhì)狀況進行查詢,評價線路設(shè)計方案的合理性,其應(yīng)用的是OpenGL中對象選定與反饋兩項技術(shù),兩者是OpenGL中較為強大的兩個功能,可以實現(xiàn)3DS與設(shè)計活動之間的交互。選定功能可用于3DS區(qū)域及對象的識別,反饋能夠?qū)⒕哂欣脙r值的信息快速返回。
(2)查詢方法。
①使用選定功能時,可以在窗口任意處點擊鼠標(biāo)左鍵,選取處于鼠標(biāo)下的對象,對特定對象的選取被稱為檢選,利用OpenGL的選定特征,可以指定一個三維空間視見窗口,確定落在窗口內(nèi)的具體對象。
借助函數(shù)glPickMatrix的強大功能,可以產(chǎn)生相應(yīng)的矩陣,其基礎(chǔ)是屏幕坐標(biāo)與像素維數(shù),運用該矩陣可以在鼠標(biāo)指針處創(chuàng)建視見窗口,利用OpenGL的選定功能對這個視見窗口進行測試,查看其所含的對象。
從本質(zhì)上分析,OpenGL中的選定歸屬于渲染模式范疇,在具體的選定模式當(dāng)中,未將像素復(fù)制到幀緩沖區(qū)。在三維空間視見窗口內(nèi)的圖元將會在選定的緩沖區(qū)中產(chǎn)生相應(yīng)的點擊記錄。具體操作時,應(yīng)預(yù)先對選定緩沖區(qū)進行設(shè)置,完成對象或模型命名,使選定緩沖區(qū)能夠有效識別對象和模型,以分解的方式操作選定緩沖區(qū),確定三維空間視見窗口中存在的對象。
②R3DV設(shè)計中,對圖元祖命名時可以使用創(chuàng)建的整體模型中,與三角形序號相對應(yīng)的名稱,具體選取時,在場景內(nèi)用鼠標(biāo)每次點擊均能創(chuàng)建一個三維空間視見窗口,在該窗口內(nèi)的對象會生成點擊記錄。對選定緩沖區(qū)進行檢測,能夠獲得鼠標(biāo)點擊對象的具體名稱,這個名稱就是整體模型中三角形的序號。
通過序號可以在模型內(nèi)得到對應(yīng)的ID號,利用SQL語言獲得與三角形對應(yīng)的水文地質(zhì)信息。使用鼠標(biāo)在道路整體模型內(nèi)的邊坡位置處點取后,可以得到地面的地質(zhì)特征情況。將其他屬性信息賦予整體模型的三角形面時,通過上述方法能夠快速查詢3DS的屬性信息。例如鼠標(biāo)點取的位置為路面時,返回的信息為路面的屬性(瀝青混凝土或水泥混凝土以及厚度等),能夠準(zhǔn)確計算物方空間坐標(biāo)及該點所在的里程。
道路線路設(shè)計是一項較為復(fù)雜且系統(tǒng)的工作,其涵蓋的內(nèi)容較多,任意環(huán)節(jié)出現(xiàn)問題均可能影響設(shè)計質(zhì)量,直接關(guān)系道路工程后續(xù)建設(shè)的質(zhì)量。為避免這一問題的發(fā)生,設(shè)計人員應(yīng)了解并掌握與線路相關(guān)的自然條件,確保線路設(shè)計的合理性,可以運用三維可視化技術(shù),更好地提升線路設(shè)計的質(zhì)量與效果。