国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

圖形推演中線狀目標(biāo)的爬行效果研究

2013-02-21 07:52竇長旭
關(guān)鍵詞:箭頭繪制時(shí)刻

聶 穎,竇長旭

(中國電子科技集團(tuán)公司第十五研究所 地理信息與圖形圖像技術(shù)研發(fā)中心,北京 100083)

隨著計(jì)算機(jī)信息化手段的日益普及和發(fā)展,以矢量圖形動(dòng)畫實(shí)現(xiàn)為核心的圖形推演技術(shù)已被廣泛地應(yīng)用于仿真模擬、情況匯報(bào)和態(tài)勢推演等各類軍事應(yīng)用中,以達(dá)到幫助使用者更好地展示仿真過程、匯報(bào)值班情況或推演作戰(zhàn)謀劃的目的[1]。

圖形推演主要負(fù)責(zé)完成目標(biāo)和場景的動(dòng)態(tài)表達(dá)定義和演播,是圖形處理平臺的一個(gè)組成部分,其依托于圖形數(shù)據(jù)管理和圖形符號庫,為最終上層應(yīng)用提供圖形動(dòng)畫支撐,是態(tài)勢推演應(yīng)用的關(guān)鍵部分。目前,許多動(dòng)畫推演和圖形處理類的軟件[2-3]都具備了圖形推演的基本能力,基本都實(shí)現(xiàn)了目標(biāo)基本動(dòng)作的設(shè)計(jì),但對動(dòng)作動(dòng)畫效果的精細(xì)性和準(zhǔn)確性缺少深入的研究,往往止步于示意階段。本文將介紹圖形推演在線目標(biāo)移動(dòng)效果方面的研究成果。

1 系統(tǒng)概述

圖形推演的系統(tǒng)結(jié)構(gòu)如圖1所示,分為核心處理和應(yīng)用兩個(gè)層次,核心處理層負(fù)責(zé)數(shù)據(jù)的生成、顯示、驅(qū)動(dòng)和控制,應(yīng)用層負(fù)責(zé)提供操縱目標(biāo)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù)的各類界面操作。

圖1 圖形推演的系統(tǒng)結(jié)構(gòu)

圖形推演系統(tǒng)的外圍是以圖形推演作為支撐平臺的推演類應(yīng)用。

目標(biāo)數(shù)據(jù)管理模塊負(fù)責(zé)目標(biāo)靜態(tài)數(shù)據(jù)的管理,處理數(shù)據(jù)的生成、修改和刪除。目標(biāo)數(shù)據(jù)通過調(diào)用圖形繪制算法庫提供的相應(yīng)算法完成顯示繪制。

動(dòng)作定義模塊為目標(biāo)對象添加動(dòng)作,追加到目標(biāo)數(shù)據(jù)的動(dòng)作屬性中。根據(jù)實(shí)際的需要,還可以設(shè)計(jì)動(dòng)作組和動(dòng)作集合,實(shí)現(xiàn)復(fù)合動(dòng)作的定義和播放。

計(jì)時(shí)管理器是推演技術(shù)的重要部分,負(fù)責(zé)按計(jì)時(shí)器的單位時(shí)間間隔從目標(biāo)數(shù)據(jù)管理模塊獲取相關(guān)數(shù)據(jù),生成當(dāng)前時(shí)刻的動(dòng)態(tài)數(shù)據(jù),并記錄在動(dòng)態(tài)數(shù)據(jù)管理模塊。

動(dòng)態(tài)數(shù)據(jù)是變化了的靜態(tài)數(shù)據(jù),其初始顯示姿態(tài)和目標(biāo)靜態(tài)數(shù)據(jù)本身相同,但隨著時(shí)刻的變化,目標(biāo)的顯示效果也會(huì)變化。動(dòng)態(tài)數(shù)據(jù)的顯示也要依靠圖形繪制算法庫完成。依據(jù)動(dòng)作類型的不同,數(shù)據(jù)變化的方式也不相同。

播放控制主要負(fù)責(zé)對計(jì)時(shí)管理器的控制,通過啟動(dòng)、播放、暫停、停止和定位等指令,控制推演的工作時(shí)刻。

視頻錄制提供了與外部應(yīng)用的標(biāo)準(zhǔn)接口,實(shí)現(xiàn)推演制作的數(shù)據(jù)共享。錄制的過程也要靠計(jì)時(shí)管理器一幀一幀地推送渲染。

2 爬行動(dòng)作定義

圖形數(shù)據(jù)動(dòng)態(tài)表達(dá)的基本單位是動(dòng)作,描述一個(gè)動(dòng)作的基本參數(shù)包括動(dòng)作標(biāo)識、動(dòng)作名稱、起始時(shí)間和結(jié)束時(shí)間,而根據(jù)動(dòng)作類型的不同,動(dòng)作參數(shù)也各不相同。圖形推演支持的常用基本動(dòng)作包括顯示/隱藏、閃爍、旋轉(zhuǎn)、按軌跡移動(dòng)、生長和變形等。

在戰(zhàn)場態(tài)勢推演過程中,隨著時(shí)間的推移,一些實(shí)體的空間位置會(huì)發(fā)生改變(如戰(zhàn)役中部隊(duì)的行進(jìn),飛機(jī)對敵方進(jìn)行空襲等),這就需要定義一個(gè)按軌跡移動(dòng)的動(dòng)作,其動(dòng)作參數(shù)為起始時(shí)間和移動(dòng)路線軌跡,前者是線目標(biāo)移動(dòng),后者是點(diǎn)目標(biāo)移動(dòng)。點(diǎn)狀目標(biāo)移動(dòng)相對簡單,可以通過設(shè)置標(biāo)號的位置和方向角來體現(xiàn),但對于線狀目標(biāo)按軌跡的移動(dòng),理想效果是使線目標(biāo)在路線上貼合爬行,因此又稱之為爬行動(dòng)作定義。

3 爬行效果研究

3.1 問題描述

效果指各類推演動(dòng)作在播放時(shí)呈現(xiàn)出的結(jié)果,主要由動(dòng)態(tài)數(shù)據(jù)管理和圖形繪制算法庫兩個(gè)模塊來完成。

對于爬行效果來說,目前大多數(shù)研究者[4]采用的方法都是解決線標(biāo)首尾兩點(diǎn)的軌跡擬合,中間的點(diǎn)通過設(shè)置間隔容限和差值來實(shí)現(xiàn)。這種算法雖然通用,但沒有考慮線標(biāo)實(shí)際含義和線標(biāo)本身的擬合算法,導(dǎo)致在展示效果和準(zhǔn)確性上都存在局限性,在實(shí)際推演播放中會(huì)呈現(xiàn)比較突兀的顯示姿態(tài),導(dǎo)致軌跡發(fā)生跳躍、偏移。

以帶有寬度的箭標(biāo)為例,假設(shè)其在一條有變化的道路上爬行,如圖 2(a)所示。箭標(biāo)有 3個(gè)定位點(diǎn),Ps為起始點(diǎn),Pe為結(jié)束點(diǎn),Pn為中間點(diǎn),圖2給出了3個(gè)時(shí)刻的箭頭移動(dòng)結(jié)果,第 1時(shí)刻 3點(diǎn)序列為{Ps,Pn,Pe},第 2時(shí)刻 3 點(diǎn) 序 列 為{P′s,P′n,P′e},第 3 時(shí) 刻 3 點(diǎn) 序 列 為{P″s,P″n,P″e(cuò)}。

可以看出,如果只采用箭標(biāo)首尾兩點(diǎn)與軌跡擬合的簡單辦法,則中間點(diǎn)Pn軌跡是否可重合是隨機(jī)的。如果軌跡的坡度平緩,則擬合度好一些;如果軌跡變陡峭,則顯示姿態(tài)就比較生硬。

另一方面,對于走向變化特別大的路徑,即使每個(gè)爬行點(diǎn)都在路徑上,依然不能很好地?cái)M合,如圖2(c)所示。因?yàn)橐援?dāng)前的點(diǎn)數(shù),不可能擬合出變化這樣大的箭頭曲線。因此,要做到每一時(shí)刻的箭標(biāo)都較好地與路徑擬合,不僅需要把每個(gè)點(diǎn)都修正到路徑線上,點(diǎn)數(shù)的密度也必須適合,如圖 2(d)所示。 在圖 2(b)中,不僅 Pn點(diǎn)3個(gè)時(shí)刻都落在路徑上,并且點(diǎn)數(shù)上也有所增加,第2時(shí)刻和第3時(shí)刻都增加了點(diǎn)數(shù)Pn-1。

圖2 問題效果和期望效果對比圖

但是,擬合點(diǎn)的密度也不能簡單地理解為越多越好,只要記錄表示路徑拐點(diǎn)的關(guān)鍵點(diǎn)即可,如圖2(d)的情況,只需要6個(gè)點(diǎn)。

3.2 改進(jìn)策略

要達(dá)到圖 2(b)和圖 2(d)的期望效果,需從圖形繪制生成和軌跡點(diǎn)生成兩個(gè)方面細(xì)致研究相關(guān)算法。軌跡點(diǎn)生成負(fù)責(zé)按照計(jì)時(shí)管理器的時(shí)間推進(jìn),計(jì)算出合適長度和密度的軌跡點(diǎn)陣列;再將生成的軌跡點(diǎn)陣列作為箭標(biāo)的中軸線點(diǎn)陣列輸入,通過箭標(biāo)實(shí)現(xiàn)算法擬合出對稱美觀的箭標(biāo)符號。

3.3 算法說明

3.3.1 軌跡爬行算法

采用基于特征點(diǎn)的爬行算法計(jì)算出正確的位置點(diǎn)和適合的點(diǎn)數(shù)。計(jì)算步驟如下。

(1)提取整個(gè)軌跡的折線逼近點(diǎn)序列 P{0,1,…,n},這個(gè)點(diǎn)序列的密度取上限,足以達(dá)到折線擬合曲線的程度。在整個(gè)演播過程中,箭標(biāo)的起點(diǎn)Ps將從軌跡第0點(diǎn)一直移動(dòng)到第n點(diǎn)。

(2)根據(jù)當(dāng)前時(shí)刻ti占總時(shí)刻的百分比和箭標(biāo)的長度計(jì)算出ti時(shí)刻箭頭起點(diǎn)所在的位置 P′s。顯然 P′s是軌跡點(diǎn)陣列P中的一點(diǎn),其下標(biāo)的計(jì)算方法為:

其中,t為總的移動(dòng)時(shí)間,Ii為第 i個(gè)擬合點(diǎn)在P點(diǎn)組中的下標(biāo),Ipi為ti時(shí)刻擬合點(diǎn) Pi在離散點(diǎn)組中的下標(biāo)。根據(jù)各個(gè)擬合點(diǎn)在ti時(shí)刻的下標(biāo),可獲得當(dāng)前時(shí)刻Pi點(diǎn)坐標(biāo),P′s=Pi。

(3)依據(jù)箭標(biāo)的概略長度,在P點(diǎn)陣列中,反向計(jì)算出 ti時(shí)刻時(shí)箭尾點(diǎn)的位置 P′e,則 P集合的子集 Pn{P′s…P′e}就是這一時(shí)刻的箭標(biāo)中軸點(diǎn)陣列,Pn∈P。

(4)但是如步驟(1)所述,這個(gè)來自軌跡擬合點(diǎn)的 Pn陣列的點(diǎn)非常密集,兩點(diǎn)之間的距離一般不會(huì)超過2個(gè)像素,用這些點(diǎn)來形成貝塞爾曲線的拐點(diǎn),對于箭標(biāo)來說,無論從性能還是效果上講,都有裁剪的必要。

(5)圖形推演數(shù)據(jù)相當(dāng)于一種時(shí)間序列數(shù)據(jù),對軌跡數(shù)據(jù)的裁剪也可以理解為一種數(shù)據(jù)的聚類運(yùn)算。對時(shí)間序列數(shù)據(jù)進(jìn)行聚類的算法有基于距離、基于特征和基于模型等多種算法[5]。這里采用基于特征值的方法進(jìn)行裁剪,以鄰近點(diǎn)之間的坡度和距離作為特征值,對Pn的各個(gè)點(diǎn)進(jìn)行篩除。首先設(shè)置計(jì)算關(guān)鍵特征點(diǎn)的距離閾值,默認(rèn)為所有線段長度數(shù)學(xué)期望的1/2,然后將Pn陣列中的每一點(diǎn)填寫特征值矩陣結(jié)構(gòu),記錄每一點(diǎn)和相鄰點(diǎn)的距離和角度關(guān)系;取每一點(diǎn)和它的相鄰兩點(diǎn)做三角形,計(jì)算該點(diǎn)的尖角和對應(yīng)邊長度與折線總長度的比例值,小于角度閾值和比例閾值的點(diǎn)即被篩除。

(6)特征點(diǎn)計(jì)算完成后,形成 Pj陣列,Pj∈Pn∈P。

(7)將形成的 Pj點(diǎn)陣列送至圖形繪制算法庫,繪制當(dāng)前時(shí)刻的箭標(biāo)。

(8)這一時(shí)刻的推演步驟完成,計(jì)時(shí)管理器啟動(dòng)下一時(shí)刻的數(shù)據(jù)推送與繪制,重復(fù)上述步驟。

3.3.2 箭標(biāo)繪制算法

箭標(biāo)大致分為箭頭和箭身兩部分。箭頭又可分為箭頸、箭耳和箭尖3部分,箭身則由左、右箭身和箭尾組成。一般來說,箭身兩側(cè)為貝塞爾曲線,以保證箭身的美觀平滑;箭頭采用直線繪制,以保證箭耳和箭尖的銳利效果。

要實(shí)現(xiàn)箭標(biāo)在路徑上的嚴(yán)格爬行,箭標(biāo)本身的繪制算法也很重要,需保證給定了合適的箭頭中軸線的情況下,箭標(biāo)的兩側(cè)曲線仍有良好的平行度,如圖3所示,P0~P5即為箭標(biāo)的中軸線。

圖3 箭標(biāo)組成圖

圖3中,箭頭由 7個(gè)點(diǎn)組成,其中第 4點(diǎn)位置已經(jīng)確定,即箭標(biāo)中軸線的最后一點(diǎn)。根據(jù)箭頭角度、箭耳角度和箭頭占箭標(biāo)總長的比例,就可以計(jì)算出其他6個(gè)點(diǎn),這里不再贅述,重點(diǎn)介紹箭身的生成算法。箭身的生成算法如下。

(1)去除中軸線點(diǎn)陣列中的箭尖頂點(diǎn),計(jì)算第 1點(diǎn)到第n-1點(diǎn)的總長度L。

(2)計(jì)算箭身貝塞爾曲線的拐點(diǎn)位置到中軸的距離Gdw序列,第i點(diǎn)的拐點(diǎn)寬度計(jì)算公式為:

其中,Neckw為箭頸寬度的 1/2,Tailw為箭尾寬度,L為箭標(biāo)中軸線的總長度,△ln為當(dāng)前點(diǎn)與前一點(diǎn)的距離,rss為箭頭收縮系數(shù)。

計(jì)算時(shí)采用了指數(shù)型的非線性收縮算法,這是式(2)的一個(gè)關(guān)鍵點(diǎn)。由于最終目的是為了算出表示箭身曲線的拐點(diǎn)位置,如果各個(gè)拐點(diǎn)間的位置都是線性關(guān)系,擬合出的貝塞爾曲線不但收斂速度慢,且線條走向也會(huì)比較僵硬,不夠自然光滑。因此,這里采用指數(shù)系數(shù)來改變拐點(diǎn)陣列的走向、平滑度和收斂速度。

(3)根據(jù)拐點(diǎn)寬度Gdwi生成中軸線點(diǎn)兩側(cè)的拐點(diǎn)坐標(biāo)左點(diǎn)陣列 L{1,…,n-1}和右點(diǎn)陣列 R{1,…,n-1},計(jì)算方法如圖4所示。已知 Si-1、Si、Si+1為箭標(biāo)中軸線上的3點(diǎn),3點(diǎn)組成一個(gè)三角形,計(jì)算過Si點(diǎn)與Si-1和Si+1連線平行的線段,線段兩個(gè)端點(diǎn)分別為P和Q;再采用定比等分算法,即計(jì)算出Li和Ri。公式如下:

圖4 擬合曲線生成算法圖

(4)獲得了 L和 R點(diǎn)序列,取默認(rèn)調(diào)整比例,就可以擬合出過這些拐點(diǎn)的貝塞爾曲線;按照左箭身—箭頭—右箭身的順序,將集合點(diǎn)序列送入直線繪制函數(shù),即完成了當(dāng)前時(shí)刻箭標(biāo)的效果顯示。

4 實(shí)驗(yàn)結(jié)果

圖5為“燕尾行動(dòng)箭標(biāo)”進(jìn)行爬行移動(dòng)的效果截圖。經(jīng)實(shí)驗(yàn)表明,爬行效果在各個(gè)彎度上都基本保持了尺寸不變和精確擬合。圖 5(a)為第3 s剛剛開始起步的效果,圖5(b)為第11 s行動(dòng)箭標(biāo)在彎路上爬行的效果。

圖5 線目標(biāo)爬行效果截圖

本文提出的線標(biāo)爬行算法有效解決了線標(biāo)移動(dòng)的軌跡偏移問題,改善了以往按軌跡移動(dòng)的動(dòng)畫實(shí)現(xiàn)大多只重視點(diǎn)狀目標(biāo)的實(shí)現(xiàn),線狀目標(biāo)的移動(dòng)只關(guān)注首尾點(diǎn)或中心點(diǎn)的缺陷。

圖形推演技術(shù)被用于多種軍事應(yīng)用場景中,但不同應(yīng)用場景(如作戰(zhàn)推演[7]、交接班匯報(bào)和想定仿真)在應(yīng)用流程上還有很多差別,如前兩者的數(shù)據(jù)大多來自人工生成,而后者則主要是數(shù)據(jù)自動(dòng)生成。如何整合這些應(yīng)用場合的相同點(diǎn)和不同點(diǎn),保證不同工作方式下動(dòng)作參數(shù)獲取的一致性,是今后研究的一個(gè)主要方向。同時(shí),研究多個(gè)目標(biāo)同時(shí)動(dòng)作下的時(shí)間同步和提速策略,也是影響效果進(jìn)一步優(yōu)化改進(jìn)的重要因素。

[1]陳康,徐培德,馬滿好,等.態(tài)勢推演系統(tǒng)結(jié)構(gòu)研究[J].軍事運(yùn)籌與系統(tǒng)工程,2005,19(3):43-47.

[2]張寶印.基于矢量的時(shí)序圖形圖像處理技術(shù)的研究與實(shí)踐[D].鄭州:中國人民解放軍信息工程大學(xué),2001.

[3]何忠煥,邊馥苓.GIS系統(tǒng)下二維地圖推演技術(shù)的研究[J].武漢大學(xué)學(xué)報(bào)(信息科學(xué)版),2005,30(1):69-72.

[4]張欣,張立立,曹國峰,等.戰(zhàn)場態(tài)勢推演 GIS動(dòng)態(tài)表達(dá)技術(shù)與應(yīng)用[J].地球信息科學(xué),2006,8(4):80-83.

[5]趙恩來,郝文寧,趙水寧,等.改進(jìn)的基于密度方法的態(tài)勢聚類顯示算法[J].計(jì)算機(jī)工程,2010,36(18):35-37.

[6]楊瑞平,張小京,趙東波.推演系統(tǒng)中面向角色的二維態(tài)勢研究 [J].系統(tǒng)工程與電子 技術(shù),2007,29(12):2093-2096.

猜你喜歡
箭頭繪制時(shí)刻
冬“傲”時(shí)刻
捕獵時(shí)刻
超萌小鹿課程表
放學(xué)后
運(yùn)載火箭
在轉(zhuǎn)變中繪制新藍(lán)圖
一天的時(shí)刻
VBA在宗地圖繪制中的應(yīng)用
尋寶歷險(xiǎn)記(6)
天地大轉(zhuǎn)盤