吳 潔 魏斌峰
(1、江西機電職業技術學院,江西 南昌 330013;2、江西經濟管理干部學院,江西 南昌 330088)
仿真技術廣泛使用在各領域,引起了人們的熱切關注。它利用了計算機虛擬環境的方法實現多源信息融合的交互方式,借助各種傳感設備達到在計算機顯示設備中模擬真實場景的目的。目前,該技術已經發展的非常成熟。
在計算機輔助建筑設計方面,計算機圖形學的不斷創新和發展也使得計算機在輔助建筑設計領域取得不斷深入,而三維仿真技術的成熟,必然引起一場計算機輔助建筑設計的偉大技術革命。
隨著近年來CAD技術的發展和普及,已經使得效果圖在很大程度上得到了普及。然而,效果圖只是展示平面、靜態的視覺體驗,更無法提供交互的感覺,是一個靜態的環境。觀察者的視覺角度單一,也很被動,也很難獲得豐富的信息。和其他用于觀看黑板的公共建筑相同,階梯教室也要求學生觀看黑板的視線不會被遮擋,要有良好的視覺效果。
本章的主要內容就是在理論基礎之上完成一個用于階梯教室視線分析、優化及座位自動排布的應用程序,將理論成果應用到實踐。本系統的主要功能包括以下幾個部分:
⑴基于用戶(建筑設計師)提供的需求,結合已有的視線分析資料(階梯教室設計與講臺技術研究所提供),構建面向學生視線效果的分析計算模型,此模型是此軟件的核心功能。
⑵根據編輯后的三維場景三維模型、講臺的相關數據、指定的學生坐席座椅,基于視線分析計算模型,自動分析指定位置的視線情況(判斷是否有遮擋、遮擋率等)。提供多種視線分析功能,并提供不同視線分析的結果比較。如基于射線法的視線分析、基于深度圖的視線分析等。
⑶根據所得數據,對所有的待分析的學生座位進行批量的視線分析,并保存分析結果。
⑷由階梯教室設計和講臺技術研究所得到的分析過程中的定量和變量。實現簡單的變量調整,人機交互功能。
⑴基于視線分析所得到的結果,聯系當前階梯教室學生座位的實際情況,構建成為減小學生席視線遮擋率的優化模型。
⑵根據優化模型計算出合適的視線升起C值,根據此值對場景中的所有座位進行視線優化,并在三維模擬場景中展示優化結果。
⑶提供優化前后的遮擋率以及座位視覺效果等級劃分的對比。
⑴基于輸入約束值的智能排布功能。
⑵支持智能排布不同座位的排列方式。
⑶支持手動調整排布結果。
⑷三維展示及保存排布的結果。
系統的需求分析實體關系圖如圖1-1所示。

圖1-1 系統實體關系圖
本章分為三部分,分別介紹階梯教室學生的視線分析、優化及座位排布的實現。
在階梯教室的三維模擬場景中,通過鼠標獲取的方法選擇某個座位進行視線分析。從選中的座位的人眼位置向黑板下沿位置的細分點發射一組射線,每條射線分別在場景中的物體(學生和建筑物)進行求交運算,如果運算結果返回交點,則改變當前射線的顏色(無遮擋為綠色,有遮擋為紅色),表示該學生在此射線方向上的視線位置存在遮擋。在系統界面的右上角使用HUD顯示當前座位的視線狀況的參數。
在OSG中,osgUtil::LineSegmentIntersector繼承自于osgUtil::Intersector類,用于檢測所指定線段與模擬場景中圖形之間的相交情況,并向程序源碼提供了查詢相交測試結果的函數。該類使用兩個osg::Vec3作為線段的起始點和終結點,本程序中的osgUtil::LineSegmentIntersector(pStart,pEndMS),pStart和pEndMS就是兩個osg::Vec3類型的三維空間點坐標。使用viewer->getSceneData()->accept(_iv)設置參與相交檢測的模擬物體,本系統中使用的是場景中的所有模擬物體。然后,整個for循環遍歷所有視線,完成一組視線的遮擋檢測。如圖2-1所示。

圖2-1 視線分析
在階梯教室視線分析的基礎上,對學生席視線產生嚴重遮擋的階梯教室進行座位排布優化。
在手動優化過程中,首先要做的就是要獲取當前模擬場景中階梯教室的類型,也就是判斷是否存在橫向的走道;第二步則是要針對不同類型的階梯教室選擇不同的優化方法來計算得到優化后的座位位置;第三步:設置用于控制座位排布范圍的約束條件;第四步則是在三維模擬場景中重置階梯教室中所有座位的位置,使得優化后的結果能夠實時的展現;第五步要對優化后的座位重新進行視線分析;第六步對照優化前后的遮擋率或者合格座位占座位總數的百分比。如果建筑設計師對優化的結果滿意,那么進行第七步,輸出優化結果,最后優化完成。如果建筑設計師對優化結果并不滿意,那么返回至第二步,調整約束條件,重復整個過程直到滿意。
而自動優化過程,則采用“先計算,再調整”的方法進行優化。先針對當前模擬階梯教室選取合適的C值,根據C值計算出理想狀態下的座位高度,在這基礎上再根據約束條件對座位位置進行調整,并不斷重復這個過程,直到得到所有座位遮擋率之和最小的一種排布方式。這時重置模擬場景中座位位置并進行視線分析,然后對比優化前后的變化,輸出優化結果。優化過程如圖2-2所示。

圖2-2 優化過程
優化后的階梯教室視線分析結果如圖2-3所示。

圖2-3 優化后展示圖
本文采用參數化設計方法將階梯教室坐席排布的關鍵部分參數化,通過在軟件對話框中輸入關鍵參數的方式完成整個階梯教室的坐席排布。教室的各項參數,輸入完成后使用Qt的消息觸發機制,將所獲得的參數傳給函數seatArrange(),該函數根據獲得的參數進行座位排布。排布過程中使用三角形數解法計算每一排的視線升起值,利用for循環迭代所有排數,完成三維虛擬場景中的座位排布。排布結果如圖2-4所示。

圖2-4 排布結果三維效果圖
本文介紹了階梯教室視線仿真分析優化及智能排布系統的各項基本功能的實現,相對于傳統的視線設計方法,該方法更便捷直觀、更逼真、更可靠。通過數據模擬獲得建筑的最佳數據量。
[1]劉天波.武漢某學校階梯教室的結構設計[J].國外建材科技,2007,(6).
[2]楊曉.基于OSG的虛擬場景中包圍盒碰撞檢測的研究[J].計算機技術與發展,2011,9(21).
[3]Nagata Shojiro,Atsushi Nakazawa K I.An Interactive Multiview Autostereoscopic Display System for Digital Image Archives in Tele/Cyber Heritage Museums[A].In Proceedings of VSMM[C].IEEE,2002.4.
[4]Kazuhiro Shin-ike and Hitoshi Iima.A Method for Determining Classroom Seating Arrangements by Using Bioinformatics[J].Maizuru National College of Technology,234,Shiraya,Maizuru,Kyoto 625-8511,Japan.2011,2:10.