朱寶玉
?
一種飛行事故三維情景構(gòu)建的實現(xiàn)方法
朱寶玉
(中國民用航空飛行學(xué)院 空管學(xué)院,四川 廣漢 618307)
目前有關(guān)飛行事故的研究主要是針對事故飛機飛行過程的復(fù)原、飛行姿態(tài)的仿真,在三維飛行過程和姿態(tài)仿真技術(shù)往往采取復(fù)雜專業(yè)的技術(shù)平臺.提出了一種經(jīng)濟有效的三維構(gòu)建技術(shù)方案,即利用SketchUp軟件建造飛機三維模型,運用KML語言對飛行事故進行情景構(gòu)建,并以Google Earth為可視化平臺進行呈現(xiàn),可快速經(jīng)濟地構(gòu)建出飛行事故的虛擬情景.
Google Earth;KML;Google Sketchup
隨著我國民用航空市場的快速發(fā)展,飛行安全問題越來越受到關(guān)注,飛行事故的再現(xiàn)方法研究成為一個重要課題.目前,許多飛行事故仿真平臺制作的飛行再現(xiàn)仿真需要專業(yè)的建模技術(shù)、計算機圖形技術(shù)和多媒體技術(shù)等作為支撐,并且對硬件要求較高,制作周期長,價格昂貴.陸慧娟[1]等利用3dsMAX平臺,將地理信息技術(shù)、三維模擬技術(shù)和移動物的移動軌跡數(shù)據(jù)結(jié)合起來,多角度觀察事故發(fā)生過程;謝川[2]等提出了一種基于DirectX實現(xiàn)建模、仿真及動態(tài)數(shù)據(jù)回放的方法,綜合利用了計算機圖形技術(shù)和多媒體技術(shù);薛源[3]等設(shè)計了基于HLA仿真框架的分布式虛擬現(xiàn)實事故再現(xiàn)系統(tǒng),通過多邊形建模技術(shù)、高級場景渲染技術(shù)以及虛擬現(xiàn)實交互技術(shù)實現(xiàn)事故過程的可視化.這些飛行再現(xiàn)仿真平臺均需要復(fù)雜專業(yè)的技術(shù),對于非專業(yè)人士,實現(xiàn)難度大,不容易推廣.
針對這些問題,本文提出了一種高效的三維構(gòu)建技術(shù)方案,即利用SketchUp軟件建造飛機三維模型,運用KML語言對飛行事故進行情景構(gòu)建,并以Google Earth為可視化平臺進行呈現(xiàn),可快速經(jīng)濟地構(gòu)建出飛行事故的虛擬情景.
1.1Google Earth
本文采用Google Earth軟件作為飛行事故情景構(gòu)建的呈現(xiàn)平臺,它是由谷歌公司推出的一款GIS軟件,可為用戶免費提供衛(wèi)星影像及地形數(shù)據(jù)信息.它的功能強大,操作簡便,具有高度的現(xiàn)實還原力和大范圍的真實地形場景,給人身臨其境的感覺.
Google Earth最大的優(yōu)勢在于基于XML語法的KML語言.KML的應(yīng)用是為了增強Google Earth的功能,實現(xiàn)與用戶的互操作性.通過KML語言可以在Google Earth上顯示點、線、多邊形、多面體、圖片及三維模型等地理數(shù)據(jù),還可以將地理數(shù)據(jù)從存儲、風格設(shè)計、分層和顯示的各個環(huán)節(jié)得到實現(xiàn),并且能夠很好地實現(xiàn)動態(tài)效果.本文最終要利用Google Earth顯示飛行事故的動態(tài)效果[4].
1.2 三維建模平臺
目前流行的建模軟件有3D Studio Max,Maya,XSI,Multigen Creator等,其中有些軟件能夠構(gòu)建出高精度的模型,但是模型的數(shù)據(jù)量龐大,建模周期長,軟件操作復(fù)雜,不適合本文的飛機模型的構(gòu)建[5].
而Google Sketchup是一款直接面向設(shè)計過程的三維建模軟件,其操作簡單、建模效果逼真,用戶可以邊構(gòu)思邊設(shè)計,最大限度地控制模型完成的精確性.此外,Google Sketchup和Google Earth已經(jīng)實現(xiàn)了無縫結(jié)合,選擇Google SketchUp軟件建造飛機模型是最好的選擇.
本文研究的主要內(nèi)容是利用Sketch Up建造飛機模型,Google Earth平臺結(jié)合KML語言實現(xiàn)飛行事故的三維情景構(gòu)建,分3個步驟實現(xiàn),即建立飛機三維模型、KML語言編寫和三維實體在虛擬場景中的運動.
2.1 事故飛機三維建模
飛行事故情景構(gòu)建的對象是事故飛機,而為了更好地體現(xiàn)飛機飛行姿態(tài)和運動狀況的真實感,就需要盡可能多的保留原飛機的真實情況.顯然使用簡單的二維圖標來代替三維飛機模型是不可取的,所以在建造飛機模型時,要盡可能精確地還原飛機的真實模樣,以便能夠達到預(yù)期的效果.本文選擇Google SketchUp作為飛機三維建模平臺,以烏柏林根空難中的波音757-200SF飛機為例,介紹飛機模型的建造過程.模型建造分2個步驟:
第1步:建造出無材質(zhì)的飛機模型;
第2步:根據(jù)收集到的飛機真實圖片、影像對模型進行貼圖,獲得完整的飛機模型.
波音757-200SF飛機的真實圖片見圖1,要建造的是和圖中飛機效果相同的三維模型.
由于民航飛機都是由機身、機翼、尾翼、起落架和發(fā)動機等主要部件組成.所以在進行建模時,先分別對飛機的每個部件建模,并將各部件保存為組件,然后以機身為基礎(chǔ),將各個組件組裝到機身上,形成一個群組,就得到了無材質(zhì)的飛機初步模型.在建模時可以充分利用網(wǎng)絡(luò)上已有的資源,減少建模的時間,建造的波音757-200SF飛機無材質(zhì)的初步模型見圖2.
建造完無材質(zhì)的初步模型后,要根據(jù)圖1中飛機真實照片對無材質(zhì)模型進行貼圖.其中需要貼的材質(zhì)包括:機身圖案、航空公司名稱、航空公司航徽、國籍和登記標志等.由于飛機機身是不規(guī)則的曲面,在給曲面機身貼圖時,為了避免貼圖出現(xiàn)錯位的狀況,需要構(gòu)造輔助模型與機身曲面相交,得到交面然后貼圖,以達到無縫貼圖的效果.具體操作流程為:
圖1 波音757-200SF飛機真實圖片
圖2 波音757-200SF飛機初步模型
(1)將采集到的真實飛機材質(zhì)圖片導(dǎo)入SketchUp并進行分解,使其具有點、線、面的屬性,這樣就可以對它的點、線、面屬性進行操作;
(2)通過推/拉工具將這個面拉成柱體,拖動柱體使得柱體與機身需要貼圖處曲面相交,然后選中這2個模型,進行模型相交操作,得到一個機身曲面上的交面,刪除交面外的輔助柱模型的線和面;
(3)利用吸材質(zhì)工具吸取導(dǎo)入圖片的材質(zhì),刷到相交面上,這樣就形成了無縫貼圖.
圖3 波音757-200SF飛機Sketch Up模型
通過此方法對飛機其他部分進行貼圖,得到所需模型,處理后的飛機三維模型見圖3.可見,通過SketchUp軟件建造的飛機模型與真實飛機基本保持一致,模型效果足以滿足本文研究需要.
同樣的方法,建造事故中另一架飛機三位模型見圖4.其中a為圖-154 m飛機真實照片,b為飛機三維建模模型.
制作好的模型還可以上傳到3D Warehouse,分享給模型愛好者使用.
2.2 KML語言編寫
KML文件是文本格式的,它的語言規(guī)范、執(zhí)行效率高、容易理解.可以使用文本編輯器自己編寫KML文件,也可以按照需求使用Google Earth client撰寫KML文件,還可以使用開發(fā)環(huán)境自動生成KML文件[6].
三維模型做好后,直接在KML文件中指定顯示該模型的位置就可以將該模型放置在Google Earth的三維立體空間中.模型的dae格式文件存在標簽中.如代碼所示:
在KML里面,路線由
2.3 三維實體在虛擬場景中的運動
對于情景構(gòu)建中飛機的運動實現(xiàn)有多種方法,可以運用關(guān)鍵幀,為模型的運動增量制作一個地標并且進行顯示,但是這種方法需要非常多的代碼,并且動畫效果流暢性不好;還可以運用“時間戳
本文介紹運用
李霞是在含沙射影地指責景花廠挖大發(fā)廠的人。我有點心虛。我想起阿花的狡辯之詞,便有了底氣。我不卑不亢地說,李課長說得對,到底是自由競爭還是在惡意獵取,誰說了都不算,如果有空,勞課長大駕去景花廠看看便知道了。我站了起來,比畫著雙手說,大廠有大廠的強勢,小廠有小廠的優(yōu)越,人才流動完全取決于員工的就業(yè)取向,決不是可以人為逆轉(zhuǎn)的。李課長既然提到了自由競爭,我不妨說句實話,大發(fā)廠的優(yōu)勢在于工資待遇高,景花廠的優(yōu)勢在于工作環(huán)境好,團隊精神強。如果景花廠沒有優(yōu)勢,即使用繩子捆住員工的手腳,他們還是要跑的。
其中
飛機飛行后的機載數(shù)據(jù)經(jīng)過破譯處理后得到原始的飛行數(shù)據(jù),從該數(shù)據(jù)中提取有關(guān)飛機經(jīng)緯度位置、飛行高度、俯仰角、偏航角、滾轉(zhuǎn)角、航跡角、偏流角、真空速和地速等飛機位置、姿態(tài)及速度等信息[8].將相關(guān)信息導(dǎo)入KML文件中相對應(yīng)位置,就能實現(xiàn)飛機在Google Earth中的動畫效果.
利用本方法可以構(gòu)建出飛行事故的發(fā)生情況,通過添加事故飛機飛行之外的其他信息,如時間標注、航跡的顯示和陸空通話內(nèi)容等,使事故發(fā)生的情景更加全面,并且制作成一個演示課件.
圖5 2架飛機相撞瞬間
以烏柏林根空難為例,根據(jù)飛行事故發(fā)生的整個過程,進行飛行事故的構(gòu)建,動畫中的截圖見圖5.由圖5可以清楚地看到2架飛機相撞時的情景,波音757-200SF飛機的垂直尾翼從圖-154 m飛機機身左下方劃過,使得圖-154 m飛機爆炸并解體為2段.
通過對各類典型飛行事故案例的制作,可以使人們很快認識到問題所在,避免同類錯誤的再次發(fā)生.也可以作為民航院校、航空公司、空管人員以及飛行員提供典型案例分析和飛行安全教育的手段,從而提高民航的安全防范意識.
本文通過Google Sketchup 建立飛機三維模型,利用Google Earth作為情景構(gòu)建平臺,用KML語言描述事故的發(fā)生,得到了較好的演示效果.同時,也證明了Google Earth及其接口語言KML可以經(jīng)濟、直觀地實現(xiàn)三維民航事故情景構(gòu)建,無需采購昂貴的專業(yè)三維平臺.只要掌握了KML語法就可制作各種飛行情景,本方法具有普遍適用性、高效性和低成本等特點,具有很強的實用價值,值得相關(guān)人員采納和學(xué)習(xí).
[1] 陸慧娟,高波涌,周國裕,等.飛行安全及事故分析的三維仿真模擬系統(tǒng)的研究[J].計算機應(yīng)用,2005(8):1959-1961
[2] 謝川,倪世宏,張宗麟.基于DirectX的飛行過程再現(xiàn)[J].計算機應(yīng)用與軟件,2004(9):48-49
[3] 薛源,徐浩軍,胡孟權(quán).基于綜合限制函數(shù)超限的飛行事故虛擬再現(xiàn)系統(tǒng)設(shè)計[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2011(7):1166-1172
[4] 宋柯.三維航空圖繪制方法初步研究及實現(xiàn)[J].空中交通管理,2009(8):25-27
[5] 高彥麗,劉建平,賈云朋,等.Google Earth和Sketch Up環(huán)境下三維場景建立方法研究[J].科技廣場,2012(5):245-247
[6] 王浚羽,姜荔峰,張峰,等.基于Google Earth的三維飛行仿真系統(tǒng)設(shè)計[J].四川兵工學(xué)報,2014(7):100-102
[7] 李夏,向碩凌.三維航線仿真模型研究[J].中國西部科技,2013(1):28-30
[8] 趙向領(lǐng).基于三維場景的飛行回放仿真系統(tǒng)研究[J].計算機工程與設(shè)計,2012(4):1518-1521
A fast way for 3D scene construction of flight accident
ZHU Bao-yu
(School of Air Traffic Control,Civil Aviation Flight University of China,Guanghan 618307,China)
The current research about the flight accident is mainly aimed at the flight process restoration of accident plane,flight attitude simulation,and complex professional technology platform is adopted in 3D flight process and attitude simulation technology.Proposed an economic and effective 3D construction technical scheme,that was to say,SketchUp software was used to build 3D plane model,and KML language was used to conduct the scenario design on flight accident, which can be presented by Google Earth as visualization platform, so the virtual scene ofaccident can be constructed quickly and economically.
Google Earth;KML;Google Sketchup
1007-9831(2016)10-0036-04
TP391.9∶V2
A
10.3969/j.issn.1007-9831.2016.10.010
2016-08-30
2015年度學(xué)??蒲谢饘W(xué)生科技活動基金(X2015-24)
朱寶玉(1990-),男,山東臨沂人,在讀碩士,從事空中交通管理研究.E-mail:1060845302@qq.com