999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Delta3D的氣象仿真框架設(shè)計(jì)與實(shí)現(xiàn)

2012-04-12 00:00:00白曉梅王茹趙云兵
現(xiàn)代電子技術(shù) 2012年4期

摘要:為解決傳統(tǒng)氣象仿真方法復(fù)用性差,耦合性高等問題,提出了基于組件、以事件為中心的獨(dú)立氣象仿真框架,并在Windows平臺(tái)下形成一個(gè)動(dòng)態(tài)鏈接庫(kù),該動(dòng)態(tài)鏈接庫(kù)可以方便的動(dòng)態(tài)載入到各種仿真系統(tǒng)中。運(yùn)用VC++2005和虛擬現(xiàn)實(shí)開發(fā)引擎Delta3D,通過鍵盤響應(yīng)特定氣象事件,實(shí)現(xiàn)了常見氣象現(xiàn)象的仿真。 實(shí)驗(yàn)結(jié)果表明,利用該方法不僅降低了系統(tǒng)的耦合性,還提高了仿真系統(tǒng)的開發(fā)和運(yùn)行效率。

關(guān)鍵詞:虛擬現(xiàn)實(shí); 氣象角色; 角色代理; 事件消息; 低耦合; 仿真框架

中圖分類號(hào):TN91134; TP391.9文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1004373X(2012)04002904

Design and implementation of weather simulation framework based on Delta3D

BAI Xiaomei, WANG Ru, ZHAO Yunbing

(School of Information and Control Engineering, Xi’an University of Architecture and Technology, Xi’an 710055, China)

Abstract: A independent dynamic meteorology simulation framework centered on the events is put forward based on components to solve the poor reusability and high coupling of traditional meteorological simulation method. A dynamic link library is formed on Windows platform and can be conveniently loaded into all kinds of simulation systems. The common meteorological phenomenon simulation is achieved with VC++2005 and virtual reality to develop engine Delta3D, and response specific weather events through keyboard. The experimental results show that the method not only reduces the coupling of system, but also improves the development and operating efficiency of the simulation system.

Keywords: VR; weather actor; actor proxy; event message; low coupling; emulation framework

收稿日期:20110911

基金項(xiàng)目:教育部虛擬現(xiàn)實(shí)工程研究中心開放實(shí)驗(yàn)室項(xiàng)目(MEOBNUEVRA200902);陜西省教育廳科研專項(xiàng)項(xiàng)目(11JK0944)0引言

在仿真系統(tǒng)中,氣象的模擬直接影響到系統(tǒng)的逼真度和可信度,動(dòng)態(tài)氣象因其運(yùn)動(dòng)規(guī)律無序,數(shù)量巨大,隨機(jī)變化性強(qiáng),一直是仿真系統(tǒng)的難題之一。1983年Reeves提出的粒子能充分體現(xiàn)模糊物體的動(dòng)態(tài)性和隨機(jī)性,所以能很好地模擬動(dòng)態(tài)氣象[1]。近年來,國(guó)內(nèi)研究者用粒子系統(tǒng)的方法對(duì)動(dòng)態(tài)氣象進(jìn)行模擬,取得了大量的成果。徐利明等人基于粒子系統(tǒng)利用OpenGL技術(shù)實(shí)現(xiàn)了實(shí)時(shí)雨、雪的模擬,該方法借助底層圖形庫(kù)OpenGL,實(shí)現(xiàn)起來工作量大且開發(fā)周期長(zhǎng)[2];張漢清等人建立了基于圖形處理器 (GPU )粒子系統(tǒng)的雨、雪效果模擬方法,使雨、雪模擬的逼真度和實(shí)時(shí)性都得到了增強(qiáng),但這對(duì)硬件有較高的要求[3];曾博、陳瀾基于可視化引擎MS Flight Simulator提出了一種基于粒子系統(tǒng)理論實(shí)時(shí)仿真氣候現(xiàn)象的算法,但沒有考慮復(fù)雜氣象情況下雨、雪粒子的特征[4] ;楊述華等人提出了基于VEGA在大型場(chǎng)景漫游系統(tǒng)中實(shí)時(shí)模擬雨、雪的方法,但物理模型是依托VEGA軟件的粒子特效模塊[5]。

傳統(tǒng)的粒子模型是表達(dá)氣象環(huán)境的主要手段,建立合適的粒子系統(tǒng)表達(dá)氣象模型是這一領(lǐng)域的主要內(nèi)容。但這嚴(yán)重影響了仿真系統(tǒng)的開發(fā)周期和費(fèi)用,如何在現(xiàn)有模型基礎(chǔ)上進(jìn)行獨(dú)立的集成開發(fā),使其可以應(yīng)用到各種仿真系統(tǒng),是仿真系統(tǒng)急需解決的難題之一。

本文提出了基于組件、以事件為中心的氣象仿真框架,通過鍵盤響應(yīng)特定事件,實(shí)現(xiàn)常見氣象現(xiàn)象的仿真,并伴隨相應(yīng)的聲音、動(dòng)畫等特效,可以動(dòng)態(tài)載入到各種仿真系統(tǒng)中,解決了以往系統(tǒng)擴(kuò)展和重用性差,維護(hù)困難等問題,大大提高了軟件的開發(fā)效率,降低了軟件的維護(hù)成本。

1氣象仿真框架的結(jié)構(gòu)設(shè)計(jì)

整個(gè)仿真框架包括了常見氣象現(xiàn)象,主要有白天、傍晚、夜晚和雨、雪、霧等。框架不僅要實(shí)現(xiàn)氣象角色的生成,還要各角色間的交互,如白天可以下雨、降雪等,但不會(huì)出現(xiàn)傍晚現(xiàn)象,如圖1所示。

圖1氣象框架圖1.1氣象框架設(shè)計(jì)原理

框架的重點(diǎn)在于實(shí)現(xiàn)氣象角色之間的交互,提供一個(gè)統(tǒng)一的消息處理機(jī)制,能夠發(fā)送消息給相應(yīng)的氣象角色。該系統(tǒng)設(shè)計(jì)輸入組件接收消息實(shí)現(xiàn)此功能。為了保護(hù)角色自身的特性和降低角色之間的耦合性,為每個(gè)角色提供一個(gè)角色代理來負(fù)責(zé)角色與外部的交互。角色代理在框架中起消息處理中間層的重要作用,其主要任務(wù)是給氣象仿真框架提供接口,以管理氣象角色之間的交互,原理如圖2所示。

圖2框架原理圖1.2氣象角色的動(dòng)態(tài)仿真模型

氣象角色具有動(dòng)態(tài)行為,要進(jìn)行相應(yīng)的消息處理,如下雨、降雪、打雷等。依據(jù)上述原理,為每一個(gè)角色創(chuàng)建一個(gè)相應(yīng)的角色代理。角色的模型建立分下述兩個(gè)步驟。

1.2.1創(chuàng)建角色

角色代理的主要任務(wù)是給氣象框架提供接口,以管理相應(yīng)的角色。角色由角色代理產(chǎn)生,角色代理在得到角色類名后開始創(chuàng)建角色及角色屬性。

1.2.2加入角色

角色代理創(chuàng)建完角色后,通知仿真框架加入新角色。角色代理通過BuildInvokables()將角色及其在仿真框架中注冊(cè)的消息進(jìn)行連接,實(shí)現(xiàn)角色和消息的統(tǒng)一管理。創(chuàng)建過程如圖3所示。

1.3輸入組件的設(shè)計(jì)思想

輸入組件的主要作用是接受所有的鍵盤按鍵消息,并傳送到仿真框架,由于框架擁有一個(gè)消息和氣象角色的映射關(guān)系來統(tǒng)一管理角色的發(fā)送和消息的接受,所以當(dāng)仿真框架輪詢到消息處理時(shí),會(huì)尋找注冊(cè)該消息的角色,通知它處理該消息事件。

2仿真框架的實(shí)現(xiàn)過程

氣象仿真框架的實(shí)現(xiàn)主要有三個(gè)方面內(nèi)容:

(1) 創(chuàng)建氣象角色WeatherActor和相應(yīng)的角色代理WeatherActorProxy,在Windows平臺(tái)下編譯成.dll文件,使其可以動(dòng)態(tài)載入系統(tǒng)。

(2) 創(chuàng)建輸入組件InputComponent實(shí)現(xiàn)特定按鍵激發(fā)特定事件,模擬不同的氣象現(xiàn)象。

(3) 運(yùn)用仿真軟件Delta3D,實(shí)現(xiàn)氣象仿真框架。

2.1創(chuàng)建氣象角色

氣象角色聲明為class _declspec(dllexport),使其生成動(dòng)態(tài)鏈接庫(kù),它包括創(chuàng)建和刪除雨、霧、雪、打雷,以及白天、傍晚、夜晚,并實(shí)時(shí)設(shè)置大小和風(fēng)速等特效。由于Delta3D封裝了渲染引擎OSG,所以它繼承了OSG提供的粒子系統(tǒng),結(jié)合osgParticle::PrecipitationEffect()方法,以創(chuàng)建降雪的處理過程為例,代碼如下:

//創(chuàng)建雪

void WeatherActor::creatSnow(void){

aSnow = new osgParticle::PrecipitationEffect();

if(m_SceneRoot.valid())//設(shè)置根節(jié)點(diǎn)

m_SceneRoot>addChild(aSnow.get());

aSnow>snow(0.005);//設(shè)置密度

aSnow>setParticleColor(osg::Vec4(1,1,1,0.5)); //設(shè)置顆粒顏色

aSnow>setWind(osg::Vec3(1,0,1)); //設(shè)置風(fēng)向

setSnowParticleSpeed(1); //設(shè)置速度

setSnowParticleSize(0.1); //設(shè)置大小

aSnow>setPosition(osg::Vec3(1,2,1);}//設(shè)置位置

圖3氣象角色生成時(shí)序圖2.3實(shí)現(xiàn)仿真框架

Delta3D是一款由美國(guó)海軍研究學(xué)院(Naval Postgraduate School)開發(fā)的,以O(shè)SG為內(nèi)核建立的全功能開源游戲與仿真引擎。它將Open Dynamics Engine(ODE),Character Animation Library(CAL3D)和OpenAL等優(yōu)秀開源圖形引擎再次進(jìn)行了封裝,得到美國(guó)軍方巨大的支持與豐厚的投資。利用Delta3D提供的GameStart標(biāo)準(zhǔn)執(zhí)行程序,可以在不編寫代碼的前提下啟動(dòng)用戶的應(yīng)用程序。GameStart以程序中GameEntryPoint類作為入口[7],如圖4所示。完成初始化工作和建立好游戲管理器實(shí)例后,利用上述原理在OnStartup()中依次建立輸入組件;導(dǎo)入地形文件;動(dòng)態(tài)加載上面生成的天氣角色;調(diào)整相機(jī)位置,實(shí)現(xiàn)氣象仿真框架。

2.3.1建立輸入組件

圖4程序處理流程圖3實(shí)驗(yàn)測(cè)試與分析

該試驗(yàn)是在普通PC機(jī)上(AMD Athlon 64 2800、NG6200顯卡、512 MB內(nèi)存)利用上述方法實(shí)現(xiàn)的,通過幫助信息,根據(jù)相應(yīng)的按鍵激發(fā)事件,并且可以并發(fā)激活多個(gè)事件,如傍晚雪景、夜晚雨景、白天大霧雪景等多種氣象效果,如圖5~圖7所示。

圖5幫助信息圖6白天雪景

如果啟動(dòng)場(chǎng)景漫游功能(按R鍵),可以通過鼠標(biāo)和鍵盤來實(shí)現(xiàn)整個(gè)場(chǎng)景漫游。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能較好地實(shí)現(xiàn)基本氣象仿真,可為復(fù)雜場(chǎng)景的仿真提供獨(dú)立的氣象現(xiàn)象鏈接庫(kù),具有一定的實(shí)用價(jià)值。

圖7夜晚大霧小雨夾雪4結(jié)語(yǔ)

本文所設(shè)計(jì)的氣象仿真系統(tǒng),較好地解決了仿真耦合性高,可重用性差,維護(hù)困難的問題。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)具有較好的擴(kuò)展性和重用性,采用基于組件、事件驅(qū)動(dòng)的仿真框架生成動(dòng)態(tài)鏈接庫(kù),大大提高了復(fù)雜場(chǎng)景仿真的開發(fā)效率,降低了軟件的維護(hù)成本,具有一定的現(xiàn)實(shí)意義。 在以后工作中可結(jié)合Delta3D提供的dtHLA方法,實(shí)現(xiàn)大規(guī)模分布式仿真系統(tǒng)的氣象仿真。

參考文獻(xiàn)

[1]REEVS W T. Particle system: a technique for modeling a class of fuzzy objects \\[J\\]. Computer Graphics, 1983, 17 (3): 359376.

[2]徐利明,姜昱明.基于粒子系統(tǒng)與OpenGL的實(shí)時(shí)雨雪模擬[J].計(jì)算機(jī)仿真,2005,22(7):242245.

[3]張漢清,張科.基于GPU粒子系統(tǒng)的戰(zhàn)場(chǎng)實(shí)時(shí)雨雪效果模擬[J].計(jì)算機(jī)仿真,2007,24(10):200203.

[4]楊述華,廖守億,王仕成,等.基于粒子系統(tǒng)和 Vega的實(shí)時(shí)雨雪模擬[J].計(jì)算機(jī)應(yīng)用,2008(28):238240.

[5]曾博,陳瀾.飛行仿真系統(tǒng)中氣候現(xiàn)象的仿真[J].計(jì)算機(jī)仿真,2010,27(3):228231.

[6]BMH Associates. Software design document (SDD) Delta3D game and simulation engine \\[EB/OL\\]. \\[20051026\\]. http// www.delta3d.org/filemgmt/visit.

主站蜘蛛池模板: 国产簧片免费在线播放| 日韩在线欧美在线| 精品人妻一区二区三区蜜桃AⅤ| 911亚洲精品| 天天躁夜夜躁狠狠躁图片| 久久久久亚洲精品成人网| 9999在线视频| 88av在线看| 久久先锋资源| 亚洲国产日韩一区| 久草热视频在线| 爆乳熟妇一区二区三区| 国产99视频在线| 91小视频版在线观看www| a级毛片一区二区免费视频| 日韩成人在线网站| 欧美午夜精品| 国产精品蜜臀| 一级爆乳无码av| 91丨九色丨首页在线播放 | 国产小视频a在线观看| 全部免费毛片免费播放| 国产精品漂亮美女在线观看| 99精品久久精品| 欧美日韩一区二区三区在线视频| 亚洲天堂网站在线| 久久毛片基地| 极品国产在线| 国产a v无码专区亚洲av| 白丝美女办公室高潮喷水视频| 日本91在线| 亚洲欧洲日产国产无码AV| 日本人妻一区二区三区不卡影院| 亚洲欧美日韩成人在线| 丁香五月激情图片| 国产在线观看成人91| 精品综合久久久久久97| 久精品色妇丰满人妻| 色精品视频| 亚洲精品无码专区在线观看| 亚洲精品手机在线| 试看120秒男女啪啪免费| 欧美无遮挡国产欧美另类| 日韩a在线观看免费观看| 国产尤物视频在线| 蜜桃视频一区二区| 999精品色在线观看| 福利国产在线| 国产日韩久久久久无码精品| 免费福利视频网站| 久久久国产精品无码专区| 亚洲精品成人7777在线观看| 一级毛片高清| 乱色熟女综合一区二区| 狠狠做深爱婷婷久久一区| a色毛片免费视频| 国产成人夜色91| 国产精品19p| 狼友视频国产精品首页| 国产一级无码不卡视频| 就去吻亚洲精品国产欧美| 国产成人av一区二区三区| 亚洲av无码久久无遮挡| 91免费观看视频| 国产精品成人一区二区| 亚洲视频黄| 日本午夜影院| 国产性生大片免费观看性欧美| 国内熟女少妇一线天| 尤物成AV人片在线观看| 国产成人综合网| 国产污视频在线观看| 99er精品视频| 国产精品尤物在线| 国产美女无遮挡免费视频网站| 久久网欧美| 亚洲永久免费网站| 成人午夜福利视频| 国模粉嫩小泬视频在线观看 | 久久96热在精品国产高清| 日韩中文无码av超清| 亚洲无线观看|