張博 劉偉 剛芹果
隨著計算機技術的不斷發展,建筑結構設計較傳統模式有了巨大的飛躍。但目前的結構設計技術還處于半自動化狀態,結構的復雜性與結構設計技術的發展程度之間的矛盾突出出來,已成為目前結構設計的瓶頸[1]。傳統的ANSIS,FLA,SAP2000等結構分析工具雖然可以表現三維結構應力和變形,但不能將結構真實的材質和所處環境展現出來,同時缺乏良好的人機交互能力,操作也比較復雜。而像3DSMAX,MAYA,ProE等三維建模軟件又只能表示模型的幾何信息。因此在虛擬場景中的動態交互式設計必然會成為建筑結構設計的發展趨勢。
國內在虛擬現實方面的研究主要集中于飛機制造、航天、軍事、醫學等領域,而在結構工程領域的應用尚沒有成熟的成果出現[3]。本文對虛擬現實技術在結構分析中的應用進行了初步研究,以框架結構為例,利用VRML中節點編輯的建模功能和路由的交互功能,實現了在虛擬現實下的框架結構分析,并建造出了一個逼真的三維交互式結構分析的虛擬場景,為今后進一步研究虛擬現實技術在其他結構分析中的應用奠定了基礎。
基于虛擬現實語言的特點,在虛擬現實下的結構分析過程可分為如下四個主要步驟進行:結構造型建模、結構分析、交互功能設計及場景的渲染等。它們之間的數據傳遞關系如圖1所示。

在進行框架結構分析時,造型建模有兩種方式:如基本構件和整體結構較為簡單,可提取結構幾何信息后,直接用VRML編程語言進行初步建模;如遇到特殊構件或具有特殊要求等不規則的結構形式,可先用3DSMAX或UG建模軟件進行實體建模,再將其輸出為VRML(*.wrl)文件格式并導入VR編輯器進行處理。
為滿足交互控制要求和結構自身的變形特點,需在虛擬環境下對基本構件及結構進行處理。如結構形式較為簡單,在編輯器下整理模型節點,方便編輯使用即可;如果結構不規則或施加荷載后的應力變形不能用單一造型實現,則模型構件應根據結構實際尺寸并參考3DSMAX建模數據,用節點坐標形式表示,以便后續工作的順利進行。
框架結構受力分析及位移計算可以按照建筑結構規范上的理論進行分析。具體分析方法可分為兩種:1)利用VRML的程序腳本和Script節點,將結構力學分析的解析表達式編入其中,通過定義名字、域、事件及url或創建新節點(其中,url中使用的是JavaScript函數)用于復雜計算;2)用有限元方法在虛擬現實外部環境下將分析過程實現后,用VRML中的Java語言調用相應程序,將計算得出的受力及變形數據與結構幾何信息相對應,從而實現虛擬環境下的結構受任意荷載后的變形分析。
對于VRM L場景在結構中的應用來說,首先是要讓用戶感受到結構生動逼真的動畫效果,這需要用插值器來實現。通過對相應作用的插值器進行節點編輯,控制相應插值器下的參數變化,再由路由將這些事件連接起來,就可得到想要的動畫效果。
僅僅讓用戶感受到結構生動逼真的動畫效果是不夠的,還需要讓用戶通過控制場景使動畫具有實時性和可控制性,以實現結構分析的交互功能。這應用傳感器節點來實現,首先要根據用戶的控制需求選擇合適的傳感器,再根據結構分析后的數據設置其下參數變量。設置路由,用來檢測瀏覽者在虛擬場景中的動作,通過事件的傳遞,實現用戶和虛擬環境之間的交互。用路由語句將接觸傳感器感知用戶按下鼠標操作的事件與時間傳感器的開閉狀態連接在一起。當在造型上按下鼠標左鍵不松開時,路由將is-Active=TURE的事件傳給時間傳感器的enabled域,把其值改為TURE,開啟時間傳感器,使位移動畫開始運行,再把關鍵點上的值由set-fraction接收再通過value-changed發送出,即實現了結構受力變形與用戶動作之間的交互。
虛擬現實技術應用在結構分析中一個最大的優勢在于能使其虛擬場景更逼真,更接近現實世界,這就需要在VRML中添加場景信息,對場景的環境進行設置。如視點Viewpoint{},光照節點Light{},紋理節點 Texture{},霧化Fog{}和聲音節點Sound{}等,通過設置其相應的參數,可達到用戶想要的最佳虛擬場景效果。


考慮到框架實際側移的變形特點,應用3DSMAX軟件中的loft命令對柱進行了建模,以便導入VR后是節點形式作為柱彎曲時的關鍵點。為滿足交互控制要求和結構自身的變形特點,在虛擬環境下對基本構件及結構進行了相應的處理,如構件名稱的系統化,插入坐標修改等,具體模型如圖3所示。
本例中此模型構件應用了節點坐標表示,根據結構實際尺寸并參考3DSMAX建模數據,通過位置插補器PositionInterpolator{}控制節點或結構的坐標,實現梁構件的平移。通過坐標差值器CoordinateInterpolator{}控制柱的變形,從而達到動畫一定的效果。其中模型只取一個最大位移進行線性差值,由于側移量較小,每層柱的側移為擴大后數值。進入播放器,即可進行交互式動畫變形演示,部分側移如圖4所示。

本例中交互功能的實現應用了路由,將接觸傳感器Touch-Sensor{}和時間傳感器TimeSensor{}連接在一起。當用戶在虛擬場景中用鼠標接觸結構時,通過點擊鼠標觸發事件,實現用戶和虛擬環境之間的交互。
對此場景進行渲染時,在程序中加入了背景,視點Viewpoint{},光照節點Light{},霧化Fog{}用于表現與真實環境相符的虛擬場景,用紋理節點Texture{}將混凝土材質加入模型中,以體現其應用的材料,用聲音節點Sound{}使結構變形過程有感官效果。其中,背景和紋理使用JPG和GIF格式文件,聲音使用了聲音剪輯節點AudioClip{}和WAV聲源,效果如圖5~圖7所示。

1)用3DS MAX建模軟件和虛擬現實語言建立了框架結構的三維模型,將虛擬現實技術應用到框架結構的受力變形分析中,通過對VRML的Script節點編輯,實現了框架結構變形的三維動態交互式模型,用戶可通過簡單的鼠標操作實時的觀察框架結構的動態變形。2)通過添加視點Viewpoint{},光照 Light{},紋理Texture{},霧化Fog{}和聲音Sound{}等節點使結構和基本構件在虛擬環境中形象逼真的顯示了變形過程,使觀看者沉浸其中,具有良好的感官效果。3)在結構分析中應用虛擬現實技術,一個最大的優勢在于能使其虛擬場景更逼真,更接近現實世界,大大提高了結構分析的可視性,使設計工作更人性化,更富有創造性。通過對虛擬現實技術的進一步開發,還可將結構信息、結構應力應變分析一體化,使結構分析和設計更簡便、更精確、更快速。所以,虛擬現實技術在結構分析和設計中具有廣闊的發展前景。
[1] 周玉石.結構設計的虛擬原型技術與應用研究[D].上海:同濟大學博士論文,2007.
[2] 胡小強.虛擬現實技術基礎與應用[M].北京:北京郵電大學出版社,2009.
[3] 汪德江,張基濤.基于虛擬現實技術的建筑結構設計[J].結構工程師,2004,20(5):61-63.
[4] 劉 怡,張洪定,崔 欣.虛擬現實VRML程序設計[M].天津:南開大學出版社,2007.
[5] 呂西林.高層建筑結構[M].武漢:武漢工業大學出版社,2001.
[6] 嚴 鈞,劉永健.虛擬現實技術在土木建筑工程中的應用研究[J].長沙交通學院報,2003,19(1):58-62.
[7] 高嘉爽,楊建國,方洪淵,等.基于VRM L的焊接有限元分析前處理開發[J].焊接學報,2008,29(4):93-96.
[8] 郭 軼,陳岱林.基于虛擬現實技術的三維園林景觀設計仿真系統[J].計算機仿真,2009,26(2):320-324.