胡 瑩
(廣州大學(xué)實(shí)驗(yàn)中心、網(wǎng)絡(luò)與現(xiàn)代技術(shù)中心,中國(guó)廣州 510006)
為了在計(jì)算機(jī)的虛擬環(huán)境中生動(dòng)形象地模擬自然環(huán)境之中人的視覺(jué)、聽(tīng)覺(jué)、嗅覺(jué)以及運(yùn)動(dòng)等行為,虛擬現(xiàn)實(shí)技術(shù)應(yīng)運(yùn)而生[1].經(jīng)過(guò)近幾年的發(fā)展,該項(xiàng)技術(shù)已成為計(jì)算機(jī)領(lǐng)域的一個(gè)新型研究方向,獲得國(guó)內(nèi)外學(xué)者以及企業(yè)的廣泛關(guān)注并引起濃厚的研究興趣[2-3].在虛擬現(xiàn)實(shí)技術(shù)中,三維建模是該技術(shù)的一個(gè)關(guān)鍵步驟和核心技術(shù),也是實(shí)現(xiàn)虛擬現(xiàn)實(shí)系統(tǒng)的基礎(chǔ)[4].由于虛擬現(xiàn)實(shí)系統(tǒng)需要較高的實(shí)時(shí)性,而三維建模的優(yōu)劣直接影響整個(gè)這類(lèi)系統(tǒng)的實(shí)時(shí)性[5],這使得三維建模成為了此項(xiàng)技術(shù)的研究熱點(diǎn),而三維建模流程的優(yōu)化又成為了重中之重.
目前,關(guān)于三維建模流程的優(yōu)化研究主要集中在模型階段,其中部分研究取得了較好的實(shí)際應(yīng)用效果[6-7].然而,如果在三維建模之前各模型分塊不合理的話(huà),就會(huì)導(dǎo)致建模過(guò)程耗時(shí)較大,從而大大降低系統(tǒng)的實(shí)時(shí)性.針對(duì)這種情況,論文基于過(guò)程的思想,從結(jié)構(gòu)優(yōu)化、模型優(yōu)化兩方面對(duì)整個(gè)三維建模流程進(jìn)行優(yōu)化.同時(shí),論文還提出了一個(gè)新型層次模型簡(jiǎn)化算法以進(jìn)一步縮減三維建模流程中模型間優(yōu)化的時(shí)間間隔.
圖1 三維建模優(yōu)化總體流程Fig.1 Optimized overall process of 3D modeling
在三維建模過(guò)程中,優(yōu)化是提高其性能的一個(gè)重要手段[8-9],相應(yīng)的優(yōu)化結(jié)果直接決定了虛擬現(xiàn)實(shí)系統(tǒng)的運(yùn)行效率和實(shí)時(shí)性.論文將優(yōu)化貫穿于整個(gè)建模過(guò)程之中,具體流程如圖1所示.
在圖1中,結(jié)構(gòu)優(yōu)化主要是按照模型分割或場(chǎng)景分塊原則對(duì)初始虛擬場(chǎng)景進(jìn)行分割,建立層次結(jié)構(gòu)并依據(jù)建模層次調(diào)整原則對(duì)結(jié)構(gòu)進(jìn)行調(diào)整.在模型建立之后與模型優(yōu)化之前添加一個(gè)模型簡(jiǎn)化,以克服流程中因分別對(duì)單個(gè)模型進(jìn)行優(yōu)化而耗時(shí)多,從而導(dǎo)致模型間優(yōu)化的時(shí)間間隔較長(zhǎng)的問(wèn)題.而在模型優(yōu)化階段,則主要使用一些技術(shù)比如 LOD 技術(shù)[10]、消隱技術(shù)[11]、實(shí)例化技術(shù)[12]、紋理映射技術(shù)[13]等對(duì)模型進(jìn)行處理.
在三維建模過(guò)程中,全部虛擬場(chǎng)景以及相關(guān)實(shí)體模型的結(jié)構(gòu)一般是根據(jù)其中的各實(shí)體的位置、模型內(nèi)部以及模型間的結(jié)構(gòu)來(lái)確定,論文將采用層次結(jié)構(gòu)來(lái)加以組織.此種層次結(jié)構(gòu)組織方式可以快速地對(duì)虛擬場(chǎng)景進(jìn)行分割,便捷地對(duì)實(shí)體模型進(jìn)行管理,能夠?qū)δP蜆?gòu)建目標(biāo)一目了然,有效地減輕建模的工作量.
在結(jié)構(gòu)優(yōu)化方面,論文從微觀和宏觀兩個(gè)方面來(lái)優(yōu)化,其中微觀為模型結(jié)構(gòu)優(yōu)化,宏觀為場(chǎng)景結(jié)構(gòu)優(yōu)化,基本思想就是先進(jìn)行模型分割(或場(chǎng)景分塊),再進(jìn)行層次建模并最終進(jìn)行集成.
在場(chǎng)景分塊中,論文將根據(jù)實(shí)際情況采用以下策略:①原則上不同類(lèi)的物品分為一塊,例如:路標(biāo)、消防設(shè)備等;②同類(lèi)物品原則上分為一塊,衛(wèi)生間、廁所等;③具備不同功能,但所屬大類(lèi)基本相似且相互瀕臨的物品分為一塊,例如值班室與配電室,實(shí)驗(yàn)室與機(jī)房等;④有時(shí)相互關(guān)聯(lián)度比較緊密的物體可分為一塊,例如大地與樹(shù)木等;⑤具有一定連接順序的連接體可以分為一塊,例如地下管線(xiàn)等.可能還會(huì)有其他可以劃分為一塊的策略,這需要在實(shí)際進(jìn)行三維建模時(shí)具體分析來(lái)劃分.
經(jīng)過(guò)場(chǎng)景分塊后,就需要對(duì)各種劃分塊的層次進(jìn)行調(diào)整.論文將采用以下策略來(lái)進(jìn)行層次建模:
①在建立模型時(shí),盡力構(gòu)建層次型模型:把復(fù)雜的物體逐個(gè)分解成若干個(gè)簡(jiǎn)單物體,盡量按照逐步求精的策略來(lái)分解;②在建模時(shí),不管你是看見(jiàn)一個(gè)物體的全部還是只看見(jiàn)該物體的部分,都必須對(duì)這個(gè)物體整體來(lái)建模,為了避免對(duì)空間跨度較大的物體進(jìn)行計(jì)算,在建模時(shí)應(yīng)盡量避免空間跨度較大的物體.③建模時(shí),可視范圍內(nèi)相鄰的物體級(jí)別相同,對(duì)于級(jí)別相同的物體,在設(shè)置節(jié)點(diǎn)時(shí)依次從左往右設(shè)置.如果存在部分可見(jiàn)的物體,對(duì)這些物體對(duì)應(yīng)的節(jié)點(diǎn)進(jìn)行刪除.④對(duì)于比較規(guī)則的物體,只要不影響真實(shí)感,就忽略其內(nèi)部等具體細(xì)節(jié),只對(duì)其外形進(jìn)行建模.⑤對(duì)于不規(guī)則的物體,依據(jù)各不規(guī)則部分的重要程度來(lái)進(jìn)行建模,不重要的部分可用一些比如圓圈、長(zhǎng)方形等簡(jiǎn)單的形體來(lái)表示.
采用上述策略進(jìn)行結(jié)構(gòu)優(yōu)化時(shí),會(huì)存在單元分割和層次細(xì)節(jié)技術(shù)這兩方面的難題.對(duì)此,本文解決辦法如下:①把虛擬場(chǎng)景進(jìn)行分割以形成較小的單元,并且只渲染當(dāng)前場(chǎng)景中的實(shí)體,這樣就可以在場(chǎng)景調(diào)度時(shí)僅把若干小單元調(diào)入即可,從而提高虛擬系統(tǒng)的速度.②對(duì)分割形成的模型進(jìn)行簡(jiǎn)化,以保留模型中重要的視覺(jué)特征,從而使它們能夠被加速處理.
2.4.1 場(chǎng)景模型的集成 場(chǎng)景實(shí)體模型的構(gòu)建是按照?qǐng)鼍皩哟谓Y(jié)構(gòu)的劃分來(lái)進(jìn)行的.各層次實(shí)體景觀構(gòu)建完以后再進(jìn)行組合和集成,最終形成虛擬場(chǎng)景的整體模型.論文使用外部引用技術(shù)來(lái)進(jìn)行場(chǎng)景模型的集成.外部引用是指在一個(gè)模型中可以調(diào)用另一模型的部分或者全部,并可以重新定義被調(diào)用模型的空間位置.在論文中的應(yīng)用是:將在外部環(huán)境創(chuàng)建的模型通過(guò)外部引用技術(shù)導(dǎo)入到3Dsmax環(huán)境中來(lái),以實(shí)現(xiàn)場(chǎng)景模型的集成.
2.4.2 場(chǎng)景的調(diào)度管理 論文中場(chǎng)景的調(diào)度和管理是通過(guò) Virtools開(kāi)發(fā)工具來(lái)實(shí)現(xiàn)的.遵循的大原則是:靜態(tài)導(dǎo)入,動(dòng)態(tài)調(diào)用.在系統(tǒng)實(shí)時(shí)運(yùn)行時(shí),采取的是動(dòng)態(tài)導(dǎo)入,動(dòng)態(tài)調(diào)用.例如:聯(lián)合站系統(tǒng)分為室外場(chǎng)景、游離水脫除器、電脫水器、加藥間、加熱爐、凈化油緩沖罐、離心泵、值班室、配電室等子系統(tǒng),在系統(tǒng)運(yùn)行前,將它們一次性地加載到Virtools中,等待系統(tǒng)調(diào)用,即靜態(tài)導(dǎo)入,動(dòng)態(tài)調(diào)用.在系統(tǒng)運(yùn)行時(shí),根據(jù)用戶(hù)需求在系統(tǒng)菜單中選擇不同的子系統(tǒng)(如電脫水器子系統(tǒng)),進(jìn)行實(shí)時(shí)顯示和操作,即動(dòng)態(tài)導(dǎo)入,動(dòng)態(tài)調(diào)用.
為了能較好地模擬現(xiàn)實(shí),建模過(guò)程中構(gòu)建的模型趨向高精細(xì)化、高復(fù)雜化,這就需要較高的存儲(chǔ)量、較快的處理速度和傳輸率等.目前,這些因素嚴(yán)重制約了模擬現(xiàn)實(shí)技術(shù)的實(shí)時(shí)性,為此,有必要對(duì)模型進(jìn)行簡(jiǎn)化.為了減少系統(tǒng)的整體耗時(shí)、提高系統(tǒng)的整體實(shí)時(shí)性,論文將采用“總→分→總”的思想對(duì)模型進(jìn)行分區(qū)簡(jiǎn)化,也即先把某一整體區(qū)域劃分成若干個(gè)子區(qū)域,然后分別簡(jiǎn)化各個(gè)子區(qū)域中包含的模塊,緊接著對(duì)簡(jiǎn)化后的模型進(jìn)行評(píng)估以判斷是否符合化簡(jiǎn)原則、是否失真等,最后整合簡(jiǎn)化結(jié)果.該簡(jiǎn)化算法具體描述如下:
Step1:對(duì)任意區(qū)域,結(jié)合實(shí)際情況(比如物體位置、操作方位、觀察視點(diǎn)等)和包圍盒層次法來(lái)制定較為合理的待劃分的子區(qū)域數(shù)n.
Step2:對(duì)選定的某一區(qū)域,根據(jù)選定的n值進(jìn)行層次結(jié)構(gòu)劃分,以確定待簡(jiǎn)化的n個(gè)子區(qū)域;
Step3:利用網(wǎng)格簡(jiǎn)化法對(duì)確定的任意一個(gè)子區(qū)域內(nèi)的模型進(jìn)行簡(jiǎn)化.
Step4:采用誤差測(cè)度對(duì)簡(jiǎn)化的模型進(jìn)行評(píng)估;沒(méi)通過(guò)評(píng)價(jià)的模型則繼續(xù)簡(jiǎn)化;
Step5:依據(jù)模型實(shí)際布局,選取某種恰當(dāng)?shù)乃惴?,例?基于三角形的區(qū)域合并算法、基于高斯球的近似共面合并算法等,在n個(gè)方向?qū)€(gè)模型的簡(jiǎn)化結(jié)果進(jìn)行合并.
對(duì)模型進(jìn)行優(yōu)化,在一定程度上可以提高建模整體實(shí)時(shí)性.根據(jù)三維建模過(guò)程中的實(shí)際情況,將對(duì)模型采取下面一些優(yōu)化策略:
(1)去除多余多邊形策略:在三維建模過(guò)程中,有些模型會(huì)存在一些多邊形,這些多邊形在場(chǎng)景瀏覽時(shí)一直處于不可見(jiàn)狀態(tài),此時(shí)去除它們不會(huì)影響整體瀏覽效果且能降低建模耗時(shí).為此,可以把那些處于場(chǎng)景瀏覽時(shí)實(shí)體模型之外的不可見(jiàn)部分去除掉.
(2)紋理替代策略:在三維建模過(guò)程中,若過(guò)分強(qiáng)調(diào)物體細(xì)節(jié),不但工作量較大,而且模型復(fù)雜度也較大,從而大大降低整體建模實(shí)時(shí)性.合理采用紋理不僅能增強(qiáng)場(chǎng)景中物體真實(shí)感,而且還能降低建模復(fù)雜度[14].為此,論文將把場(chǎng)景中的相應(yīng)模型用合理的紋理來(lái)代替.
(3)實(shí)例化策略:在數(shù)據(jù)庫(kù)領(lǐng)域,實(shí)例化就是對(duì)庫(kù)中現(xiàn)存模型的引用,表面上同模型復(fù)制相同.但是,實(shí)例并非庫(kù)中真實(shí)的實(shí)體,而是眾多模型的一個(gè)影子,此時(shí)實(shí)物其實(shí)僅有一個(gè),其他同類(lèi)實(shí)物均可通過(guò)一系列變換而得到.這種情況下,在場(chǎng)景中顯示實(shí)體時(shí),就可以只對(duì)某一實(shí)例的顏色、形狀、紋理等特征進(jìn)行編輯,此時(shí)所有同類(lèi)實(shí)體的屬性也隨之相應(yīng)改變.在場(chǎng)景中,如果一個(gè)實(shí)物在不同的位置多次被使用如果同一物體在場(chǎng)景中多次被使用,那么僅對(duì)該物體建立一個(gè)模型,以后不論何時(shí)何地使用,僅通過(guò)實(shí)例化方法引用此模型即可.這種方法不僅能夠節(jié)省大量?jī)?nèi)存空間,而且還能提高建模速度.
(4)外部引用技術(shù)策略:外部引用可以讓用戶(hù)在當(dāng)前場(chǎng)景中根據(jù)需要把相應(yīng)文件或紋理引入進(jìn)來(lái)并重新定位,這樣就可以把一個(gè)大的文件按需要分次下載到場(chǎng)景中,從而避免一次載入全部文件而帶來(lái)的耗時(shí)問(wèn)題.因此,在初步建模之時(shí),首先計(jì)算場(chǎng)景中個(gè)模型的總數(shù)比例,且僅在當(dāng)前場(chǎng)景中建立主干模型;然后在需要的地方或適當(dāng)時(shí)候,使用外部引用將相關(guān)輔助模型導(dǎo)入.這樣在一定程度上節(jié)省了內(nèi)存、提高了建模速度.
在實(shí)際過(guò)程中,應(yīng)根據(jù)實(shí)際情況來(lái)選用上述優(yōu)化策略.
圖2 聯(lián)合站系統(tǒng)基本結(jié)構(gòu)圖Fig.2 The joint station system basic structure
聯(lián)合站系統(tǒng)作為油田系統(tǒng)的一個(gè)重要組成部分,其接收各個(gè)中轉(zhuǎn)站的石油,然后進(jìn)行脫水、加熱等一系列工序,之后輸送給相關(guān)單位進(jìn)行存儲(chǔ)和銷(xiāo)售,該系統(tǒng)的實(shí)時(shí)性直接影響原油的產(chǎn)量.為了較好地體現(xiàn)論文所給優(yōu)化方法在實(shí)時(shí)性方面的優(yōu)越性,該實(shí)驗(yàn)采用3Dsmax和Virtools開(kāi)發(fā)工具對(duì)聯(lián)合站系統(tǒng)進(jìn)行場(chǎng)景模擬,并使用SQL Server進(jìn)行數(shù)據(jù)存儲(chǔ).在實(shí)驗(yàn)中,構(gòu)建的聯(lián)合站系統(tǒng)基本框架如圖2所示.
由于整個(gè)聯(lián)合站系統(tǒng)較為龐大,本次仿真實(shí)驗(yàn)僅實(shí)現(xiàn)了其中的4個(gè)罐體,以此來(lái)進(jìn)行對(duì)比實(shí)驗(yàn).表1表示聯(lián)合站系統(tǒng)4個(gè)罐體在傳統(tǒng)三維建模流程和本文三維建模優(yōu)化流程下的總體耗時(shí)對(duì)比結(jié)果.圖3和圖4表示光照強(qiáng)度相同條件下,聯(lián)合站系統(tǒng)4個(gè)罐體在傳統(tǒng)三維建模流程和本文三維建模優(yōu)化流程下的最終建模效果對(duì)比.
表1 聯(lián)合站系統(tǒng)中4個(gè)罐體在本文流程和傳統(tǒng)流程下總體仿真耗時(shí)對(duì)比結(jié)果Tab.1 Compared results of overall simulation time under proposed process and traditional process on joint station system
圖3 傳統(tǒng)三維建模流程下的聯(lián)合站系統(tǒng)中4個(gè)罐體建??傮w效果Fig.3 Overall modeling effect of four tanks under traditional 3D modeling process on joint station system
圖4 本文三維建模優(yōu)化流程下的聯(lián)合站系統(tǒng)中4個(gè)罐體建??傮w效果Fig.4 Overall modeling effect of four tanks under proposed 3D modeling process on joint station system
從表1來(lái)看,本文設(shè)計(jì)的三維建模優(yōu)化流程能夠在一定程度上降低系統(tǒng)總體耗時(shí),從而在一定程度上提高系統(tǒng)實(shí)時(shí)性.從圖3和圖4所示的建??傮w效果來(lái)看,在光照強(qiáng)度相同的條件下,利用本文所給的三維建模優(yōu)化流程進(jìn)行的建模效果較逼真,清晰度較強(qiáng).
經(jīng)分析,產(chǎn)生上述實(shí)驗(yàn)結(jié)果原因如下:
(1)本文在對(duì)建模流程優(yōu)化的同時(shí),也對(duì)場(chǎng)景的真實(shí)性進(jìn)行了一定程度的優(yōu)化和保證,這使得利用本文所給的三維建模優(yōu)化流程進(jìn)行的建模效果較好,清晰度較強(qiáng).
(2)在保證建模效果的同時(shí),對(duì)模型采用所提的簡(jiǎn)化算法進(jìn)行簡(jiǎn)化,并利用去除多余多邊形策略、紋理替代策略、實(shí)例化策略和外部引用技術(shù)使用策略對(duì)模型進(jìn)行優(yōu)化,這在一定程度上減少了系統(tǒng)總體耗時(shí),提高了系統(tǒng)的實(shí)時(shí)性.
論文對(duì)三維建模進(jìn)行研究,基于過(guò)程優(yōu)化思想,提出了一個(gè)新的三維建模流程優(yōu)化方法.同時(shí),針對(duì)其中的模型簡(jiǎn)化也進(jìn)行了研究,提出了一個(gè)層次性模型簡(jiǎn)化算法.通過(guò)模擬聯(lián)合站系統(tǒng)實(shí)驗(yàn)表明,所提三維建模流程優(yōu)化方法在建模總體效果和實(shí)時(shí)性?xún)蓚€(gè)方面,都具有一定的優(yōu)越性.
[1]葉南陽(yáng).手機(jī)振動(dòng)影響及模式優(yōu)化設(shè)計(jì)研究[J].湖南師范大學(xué)自然科學(xué)學(xué)報(bào),2012,35(2):28-30.
[2]周德吉,武殿梁,邱世廣.虛擬現(xiàn)實(shí)環(huán)境中包含虛擬人的全要素裝配操作仿真[J].計(jì)算機(jī)集成制造系統(tǒng),2012,18(10):2183-2190.
[3]傅招國(guó),王天威,倪小鵬.基于Virtools的虛擬現(xiàn)實(shí)技術(shù)及在特種設(shè)備教學(xué)中的應(yīng)用[J].計(jì)算機(jī)工程與科學(xué),2012,34(6):97-100.
[4]CHEN G,LI B,TIAN F L,et al.Design and implementation of a 3D ocean virtual reality and visualization engine[J].J Ocean Univ China,2012,11(4):481-487.
[5]譚正華,王李管,熊書(shū)敏.基于實(shí)測(cè)邊界線(xiàn)的地下巷道三維建模方法[J].中南大學(xué)學(xué)報(bào):自然科學(xué)版,2012,43(2):626-631.
[6]潘榮江,高孝洋,關(guān)防利.基于平面設(shè)計(jì)圖的高速公路三維建模[J].系統(tǒng)仿真學(xué)報(bào),2012,24(1):17-20.
[7]LI Z L,ZHI R P,ZHAO C W,et al.The 3D modeling of blades of multiphase flow helico-axial pump's rotor based on solidworks[J].Computer Aided Drafting,Design and Manufacturing,2011,21(2):1-6.
[8]DU Q L,DU T N,ZHAO H F,et al.The comparison of different degree of convexity and 3D modeling of involute hyperbolic arch dam[J].Computer Aided Drafting,Design and Manufacturing,2011,21(2):7-12.
[9]呂翠華,陳秀萍,張東明.基于三維激光掃描技術(shù)的建筑物三維建模方法[J].科學(xué)技術(shù)與工程,2012,12(10):2410-2414.
[10]許偉冬,劉國(guó)棟,劉 龍.機(jī)場(chǎng)供電仿真虛擬環(huán)境的研究[J].計(jì)算機(jī)仿真,2012,29(10):47-51.
[11]董純柱,殷紅成,王 超.基于射線(xiàn)管分裂方法的SAR場(chǎng)景快速消隱技術(shù)[J].雷達(dá)學(xué)報(bào),2012,1(4):436-440.
[12]韋婷黎,展 榮,侯 能.基于可編程GPU的三維地形場(chǎng)景中樹(shù)的渲染優(yōu)化技術(shù)[J].科學(xué)技術(shù)與工程,2012,12(26):6834-6839.
[13]吳夢(mèng)熊,胡建鵬,耿兆豐.紋理映射技術(shù)在三維虛擬服裝模擬中的應(yīng)用與實(shí)現(xiàn)[J].東華大學(xué)學(xué)報(bào):自然科學(xué)版,2008,34(3):445-448.
[14]龍 勇,袁 靜,康鳳舉.可視化仿真中三維建模策略研究[J].系統(tǒng)仿真學(xué)報(bào),2011,23(12):2682-2687.