吳 潔 魏斌峰
(1、江西機(jī)電職業(yè)技術(shù)學(xué)院,江西 南昌 330013;2、江西經(jīng)濟(jì)管理干部學(xué)院,江西 南昌 330088)
仿真技術(shù)廣泛使用在各領(lǐng)域,引起了人們的熱切關(guān)注。它利用了計(jì)算機(jī)虛擬環(huán)境的方法實(shí)現(xiàn)多源信息融合的交互方式,借助各種傳感設(shè)備達(dá)到在計(jì)算機(jī)顯示設(shè)備中模擬真實(shí)場景的目的。目前,該技術(shù)已經(jīng)發(fā)展的非常成熟。
在計(jì)算機(jī)輔助建筑設(shè)計(jì)方面,計(jì)算機(jī)圖形學(xué)的不斷創(chuàng)新和發(fā)展也使得計(jì)算機(jī)在輔助建筑設(shè)計(jì)領(lǐng)域取得不斷深入,而三維仿真技術(shù)的成熟,必然引起一場計(jì)算機(jī)輔助建筑設(shè)計(jì)的偉大技術(shù)革命。
隨著近年來CAD技術(shù)的發(fā)展和普及,已經(jīng)使得效果圖在很大程度上得到了普及。然而,效果圖只是展示平面、靜態(tài)的視覺體驗(yàn),更無法提供交互的感覺,是一個(gè)靜態(tài)的環(huán)境。觀察者的視覺角度單一,也很被動(dòng),也很難獲得豐富的信息。和其他用于觀看黑板的公共建筑相同,階梯教室也要求學(xué)生觀看黑板的視線不會(huì)被遮擋,要有良好的視覺效果。
本章的主要內(nèi)容就是在理論基礎(chǔ)之上完成一個(gè)用于階梯教室視線分析、優(yōu)化及座位自動(dòng)排布的應(yīng)用程序,將理論成果應(yīng)用到實(shí)踐。本系統(tǒng)的主要功能包括以下幾個(gè)部分:
⑴基于用戶(建筑設(shè)計(jì)師)提供的需求,結(jié)合已有的視線分析資料(階梯教室設(shè)計(jì)與講臺(tái)技術(shù)研究所提供),構(gòu)建面向?qū)W生視線效果的分析計(jì)算模型,此模型是此軟件的核心功能。
⑵根據(jù)編輯后的三維場景三維模型、講臺(tái)的相關(guān)數(shù)據(jù)、指定的學(xué)生坐席座椅,基于視線分析計(jì)算模型,自動(dòng)分析指定位置的視線情況(判斷是否有遮擋、遮擋率等)。提供多種視線分析功能,并提供不同視線分析的結(jié)果比較。如基于射線法的視線分析、基于深度圖的視線分析等。
⑶根據(jù)所得數(shù)據(jù),對(duì)所有的待分析的學(xué)生座位進(jìn)行批量的視線分析,并保存分析結(jié)果。
⑷由階梯教室設(shè)計(jì)和講臺(tái)技術(shù)研究所得到的分析過程中的定量和變量。實(shí)現(xiàn)簡單的變量調(diào)整,人機(jī)交互功能。
⑴基于視線分析所得到的結(jié)果,聯(lián)系當(dāng)前階梯教室學(xué)生座位的實(shí)際情況,構(gòu)建成為減小學(xué)生席視線遮擋率的優(yōu)化模型。
⑵根據(jù)優(yōu)化模型計(jì)算出合適的視線升起C值,根據(jù)此值對(duì)場景中的所有座位進(jìn)行視線優(yōu)化,并在三維模擬場景中展示優(yōu)化結(jié)果。
⑶提供優(yōu)化前后的遮擋率以及座位視覺效果等級(jí)劃分的對(duì)比。
⑴基于輸入約束值的智能排布功能。
⑵支持智能排布不同座位的排列方式。
⑶支持手動(dòng)調(diào)整排布結(jié)果。
⑷三維展示及保存排布的結(jié)果。
系統(tǒng)的需求分析實(shí)體關(guān)系圖如圖1-1所示。
圖1-1 系統(tǒng)實(shí)體關(guān)系圖
本章分為三部分,分別介紹階梯教室學(xué)生的視線分析、優(yōu)化及座位排布的實(shí)現(xiàn)。
在階梯教室的三維模擬場景中,通過鼠標(biāo)獲取的方法選擇某個(gè)座位進(jìn)行視線分析。從選中的座位的人眼位置向黑板下沿位置的細(xì)分點(diǎn)發(fā)射一組射線,每條射線分別在場景中的物體(學(xué)生和建筑物)進(jìn)行求交運(yùn)算,如果運(yùn)算結(jié)果返回交點(diǎn),則改變當(dāng)前射線的顏色(無遮擋為綠色,有遮擋為紅色),表示該學(xué)生在此射線方向上的視線位置存在遮擋。在系統(tǒng)界面的右上角使用HUD顯示當(dāng)前座位的視線狀況的參數(shù)。
在OSG中,osgUtil::LineSegmentIntersector繼承自于osgUtil::Intersector類,用于檢測所指定線段與模擬場景中圖形之間的相交情況,并向程序源碼提供了查詢相交測試結(jié)果的函數(shù)。該類使用兩個(gè)osg::Vec3作為線段的起始點(diǎn)和終結(jié)點(diǎn),本程序中的osgUtil::LineSegmentIntersector(pStart,pEndMS),pStart和pEndMS就是兩個(gè)osg::Vec3類型的三維空間點(diǎn)坐標(biāo)。使用viewer->getSceneData()->accept(_iv)設(shè)置參與相交檢測的模擬物體,本系統(tǒng)中使用的是場景中的所有模擬物體。然后,整個(gè)for循環(huán)遍歷所有視線,完成一組視線的遮擋檢測。如圖2-1所示。
圖2-1 視線分析
在階梯教室視線分析的基礎(chǔ)上,對(duì)學(xué)生席視線產(chǎn)生嚴(yán)重遮擋的階梯教室進(jìn)行座位排布優(yōu)化。
在手動(dòng)優(yōu)化過程中,首先要做的就是要獲取當(dāng)前模擬場景中階梯教室的類型,也就是判斷是否存在橫向的走道;第二步則是要針對(duì)不同類型的階梯教室選擇不同的優(yōu)化方法來計(jì)算得到優(yōu)化后的座位位置;第三步:設(shè)置用于控制座位排布范圍的約束條件;第四步則是在三維模擬場景中重置階梯教室中所有座位的位置,使得優(yōu)化后的結(jié)果能夠?qū)崟r(shí)的展現(xiàn);第五步要對(duì)優(yōu)化后的座位重新進(jìn)行視線分析;第六步對(duì)照優(yōu)化前后的遮擋率或者合格座位占座位總數(shù)的百分比。如果建筑設(shè)計(jì)師對(duì)優(yōu)化的結(jié)果滿意,那么進(jìn)行第七步,輸出優(yōu)化結(jié)果,最后優(yōu)化完成。如果建筑設(shè)計(jì)師對(duì)優(yōu)化結(jié)果并不滿意,那么返回至第二步,調(diào)整約束條件,重復(fù)整個(gè)過程直到滿意。
而自動(dòng)優(yōu)化過程,則采用“先計(jì)算,再調(diào)整”的方法進(jìn)行優(yōu)化。先針對(duì)當(dāng)前模擬階梯教室選取合適的C值,根據(jù)C值計(jì)算出理想狀態(tài)下的座位高度,在這基礎(chǔ)上再根據(jù)約束條件對(duì)座位位置進(jìn)行調(diào)整,并不斷重復(fù)這個(gè)過程,直到得到所有座位遮擋率之和最小的一種排布方式。這時(shí)重置模擬場景中座位位置并進(jìn)行視線分析,然后對(duì)比優(yōu)化前后的變化,輸出優(yōu)化結(jié)果。優(yōu)化過程如圖2-2所示。
圖2-2 優(yōu)化過程
優(yōu)化后的階梯教室視線分析結(jié)果如圖2-3所示。
圖2-3 優(yōu)化后展示圖
本文采用參數(shù)化設(shè)計(jì)方法將階梯教室坐席排布的關(guān)鍵部分參數(shù)化,通過在軟件對(duì)話框中輸入關(guān)鍵參數(shù)的方式完成整個(gè)階梯教室的坐席排布。教室的各項(xiàng)參數(shù),輸入完成后使用Qt的消息觸發(fā)機(jī)制,將所獲得的參數(shù)傳給函數(shù)seatArrange(),該函數(shù)根據(jù)獲得的參數(shù)進(jìn)行座位排布。排布過程中使用三角形數(shù)解法計(jì)算每一排的視線升起值,利用for循環(huán)迭代所有排數(shù),完成三維虛擬場景中的座位排布。排布結(jié)果如圖2-4所示。
圖2-4 排布結(jié)果三維效果圖
本文介紹了階梯教室視線仿真分析優(yōu)化及智能排布系統(tǒng)的各項(xiàng)基本功能的實(shí)現(xiàn),相對(duì)于傳統(tǒng)的視線設(shè)計(jì)方法,該方法更便捷直觀、更逼真、更可靠。通過數(shù)據(jù)模擬獲得建筑的最佳數(shù)據(jù)量。
[1]劉天波.武漢某學(xué)校階梯教室的結(jié)構(gòu)設(shè)計(jì)[J].國外建材科技,2007,(6).
[2]楊曉.基于OSG的虛擬場景中包圍盒碰撞檢測的研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,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.