• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Vega Prime的運動真實感仿真技術(shù)

      2013-10-08 03:04:32張振偉劉黨輝蘇永芝張沖
      中國科技信息 2013年20期
      關(guān)鍵詞:真實感視景煙霧

      張振偉 劉黨輝 蘇永芝 張沖

      中國人民解放軍裝備學(xué)院,北京 101416

      Vega Prime是美國MultiGen-Paradigm公司開發(fā)的支持面向?qū)ο蠹夹g(shù)的實時仿真渲染驅(qū)動引擎[1],它基于Vega Scene Graph(VSG,MPI公司先進(jìn)的跨平臺場景圖形API,底層OpenGL),同時包括LynX Prime GUI(用戶圖形界面)工具,讓用戶既可以用圖形化的工具進(jìn)行快速配置,又可以用底層場景圖形API來進(jìn)行應(yīng)用特定功能的創(chuàng)建。Vega Prime還設(shè)計了多種功能增強模塊,很容易滿足特殊模擬要求,更進(jìn)一步提升了應(yīng)用開發(fā)的效率和適用性,使其在虛擬視景仿真中得到廣泛應(yīng)用。

      本文結(jié)合基于Vega Prime的視景仿真系統(tǒng)開發(fā)框架和場景顯示框架,針對仿真系統(tǒng)中運動物體在場景內(nèi)實時渲染的真實感需求,研究了運動真實感的關(guān)鍵技術(shù),包括DOF技術(shù)、動畫紋理技術(shù)和粒子系統(tǒng),并將文章研究的相關(guān)技術(shù)應(yīng)用到了實踐。

      1 Vega Prime基礎(chǔ)

      利用Vega Prime開發(fā)視景仿真一般有三種模式:一是使用Vega Prime的LynX Prime圖形用戶界面配置仿真系統(tǒng),它只適用于簡單的、對交互性要求不高的小系統(tǒng);二是完全運用Vega Prime提供的API函數(shù)進(jìn)行程序開發(fā),可研發(fā)出復(fù)雜的、對交互性要求高的系統(tǒng),但編程復(fù)雜;三是綜合前兩種模式進(jìn)行系統(tǒng)的開發(fā),首先通過LynX Prime建立場景配置文件(ACF文件),再將文件中配置的屬性與底層API調(diào)用結(jié)合起來,這種模式將易用的工具和高級仿真功能有效地結(jié)合起來,幫助用戶高效地、準(zhǔn)確地開發(fā)實時三維應(yīng)用,是最常用的設(shè)計模式。

      1.1 基于Vega Prime的視景仿真框架

      基于Vega Prime的視景仿真主要包括三部分:三維仿真模型建立、LynX Prime圖形界面設(shè)計和視景仿真程序設(shè)計[2]。三維仿真模型主要包括Multigen Creator建立的視景模型庫和Creator Terrain Studio生成的大場景地形模型庫;LynX Prime圖形界面設(shè)計主要包括基本環(huán)境(如仿真時間、能見度和經(jīng)緯度等)、模型初始位置、常用特效(如云、霧、雨雪、火等)和大場景應(yīng)用等內(nèi)容;視景仿真程序設(shè)計完成整個仿真過程,為用戶提供實時流暢的視景仿真結(jié)果。本視景仿真設(shè)計采用上文敘述的第三種模式,程序設(shè)計的主要內(nèi)容包括實時驅(qū)動算法實現(xiàn)、實時仿真數(shù)據(jù)處理、層次細(xì)節(jié)(LOD)、物體運動和視點控制等內(nèi)容。

      1.2 Vega Prime場景顯示框架

      系統(tǒng)初始化完成之后,Vega Prime調(diào)用define( )函數(shù)加載配置的相應(yīng)ACF文件,對系統(tǒng)進(jìn)行初始配置,然后對系統(tǒng)和各個模塊按照仿真的需求進(jìn)行配置,建立處理消息的響應(yīng)函數(shù),如鍵盤輸入響應(yīng)、鼠標(biāo)響應(yīng)、OpenGL作圖通道回調(diào)函數(shù)等,之后進(jìn)入場景繪制主循環(huán)按照配置的功能進(jìn)行渲染,渲染完成后退出循環(huán),結(jié)束程序[3]。場景顯示框架如圖1所示。

      圖1 Vega Prime場景顯示框架

      在Vega Prime的場景繪制過程中[4],每一幀都是以beginFrame( )函數(shù)開始的,應(yīng)用程序服務(wù)管理模塊(vsServiceMgr)向其他服務(wù)模塊(vsService,包括vpIsectorService、vsPipeline等模塊)發(fā)送幀開始消息,各服務(wù)模塊收到消息后進(jìn)行仿真時間存儲、釋放占用的線程等,繼而服務(wù)管理模塊再發(fā)送場景圖同步消息,如果某一服務(wù)是需要對場景圖進(jìn)行復(fù)制的(如vsPipeline管理的CULL,DRAW服務(wù)),該服務(wù)所復(fù)制的場景圖將于主場景圖進(jìn)行同步。然后服務(wù)管理器再發(fā)送非關(guān)鍵延遲處理消息,服務(wù)器就可以對基于APP主線程繪制的內(nèi)容進(jìn)行并行操作了。此時執(zhí)行相應(yīng)的場景繪制和顯示的操作命令;最后以endFrame( )結(jié)束該幀,結(jié)束本次服務(wù),系統(tǒng)進(jìn)入下一個幀循環(huán)。

      2 運動真實感技術(shù)

      物體的運動行為主要包括兩個方面,一是物體及物體內(nèi)部零部件運動屬性的改變,如汽車速度的變化及汽車轉(zhuǎn)彎時車輪旋轉(zhuǎn)狀態(tài)的變化等;二是運動物體與其他物體發(fā)生碰撞后外形以及狀態(tài)的改變(即碰撞響應(yīng)),如汽車撞到建筑物后車身變形甚至發(fā)生爆炸。

      基于Vega Prime開發(fā)的視景仿真系統(tǒng)展現(xiàn)物體的運動行為主要應(yīng)用以下幾種技術(shù):DOF、紋理動畫和粒子系統(tǒng),合稱為運動真實感仿真技術(shù)。

      2.1 DOF

      基于Vega Prime視景仿真場景由大量三維模型(FLT模型)組成,包括靜止實體和運動實體,如山坡、樹木、房屋等靜態(tài)模型,又如車輛、機械部件等運動模型。對靜止實體的描述只需設(shè)定它在仿真系統(tǒng)中的位姿,即位置(x,y,z)、姿態(tài)(h,p,r)和伸縮量(scaleX,scaleY, scaleZ)即可;而運動實體則較為復(fù)雜,這類模型在場景中一般包含子節(jié)點的相對運動,如運動中的車輛,其車輪相對車的質(zhì)心有一個相對運動。對于此類模型中子節(jié)點的相對運動,如果也使用Vega Prime提供的基于單個模型的運動模式(Motion Mode)或是路徑導(dǎo)航(Path Navigator),在程序中實現(xiàn)節(jié)點模型的運動控制是很難的。這種情況下,最好的解決辦法就是使用DOF技術(shù)。

      DOF定義的是FLT模型中節(jié)點相對其父節(jié)點的相對運動。使用DOF技術(shù)首先要針對選定的DOF節(jié)點定義局部坐標(biāo)系,然后設(shè)置在局部坐標(biāo)系下節(jié)點內(nèi)物體的基本運動參數(shù),共有九種基本運動:沿X、Y、Z軸的位移;繞X、Y、Z軸的旋轉(zhuǎn)和沿X、Y、Z軸的縮放。理論上來說,通過這九種基本運動的組合可以實現(xiàn)任意復(fù)雜的運動形式,但一般DOF只用于設(shè)定簡單常見的物理運動,如直線勻速、繞某軸旋轉(zhuǎn)等。

      Creator建立FLT模型時可以很方便的建立DOF節(jié)點(DOF Node),但基于Vega Prime開發(fā)的視景仿真系統(tǒng)無法直接對模型中的DOF節(jié)點進(jìn)行渲染。所以,DOF技術(shù)應(yīng)用于某個模型的子節(jié)點時,需要結(jié)合Vega Prime的API函數(shù)。首先通過vpObject::find(“object”)[4]綁定運動模型,object是在LynX Prime中加載的含有所需DOF節(jié)點的運動模型;然后利用find_named(“DOFnode”)函數(shù)對"o b j e c t"模型中的節(jié)點進(jìn)行遍歷查找;一旦查找到我們需要的“DOFnode”后,即可通過setTranslate,setRotate和setScale設(shè)定DOF節(jié)點運動屬性,即九種基本運動及其組合,并利用setConstraint函數(shù)限制節(jié)點的運動范圍,從而實現(xiàn)節(jié)點的相對運動。使用流程如圖2所示。

      圖2 DOF使用流程

      2.2 紋理動畫

      對于運動精細(xì)度要求較高的運動模型,應(yīng)用DOF技術(shù)并不能滿足虛擬仿真沉浸感的需求,如隨風(fēng)飄動的紅旗、流動的河水以及車輛行駛時胎紋的變化等場景。此時,紋理動畫(Texture Animation)技術(shù)可以較好地解決這些問題。

      紋理動畫技術(shù)是將復(fù)雜的物體運動用紋理代替,用一系列物體運動紋理呈現(xiàn)難以用運動模型描述的粒子或是粒子群的運動,主要有兩種實現(xiàn)方法:

      一是利用建模技術(shù),在FLT模型中將物體的運動轉(zhuǎn)化為在指定面片上播放紋理。此方法的關(guān)鍵是紋理圖片的獲取。使用時,根據(jù)動畫紋理圖片的數(shù)量復(fù)制選中的面片節(jié)點(Face Node),依次進(jìn)入這些面片的屬性頁,分別把紋理按照事件發(fā)生的順序映射到面片上,如圖3所示。

      二是自定義渲染策略。在需要展現(xiàn)運動細(xì)節(jié)的模型上定義渲染幾何體,并根據(jù)渲染策略完成運動效果的渲染。本文中模擬轉(zhuǎn)運卡車行駛時胎紋變化使用的就是這種方法。

      此方法同樣基于對Vega Prime 幀循環(huán)的控制,需要首先通過vpObject::find(“object”)綁定運動模型,然后對模型中滿足渲染特性的節(jié)點遍歷搜索,針對搜索

      圖3 紋理映射

      到的每一個幾何體應(yīng)用渲染策略。這樣應(yīng)用于模型幾何體上的紋理根據(jù)實際運動被二次渲染,可以得到逼真的動態(tài)效果。綁定渲染策略的方法如下:

      其中,cit是滿足運動特性的節(jié)點,geometry是經(jīng)搜索得到的符合要求的渲染幾何體,m_strategy是針對汽車運動模型設(shè)計的渲染策略。

      2.3 粒子系統(tǒng)

      通過成千上萬個不規(guī)則的、隨機分布的、每時每刻在不斷地運動和改變形態(tài)的粒子的集合,表現(xiàn)景物的整體形態(tài)和特征以及動態(tài)變化,可以模擬云、霧、雨、雪、雷電等自然現(xiàn)象和煙、火焰、爆炸等特殊場景[5]。Vega Prime以粒子系統(tǒng)為原型來模擬不規(guī)則幾何形狀的特殊形體,是一種很重要的展現(xiàn)運動真實感的技術(shù)。在仿真中實現(xiàn)粒子的特殊效果主要控制粒子以下五個方面;粒子產(chǎn)生、粒子屬性、粒子運動、粒子消亡和粒子渲染。其中,粒子運動變化多樣,也最難于控制,它用于描述粒子在其生命周期內(nèi)的變化規(guī)律,包括粒子時間特性和粒子速度特性兩部分。

      粒子時間特性包括粒子大小隨時間的變化和粒子顏色隨時間的變化,它們用于控制粒子自身屬性變化。

      粒子速度特性包括粒子大小隨速度的變化、粒子速度和方向、隨機風(fēng)的速度與方向、球形粒子速度和隨機粒子速度。這些特性都是時間的函數(shù)[6],實際上表現(xiàn)了粒子速度與時間的關(guān)系,即粒子所受力的作用。粒子速度用于表現(xiàn)物體承受的主動力,如動力、牽引力等;風(fēng)主要表現(xiàn)所受主要外力的作用,并不僅局限于風(fēng)力,還可以是重力、摩擦力等;球形粒子速度表現(xiàn)粒子沿半徑方向向外擴張力或向內(nèi)收縮力;隨機粒子速度表現(xiàn)隨機外力的作用。

      針對航天發(fā)射活動中可能出現(xiàn)的推進(jìn)劑泄漏事故,模擬泄露產(chǎn)生煙霧,并隨風(fēng)飄遠(yuǎn)的效果。仿真煙霧行為,其基礎(chǔ)是研究與煙霧行為相關(guān)的因素。

      第一個因素是煙霧泄露的噴射力。當(dāng)煙霧以一定泄露速度進(jìn)入空氣時,由于煙霧與空氣的摩擦,煙霧受到空氣的剪切力作用而產(chǎn)生旋轉(zhuǎn)變形,使得煙霧與空氣迅速混合。第二個因素是空氣浮力。煙霧粒子受到浮力作用向上運動,且溫度高的部分受浮力大,上升速度快。第三個因素是風(fēng)的作用。煙霧進(jìn)入空氣一段時間后,風(fēng)力是煙霧粒子受到的主要作用力,當(dāng)煙霧受到風(fēng)的吹動時,煙霧在水平方向以接近風(fēng)速的速度移動。第四個因素是溫度。溫度越高,煙霧粒子的熱運動越劇烈,煙霧顏色就越深。

      3 運動真實感技術(shù)的視景仿真應(yīng)用

      航天發(fā)射任務(wù)具有高風(fēng)險、高費用、不可逆等特點[7]。因此,嚴(yán)密地培訓(xùn)航天發(fā)射任務(wù)組織指揮人員顯得越發(fā)重要。利用虛擬仿真技術(shù)建立仿真訓(xùn)練系統(tǒng),不僅可以模擬實際發(fā)射任務(wù)的組織指揮和操作,還可以模擬典型事件進(jìn)行對抗訓(xùn)練,提高訓(xùn)練效果。

      基于Windows XP操作系統(tǒng)和VisualC++.Net2003開發(fā)環(huán)境,采用Vega Prime設(shè)計開發(fā)航天發(fā)射仿真訓(xùn)練系統(tǒng),模擬航天發(fā)射場發(fā)射活動和一些典型事件及其相應(yīng)的組織指揮任務(wù),主要包括火箭箭體的轉(zhuǎn)運、吊裝、火箭發(fā)射、推進(jìn)劑泄露事故、緊急關(guān)機事故和廠房起火事故等仿真場景。

      模擬火箭箭體轉(zhuǎn)運。運用DOF技術(shù),對吊車的吊桿和吊鉤分別設(shè)定局部坐標(biāo)系,通過吊桿的轉(zhuǎn)動和伸縮,吊鉤的伸縮,將火箭箭體從火車車廂吊轉(zhuǎn)到卡車上(見圖5)。模擬推進(jìn)器泄露事故。綜合考慮影響煙霧行為的四種因素,泄露煙霧在產(chǎn)生初期顏色較深,空氣浮力占主導(dǎo)地位,向上運動的趨勢更加明顯,飄散一段時間后主要受風(fēng)力影響,同時運動隨機性加強,表現(xiàn)為向更遠(yuǎn)處趨向水平飄散,仿真效果見圖5。

      圖4 火箭箭體吊轉(zhuǎn)模擬

      圖5 推進(jìn)劑泄露煙霧模擬

      4 結(jié)束語

      隨著虛擬仿真技術(shù)的不斷發(fā)展,視景仿真系統(tǒng)對虛擬模型的視覺效果和運動真實性的要求越來越高,本文結(jié)合基于Vega Prime的視景仿真系統(tǒng)開發(fā)框架和場景顯示框架,研究了展現(xiàn)物體運動真實感的關(guān)鍵技術(shù),包括DOF技術(shù)、動畫紋理技術(shù)和粒子系統(tǒng),這些技術(shù)對提高視景仿真系統(tǒng)物體運動真實感具有通用性和實用性,有一定的參考價值。

      [1]Multigen-Paradigm lnc. Vega prime programmer’s guide (version 2.0)[M]. Dallas: Multigen Paradigm lnc, 2005

      [2]褚彥均, 唐碩. 基于Vega Prime的通用視景仿真系統(tǒng)研究[J].計算機工程與設(shè)計, 2009, 30(17):4104-4107

      [3]周劍勇, 王躍峰. 系統(tǒng)仿真技術(shù)及其應(yīng)用學(xué)術(shù)會議論文集[C].太原:[出版者不詳],2008

      [4]Multigen-Paradigm lnc. Vega Prime Reference Guide (version 2.0)[M].Dallas: Multigen Paradigm lnc, 2005

      [5]翟兆建, 蔡志勇, 趙紅軍. 基于Vega Prime的滅火飛機投水特效模擬[J]. 計算機應(yīng)用與軟件, 2012,4, 29(4):260-262

      [6]郭齊勝, 董志明. 戰(zhàn)場環(huán)境仿真[M]. 北京: 國防工業(yè)出版社,2005

      [7]劉培杰. 航天發(fā)射訓(xùn)練系統(tǒng)建模技術(shù)應(yīng)用研究[D]. 北京: 裝備學(xué)院, 2011

      猜你喜歡
      真實感視景煙霧
      薄如蟬翼輕若煙霧
      影視劇“煙霧繚繞”就該取消評優(yōu)
      華人時刊(2019年13期)2019-11-26 00:54:38
      vega及其在戰(zhàn)場環(huán)境視景仿真系統(tǒng)中的應(yīng)用
      電子測試(2018年4期)2018-05-09 07:28:19
      回歸真實感
      咸陽鎖緊煙霧與塵土
      細(xì)推物理重體驗 表現(xiàn)人物貴專精
      戲劇之家(2016年20期)2016-11-09 22:03:27
      淺議假定情境與表演的真實感
      戲劇之家(2015年24期)2016-01-12 18:48:40
      南豐蜜桔造型
      全回轉(zhuǎn)拖輪運動建模與視景仿真
      會下沉的煙霧
      马公市| 富平县| 肥西县| 昆明市| 磐安县| 尚义县| 宁波市| 湟源县| 福清市| 清原| 丹棱县| 新绛县| 格尔木市| 高邑县| 伊春市| 始兴县| 井陉县| 延川县| 寿宁县| 广水市| 河津市| 邵武市| 台江县| 木兰县| 遵义市| 天祝| 肃北| 福建省| 厦门市| 扶绥县| 武清区| 盈江县| 长乐市| 自贡市| 新蔡县| 偃师市| 井研县| 盐山县| 新安县| 双鸭山市| 定边县|