邢立新 陳 潿 王瑾玨 沈中卿
(陸軍軍官學院 合肥 230031)
虛擬環境是計算機生成的數字空間,它應當可以表現為逼真的三維虛擬環境。當多個不同地點的虛擬現實終端需要聯結起來進行交互,它們就必須共同營造維護同一個虛擬環境。
動態變化性是整個系統的難點,從分布式系統的角度看待這個虛擬世界,應該提取常量和不變量,從三維圖形繪制的角度看,遠火火控虛擬世界中涉及到的地形、地貌、目標和天空等,操作員對這些的交互性很弱,因此相對的修改要求較小,而氣象信息、車體狀況、炸點偏差和射擊參數等計算機生成的角色是虛擬世界中主要的數據變化主體,將它們統稱為對象,需要發生動態更改的自然環境也被看成物體,屬于對象。所以,虛擬世界中的變化應當主要是對象的狀態變化或相關操作,所以很容易得出:
遠火火控虛擬環境=(環境數據+設備模型+智能實體+網絡交互)+應用邏輯
將遠火火控分布式虛擬戰場環境進行問題抽象,如圖1所示,多個操作員共享一個虛擬環境,并進行操作,得到相應的反饋,真實物體也可以通過仿真或機械等手段進行虛實的相互操作,虛擬場景可以從真實世界的數據生成。對抽象的元素進行應用分析,分布式虛擬環境有三個基本要求:1)一致性;2)交互性;3)實時性[1]。

圖1 遠火火控虛擬戰場環境的問題抽象
遠火火控模擬仿真系統應用常用的交互設備包括鍵盤、鼠標、操作桿、顯示器、揚聲器等,半實物仿真還需要構建一些專用的交互設備接口,隨著虛擬現實技術的發展還會出現更多的人機交互設備。由于交互設備的多樣性和可能的復雜性,給應用系統的構造帶來與設備相關的問題。
輸入原語系統是將交互設備的輸入映射為原語,并利用原語作為輸入來控制仿真實體動作及行為的系統,它定義了輸入原語的表示形式,描述了物理設備的輸入如何映射為原語,以及應用程序如何使用原語。設備操作、原語及實體動作三者之間的關系如圖2所示[2]。

圖2 設備操作、原語及實體動作三者之間的關系
輸入原語是命令的最小構成單位,是外設的一次動作對應的原型。在火控模擬訓練仿真系統應用中,外設的輸入信息可被分為兩種:離散的和連續的。離散的輸入信息是指如鍵盤、鼠標等點擊輸入,連續的輸入信息是指如操縱桿、數據手套等高頻輸入。離散輸入信息可以用來表示一個事件,因而可以代表實體動作的程度,遠火火控模擬訓練仿真系統中實體的狀態包括其位置和方向信息。輸入原語的定義如下:

其中,GunFireControl表示一種操作抽象的動作,標識對應邏輯操作的原語類別;六個參數分別表示輸入在三維空間中位置和方向信息;time_stamp為時間戳,用于實時交互約束處理;可選的Device是設備類型;可選參數Reserved用來儲存額外的必要信息,如對于操縱桿輸入設備而言,便可以利用此項儲存各個信息。
原語系統中用于表示空間的位置和方向信息的六個參數沒有給出一個統一的數據表示,它們只在各自的設備空間中有意義,即仍然是設備相關的,也就使得各個設備所表示的方向信息彼此之間不具備可比性。為此,需要定義遠火火控的邏輯設備坐標系、物理設備坐標系到邏輯設備坐標系的映射以及歸一化函數來解決這個問題。
遠火火控邏輯設備坐標系的定義如圖3所示。α,β,γ表示輸入方向信息的歐拉角,單位為rad。其旋轉順序定義為依次繞z軸逆時針旋轉γrad,繞x軸旋轉αrad,繞y軸旋轉βrad,其中α,β,γ的取值范圍從(-∞,+∞)。
從遠火火控物理設備坐標系到邏輯設備坐標系的映射如圖4所示,物理設備坐標系上取值范圍包圍盒的中點對應邏輯設備坐標系的原點,各坐標軸和“同向”的邏輯設備坐標系坐標軸相對應。圖中,xmax,ymax,zmax分別為物理設備空間最大值在x,y,z坐標軸上對應的坐標[3]。

圖3 邏輯設備坐標系

圖4 物理設備坐標系到邏輯設備坐標系的映射
物理設備坐標系中的坐標映射到邏輯設備坐標系中相應的坐標后,還不能直接使用,需經過歸一化函數進行歸一化。歸一化函數f定義為:(X,Y,Z,α,β,γ)=f(x,y,z,a,b,c),其中,(x,y,z)為物理設備位置輸入值在其設備坐標系中對應的坐標位置,取值范圍與具體的物理設備相關;(X,Y,Z)為其在邏輯設備坐標系中對應值,取值范圍定義為[-1,+1];(a,b,c)為物理設備方向輸入值在其設備坐標系中對應的方向坐標,取值范圍與具體的物理設備相關;(α,β,γ)為其在邏輯設備坐標系中的對應值,取值范圍為(-∞,+∞)。
設當物理設備坐標(x,y,z)的取值范圍為x∈歸一化函數f的定義如下

其中,f′函數為從物理設備坐標系中的方向坐標轉換成邏輯設備坐標系定義的歐拉角的函數。例如,當鼠標的輸入為豎直方向192,水平方向256時,對應的物理設備坐標為(192,256,0),則其在邏輯設備坐標系中的坐標為(-0.5,0,-0.5),此處設屏幕的分辨率為1024×768[4]。
輸入原語映射是建立在交互輸入設備上的,與物理設備相關,涉及物理設備的操作特性。它首先定義好輸入設備的可能操作對應的原語中的Tpye,即輸入原語表,輸入原語表是設備操作集合到Tpye的一個滿射。輸入原語系統將直接獲得的設備輸入中的位置和方向信息首先從相應的物理設備坐標系轉換到邏輯設備坐標系中,然后按照輸入原語表中的映射關系找到對應的Tpye,從而形成原語輸入。最終,如圖5所示為遠火火控中按照人機交互原語系統所建立的遠火射擊模型效果圖。

圖5 遠火模型射擊效果圖
遠火火控模擬訓練系統模型的建立中涉及很多人機交互的方面,包括行軍、操瞄調炮、解算諸元、參數修正等。輸入原語的解釋與執行是建立在原語基礎上的,與具體的物理輸入設備無關。仿真應用在接收到原語輸入之后,根據其所表示的語義動作,取出相應的參數信息,并以此來控制仿真實體的動作及行為。輸入原語系統將設備輸入與實體控制在軟件實現上相分離,使得交互輸入原語與物理輸入設備、實體控制相關,而實體控制變得與輸入設備無關,從而簡化了軟件的設計,增強了軟件的靈活性和可擴展性。
[1]周忠,吳威.分布式虛擬環境[M].北京:科學出版社,2009:17-19.
[2]段作義,唐少剛,劉鵬.分布式交互仿真應用系統輸入輸出模型的研究與實現[J].系統仿真學報,2006,18(1):102-105.
[3]Andreas T,James A M.2004.M&S whitin the model driven architecture.Proceedings of Interservice/Industry Traning,Simulation,and Education Conference(I/ITSEC 04)Montevery Cal-iforma:161-163.
[4]趙沁平,懷進鵬,李波,等.虛擬現實研究概況[M].北京:科學出版社,1996:7-9.