楊 丹,湯曉安
摘 要:針對港口三維監(jiān)控系統(tǒng)中云繪制的特點(diǎn),分析云繪制的逼真度和實(shí)時(shí)性需求,研究相應(yīng)的云繪制方法,提出一種基于噪聲紋理的云層繪制方法。該方法采用基于紋理構(gòu)造云模型,降低了所需繪制的幾何數(shù)據(jù);采用設(shè)置紋理重復(fù)模式,實(shí)時(shí)更改紋理矩陣,實(shí)現(xiàn)云層運(yùn)動的效果,采用多紋理技術(shù)將兩張?jiān)肼暭y理成一定角度疊加,實(shí)現(xiàn)云自身形態(tài)的連續(xù)變化。通過該方法繪制了港口三維監(jiān)控系統(tǒng)云層,具有較強(qiáng)的三維虛擬現(xiàn)實(shí)的真實(shí)感。實(shí)驗(yàn)結(jié)果表明,該方法可顯著提高云繪制效率,顯示效果令人信服。
關(guān)鍵詞:三維監(jiān)控系統(tǒng);云繪制;噪聲紋理;多紋理
中圖分類號:TP311.13文獻(xiàn)標(biāo)識碼:A
文章編號:1004-373X(2009)20-040-02
Method of Plotting Clouds Based on Noise-Texture Operator
YANG Dan,TANG Xiaoan
(College of Electronic Science and Engineering,National University of Defense Technology,Changsha,410073,China)
Abstract:Aiming at the features of plotting clouds in the port three-dimensional monitoring system,the fidelity and timeliness requirements of plotting clouds are analysed,the method of corresponding plotting clouds is researched,a method of plotting clouds based on a noise-texture operator is put forward.This method uses cloud model based on texture and reduces the geometry data ,sets texture repeat mode,changes the texture of real-time matrix and realizes the cloud layer movement effect.Using the multi-texture technology superimposes two noise textures according to a certain point of view and realizes the cloud continual change.In this way,plot clouds of the port three-dimensional monitoring system and the realistic of three-dimensional virtual reality is enhanced.Experiments demonstrate that the method could improve efficiency of plotting clouds,so the effect of display is convinced.
Keywords:three-dimensional monitoring system;plotting clouds;noise-texture;multi-texture
云的繪制在港口三維監(jiān)控系統(tǒng)中,不屬于最核心的顯示內(nèi)容,但是對于增強(qiáng)三維虛擬現(xiàn)實(shí)的沉浸感有非常大的作用。因此必須找到顯示效果既能令人信服,同時(shí)繪制效率又高的云繪制方法。
在此面向剛空三維監(jiān)控系統(tǒng)中云的特點(diǎn),針對現(xiàn)有云繪制方法的不足,提出了構(gòu)造Perline噪聲紋理,并采用簡便合理的紋理矩陣變換方法,實(shí)現(xiàn)了云層的繪制,其具有一定的應(yīng)用參考價(jià)值。
1 經(jīng)典的云層建模
1.1 云層建模的四種常用方法
體過程建模方法(Volumetrie Proceduml Modeling)是一種過程建模方法。體過程也稱為超紋理(Hypertextures)、體密集度函數(shù)(Volume Density Functions)或者模糊滴狀斑點(diǎn)(Fuzzy Blobbies),它利用一定算法對三角體對象和自然現(xiàn)象進(jìn)行定義和動畫[1]。1985年Geoffrey Y.Gardner提出的云模型由一個(gè)天空平面、橢球體和數(shù)學(xué)紋理函數(shù)三部分組成。同年,Ken Perlin給出的Perlin噪聲函數(shù)[2]。所有種類的紋理都可以用Perlin噪聲來生成,云紋理的渲染尤其適合于Perlin噪聲,已經(jīng)用來生成云的三維動畫,該方法目前仍在研究和發(fā)展中[3]。
1.2 常用方法的不足之處
進(jìn)一步研究發(fā)現(xiàn),場景中的云分布隨機(jī)性比較強(qiáng),但是云的運(yùn)動和其本身形態(tài)的變化必須是連續(xù)的。為了滿足這一要求,傳統(tǒng)的基于噪聲紋理的云繪制方法需要建立多個(gè)連續(xù)變化的噪聲圖像,在繪制時(shí)按照順序依次調(diào)用,產(chǎn)生連續(xù)變化的效果。然而這種方法有幾個(gè)缺陷[4]:噪聲紋理序列的生成過程較長,需要在預(yù)處理中實(shí)現(xiàn);因?yàn)樵肼暭y理在預(yù)處理階段生成,則在系統(tǒng)實(shí)時(shí)繪制過程中,沒辦法進(jìn)行修改,紋理重復(fù)出現(xiàn)的問題較突出;如果要減小紋理重復(fù)問題,就必須增加紋理序列的內(nèi)容,對繪制資源的消耗嚴(yán)重;如果繪制場景的天空范圍較大,則生成的噪聲紋理分辨率也要求較高,同樣也會嚴(yán)重消耗繪制資源。
基于以上幾點(diǎn)考慮,這里認(rèn)為如果能夠在系統(tǒng)運(yùn)行時(shí)實(shí)時(shí)生成噪聲紋理,同時(shí)減少噪聲紋理序列的數(shù)量,就能較好地解決問題[5]。
2 改進(jìn)的云片繪制技術(shù)
港口三維監(jiān)控系統(tǒng)中視點(diǎn)的瀏覽高度最高可以達(dá)到200 m,而在晴天狀態(tài)時(shí),在這一高度以下的空間觀察,通常能見到的云都處于相對較高的大氣層空間,因此云的顯示效果集中表現(xiàn)為云層的底面,而云的厚度不容易被觀察到。因此采用基于紋理的方法來構(gòu)造云模型,將所需繪制的幾何數(shù)據(jù)降到最低[6]。
在實(shí)際應(yīng)用中,生成一張分辨率為512×512的Perlin噪聲圖像(如圖1所示)作為紋理覆蓋整個(gè)天空,其中灰度值與圖像的透明度成對應(yīng)關(guān)系,即Alpha=GrayScale [7]。為了實(shí)現(xiàn)云的連續(xù)運(yùn)動,可以設(shè)置紋理重復(fù)模式,并且實(shí)時(shí)更改紋理矩陣,實(shí)現(xiàn)紋理圖像的偏移,從而達(dá)到云層運(yùn)動的效果。如圖2所示,虛框表示一張完整的紋理圖像,在繪制過程中不斷改變紋理偏移矩陣,在繪制中使用的白色豎線框中的圖像作為紋理[8]。
圖1 Perlin噪聲圖像
圖2 紋理矩陣偏移效果
進(jìn)一步,為了實(shí)現(xiàn)云自身形態(tài)的連續(xù)變化,可以利用多紋理技術(shù)將兩張?jiān)肼暭y理成一定角度疊加,輸出的噪聲紋理圖像為[9]Alphaout=Alpha1×Alpha2,從而保證兩張紋理疊加輸出的圖像透明度仍然在[0,1]范圍內(nèi),如圖3所示。
圖3 紋理疊加效果
由于只使用了一張?jiān)肼暭y理圖像,大大減少了繪制資源的占用和消耗,并且通過多線程方式,能夠?qū)崟r(shí)生成新的噪聲紋理,從而實(shí)現(xiàn)云層的多樣性變化。在實(shí)際應(yīng)用中,達(dá)到了非常真實(shí)的效果[10]。實(shí)際效果如圖4所示。
圖4 繪制云層的場景圖
3 結(jié) 語
本文針對港口三維監(jiān)控子系統(tǒng)逼真度和實(shí)時(shí)性的要求,對云層繪制算法進(jìn)行了研究,提出了通過構(gòu)造Perline噪聲紋理,并采用簡便合理的紋理矩陣變換方法,實(shí)現(xiàn)了云層的繪制,具有一定的應(yīng)用參考價(jià)值。
基于本文思路的云層繪制技術(shù)現(xiàn)已在港口領(lǐng)域投入測試應(yīng)用,實(shí)現(xiàn)了三維可視化監(jiān)控系統(tǒng)的逼真度和實(shí)時(shí)性要求,為其他領(lǐng)域提供了一定的輔助分析手段。
參考文獻(xiàn)
[1]Ebert D S.Advanced Modeling Techniques for Computer Graphics [J].ACM Computing Surveys,1996,28(1):153-156.
[2]何東建,耿楠,張義寬.數(shù)字圖像處理[M] .西安:西安電子科技大學(xué)出版社,2003.
[3]Pallister K.Generating Procedural Clouds in Real Time on 3D Hard-ware[EB/OL].http://cedar.intel.com/software/idap/media/pdf/games/procedural_clouds.pdf,2003.
[4]齊敏,郝重陽,佟明安.三維地形生成及實(shí)時(shí)顯示技術(shù)進(jìn)展[J].中國圖像圖形學(xué)報(bào),2000,5(4):269-275.
[5]Kiril Vidimce,Wim Sweldens,Peter Schroder.Normal Meshes Proceedings of Siggraph[M].Addison Wisley,2000.
[6]謝美華,王正明.基于圖像分解的多核非線性擴(kuò)散去噪方法[J].計(jì)算機(jī)應(yīng)用,2005,25(4):757-759.
[7]姜東煥,馮象初,宋國鄉(xiāng).基于非線性小波閾值的各向異性擴(kuò)散方程[J].電子學(xué)報(bào),2006,34(1):170-172.
[8]莊新華.Computer Vision Graphics and Image Processing[Z].1990.
[9]章孝燦,黃智才,趙元洪.遙感數(shù)字圖像處理[M].杭州:浙江大學(xué)出版社,1997.
[10]Haralick R M,Shanmugan K,Dinstein I.Textural Features for Image Classification[J].IEEE Trans.on Syst.Man Cyber.,1973,3(6):610-621.