本發(fā)明涉及一種基于松耦合的模擬演練系統(tǒng)。主要涉及專(zhuān)利分類(lèi)號(hào)G06計(jì)算;推算;計(jì)數(shù)G06F電數(shù)字?jǐn)?shù)據(jù)處理G06F19/00專(zhuān)門(mén)適用于特定應(yīng)用的數(shù)字計(jì)算或數(shù)據(jù)處理的設(shè)備或方法。
背景技術(shù):
在目前市場(chǎng)上已有的公共安全領(lǐng)域面向政府部門(mén)、企事業(yè)單位管理者、應(yīng)急指揮人員、實(shí)操人員的三維模擬演練軟件產(chǎn)品中,三維場(chǎng)景信息僅包括三維模型的相對(duì)位置等靜態(tài)空間信息,而用戶(hù)在三維場(chǎng)景模擬演練過(guò)程中,受到用戶(hù)輸入和氣候等環(huán)境因素影響所導(dǎo)致的三維模型之間相互作用的規(guī)則信息(例如:管道閥門(mén)狀態(tài)改變對(duì)閥門(mén)連接管道內(nèi)的液體流動(dòng)影響規(guī)則;危化品火災(zāi)事故中使用不同救援器材對(duì)?;坊馂?zāi)的影響規(guī)則;不同氣候環(huán)境對(duì)火災(zāi)、有毒氣體泄露等公共安全事故的擴(kuò)散影響規(guī)則等)是通過(guò)三維模擬演練場(chǎng)景軟件產(chǎn)品來(lái)制定的。導(dǎo)致用于模擬演練的三維場(chǎng)景信息與軟件產(chǎn)品聯(lián)系非常緊密,而模擬演練所用三維場(chǎng)景中的業(yè)務(wù)邏輯規(guī)則千差萬(wàn)別(例如,消防支隊(duì)進(jìn)行高層建筑三維場(chǎng)景的消防模擬演練時(shí),主要關(guān)注高層建筑物內(nèi)逃生通道現(xiàn)狀對(duì)人員逃生、消防員戰(zhàn)斗的影響等;而消防支隊(duì)進(jìn)行石油化工園區(qū)的消防模擬演練時(shí),主要關(guān)注水、泡沫等滅火材料對(duì)特定火災(zāi)的撲救效果,不同燃燒介質(zhì)的燃燒特征等),如果這些模擬演練過(guò)程中所需要的邏輯規(guī)則全部由模擬演練程序來(lái)控制,那么會(huì)因?yàn)槟M演練程序無(wú)法窮盡現(xiàn)實(shí)中所有的規(guī)則,導(dǎo)致一套三維模擬演練軟件產(chǎn)品僅能夠有針對(duì)性的實(shí)現(xiàn)一種或若干幾種演練業(yè)務(wù)進(jìn)行三維模擬演練,軟件產(chǎn)品與三維場(chǎng)景的模擬演練業(yè)務(wù)之間緊耦合。
目前三維模擬演練軟件產(chǎn)品與三維場(chǎng)景信息之間的關(guān)系如圖1所示。由于不同三維場(chǎng)景所關(guān)注的演練重點(diǎn)不同,演練過(guò)程中所用到的業(yè)務(wù)邏輯規(guī)則不同,使得一個(gè)三維模擬演練軟件產(chǎn)品僅能夠運(yùn)行一個(gè)或者有限幾個(gè)具有不同演練業(yè)務(wù)邏輯的三維場(chǎng)景,如果客戶(hù)需要定制個(gè)性化的三維模擬演練場(chǎng)景,那么就可能需要重新開(kāi)發(fā)一套能夠解釋該三維模擬場(chǎng)景中業(yè)務(wù)邏輯的三維程序來(lái)與之對(duì)應(yīng),以滿(mǎn)足用戶(hù)在定制個(gè)性化三維場(chǎng)景中的模擬演練業(yè)務(wù)需求。這種三維模擬演練軟件產(chǎn)品與三維場(chǎng)景之間緊耦合的關(guān)系存在如下的缺陷。
(1)三維模擬演練軟件產(chǎn)品的靈活性低。
(2)每個(gè)針對(duì)個(gè)性化場(chǎng)景的三維模擬演練軟件產(chǎn)品開(kāi)發(fā)(或調(diào)整)周期長(zhǎng)(數(shù)月或數(shù)年)。
(3)滿(mǎn)足用戶(hù)在個(gè)性化三維場(chǎng)景中進(jìn)行演練的成本高。
(4)三維模擬演練軟件產(chǎn)品會(huì)因?yàn)殡y以滿(mǎn)足用戶(hù)對(duì)特定三維場(chǎng)景模擬演練的需求,導(dǎo)致三維模擬演練軟件產(chǎn)品的推廣難。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)以上問(wèn)題的提出,而研制的一種基于松耦合的模擬演練系統(tǒng),包括:多個(gè)場(chǎng)景單元、與多個(gè)場(chǎng)景單元通信連接的處理渲染單元、操作單元以及顯示單元;
所述的場(chǎng)景單元包括資源存儲(chǔ)模塊和場(chǎng)景邏輯模塊;所述的資源存儲(chǔ)模塊存儲(chǔ)當(dāng)前場(chǎng)景中模型的初始狀態(tài)參數(shù)和位置參數(shù);所述場(chǎng)景邏輯模塊存儲(chǔ)當(dāng)前場(chǎng)景中不同模型之間的模型約束規(guī)則;
所述的處理渲染單元訪問(wèn)特定的場(chǎng)景單元,調(diào)取所述資源存儲(chǔ)模塊中的模型的初始狀態(tài)參數(shù)和位置參數(shù),生成包含多個(gè)模型的模擬演練靜態(tài)模型空間,由顯示單元顯示;工作時(shí),所述的操作單元發(fā)出改變所述靜態(tài)三維空間中模型的動(dòng)作指令,所述的處理渲染單元分析所述的動(dòng)作指令,調(diào)取當(dāng)前場(chǎng)景單元中場(chǎng)景邏輯模塊中動(dòng)作指令涉及到的模型的約束規(guī)則和互動(dòng)狀態(tài)參數(shù);根據(jù)所述的約束規(guī)則和互動(dòng)狀態(tài)參數(shù)運(yùn)算后,實(shí)時(shí)改變所述模擬演練靜態(tài)模型空間中的各模型狀態(tài),直至完成演習(xí)。
作為優(yōu)選的實(shí)施方式,所述的場(chǎng)景邏輯模塊中模型約束規(guī)則包括:
表示特定模型可能狀態(tài)的狀態(tài)數(shù)據(jù)塊、判定模型變化的選擇數(shù)據(jù)塊以及連接模型、狀態(tài)數(shù)據(jù)塊和選擇數(shù)據(jù)塊的規(guī)則指針;
模型數(shù)據(jù)、狀態(tài)數(shù)據(jù)塊和選擇數(shù)據(jù)塊經(jīng)過(guò)規(guī)則指針的連接形成當(dāng)前場(chǎng)景單元的模型約束規(guī)則。
更進(jìn)一步,通過(guò)所述的操作單元可改變所述模型約束規(guī)則中的狀態(tài)數(shù)據(jù)的種類(lèi)和數(shù)量以及規(guī)則指針的連接關(guān)系。
作為優(yōu)選的實(shí)施方式,所述的規(guī)則指針至少可賦予、編輯和修改與其關(guān)聯(lián)的狀態(tài)數(shù)據(jù)塊和選擇數(shù)據(jù)塊的延遲時(shí)間和作用范圍。
作為優(yōu)選的實(shí)施方式,所述的操作單元可添加、刪除以及修改模型的種類(lèi)、數(shù)量、初始狀態(tài)參數(shù)和位置參數(shù)。
作為優(yōu)選的實(shí)施方式,具有存儲(chǔ)預(yù)置的模型、狀態(tài)數(shù)據(jù)塊、選擇數(shù)據(jù)塊和規(guī)則指針的存儲(chǔ)單元;通過(guò)所述的操作單元編輯場(chǎng)景單元過(guò)程中,可調(diào)取存儲(chǔ)單元中預(yù)置的相應(yīng)數(shù)據(jù)類(lèi)型。
附圖說(shuō)明
為了更清楚的說(shuō)明本發(fā)明的實(shí)施例或現(xiàn)有技術(shù)的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖做一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明的系統(tǒng)模塊圖
圖2為本發(fā)明的工作流程圖
圖3為本發(fā)明約束規(guī)則的示意圖
圖4為本發(fā)明約束規(guī)則的解釋示意圖
圖5位本發(fā)明演戲過(guò)程示意圖
具體實(shí)施方式
為使本發(fā)明的實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚完整的描述:
如圖1-4所示。一種基于松耦合的模擬演練系統(tǒng),主要包括:根據(jù)實(shí)際演習(xí)訓(xùn)練要求的設(shè)定的多個(gè)場(chǎng)景單元。以及能夠與多個(gè)場(chǎng)景單元建立通信連接,實(shí)施訪問(wèn)和調(diào)用的處理渲染單元,作為優(yōu)選的實(shí)施方式,所述的處理渲染單元可選擇成熟的3D渲染引擎。
以及相應(yīng)的操作單元和顯示單元。操作單元包括3D渲染引擎的人機(jī)交互界面以及必要的輸入設(shè)備。
所述的場(chǎng)景單元主要包含了能夠形成靜態(tài)三維空間的模型數(shù)據(jù)以及動(dòng)態(tài)規(guī)則。主要包括資源存儲(chǔ)模塊和場(chǎng)景邏輯模塊。
所述的資源存儲(chǔ)模塊存儲(chǔ)當(dāng)前場(chǎng)景中模型的初始狀態(tài)參數(shù)和位置參數(shù);所述場(chǎng)景邏輯模塊存儲(chǔ)當(dāng)前場(chǎng)景中不同模型之間的模型約束規(guī)則。
建?;蛘哒f(shuō)初始化階段,所述的處理渲染單元訪問(wèn)特定的場(chǎng)景單元,調(diào)取所述資源存儲(chǔ)模塊中的模型的初始狀態(tài)參數(shù)和位置參數(shù),生成包含多個(gè)模型的模擬演練靜態(tài)模型空間,由顯示單元顯示。
演習(xí)過(guò)程中,使用者通過(guò)所述的操作單元發(fā)出改變所述靜態(tài)三維空間中模型的動(dòng)作指令,所述的處理渲染單元分析所述的動(dòng)作指令,調(diào)取當(dāng)前場(chǎng)景單元中場(chǎng)景邏輯模塊中動(dòng)作指令涉及到的模型的約束規(guī)則和互動(dòng)狀態(tài)參數(shù);根據(jù)所述的約束規(guī)則和互動(dòng)狀態(tài)參數(shù)運(yùn)算后,實(shí)時(shí)改變所述模擬演練靜態(tài)模型空間中的各模型狀態(tài),直至完成演習(xí)。
為了能夠有效的根據(jù)指令,對(duì)場(chǎng)景中的各模型進(jìn)行實(shí)時(shí)的狀態(tài)表現(xiàn),作為優(yōu)選的實(shí)施方式,所述的場(chǎng)景邏輯模塊中模型約束規(guī)則包括:
表示特定模型可能狀態(tài)的狀態(tài)數(shù)據(jù)塊、判定模型變化的選擇數(shù)據(jù)塊以及連接模型、狀態(tài)數(shù)據(jù)塊和選擇數(shù)據(jù)塊的規(guī)則指針。
模型數(shù)據(jù)、狀態(tài)數(shù)據(jù)塊和選擇數(shù)據(jù)塊經(jīng)過(guò)規(guī)則指針的連接形成當(dāng)前場(chǎng)景單元的模型約束規(guī)則。
在三維場(chǎng)景中,所述的邏輯規(guī)則主要包括如下三類(lèi)。
第一類(lèi),用戶(hù)通過(guò)人機(jī)交互,直接觸發(fā)。
典型的應(yīng)用場(chǎng)景如下,用戶(hù)通過(guò)鼠標(biāo)、鍵盤(pán)等人機(jī)交互工具對(duì)所述的模擬演練靜態(tài)空間中的場(chǎng)景進(jìn)行直接操作或者直接干預(yù)。比如,用戶(hù),直接點(diǎn)擊場(chǎng)景中的某一個(gè)模型,引出特定的選項(xiàng)來(lái)操作場(chǎng)景或者改變場(chǎng)景;或者類(lèi)似與其它開(kāi)發(fā)軟件的操作界面,提供一個(gè)集成的按鈕。
第二類(lèi),用戶(hù)通過(guò)人機(jī)交互,導(dǎo)致場(chǎng)景狀態(tài)變化,進(jìn)而引發(fā)場(chǎng)景連鎖反應(yīng)。
比如,用戶(hù)通過(guò)人機(jī)交互操作截面,打開(kāi)一個(gè)閥門(mén),改變閥門(mén)的狀態(tài),而閥門(mén)狀態(tài)改變,會(huì)引起管道中石油的流通狀態(tài)改變。
第三類(lèi),用戶(hù)通過(guò)人機(jī)交互,導(dǎo)致場(chǎng)景狀態(tài)變化,在場(chǎng)景狀態(tài)變化超過(guò)設(shè)定時(shí)間或預(yù)設(shè)值后,引發(fā)場(chǎng)景的連鎖反應(yīng)。
比如,打開(kāi)石油運(yùn)輸管道閥門(mén)之后,一直保持管道中的石油流通,且未在閾值時(shí)間內(nèi)關(guān)閉,則在閾值時(shí)間后導(dǎo)致管道終端的石油儲(chǔ)罐壓力過(guò)大,最終導(dǎo)致油罐爆裂或冒頂。
為了體現(xiàn)上述的規(guī)則,方便現(xiàn)場(chǎng)操作人員根據(jù)演預(yù)案對(duì)所述的規(guī)則進(jìn)行編輯,作為優(yōu)選的實(shí)施方式,所述的規(guī)則指針至少可賦予、編輯和修改與其關(guān)聯(lián)的狀態(tài)數(shù)據(jù)塊和選擇數(shù)據(jù)塊的延遲時(shí)間和作用范圍。
實(shí)際過(guò)程中,規(guī)則指針可選擇實(shí)際的指針數(shù)組,此時(shí),系統(tǒng)內(nèi)的其它數(shù)據(jù),比如模型、狀態(tài)數(shù)據(jù)塊、選擇數(shù)據(jù)塊均為實(shí)際的數(shù)據(jù),通過(guò)軟件編程改變指針的指向即可。
作為另一個(gè)可選的實(shí)施方式,可以通過(guò)圖形界面,將規(guī)則指針具象化成特定的圖形,在編輯界面由操作人員拖拽和編輯即可,更為直觀。
本發(fā)明的核心在于在三維場(chǎng)景信息中,不僅包含了諸如各種三維模型相對(duì)位置等的靜態(tài)三維空間信息。同時(shí)還包括了,在模擬演習(xí)過(guò)程中各種模型相互之間的動(dòng)態(tài)規(guī)則信息,三維模擬演練軟件通過(guò)解析上述三種動(dòng)態(tài)規(guī)則信息來(lái)推動(dòng)三維場(chǎng)景模擬演練的進(jìn)程,進(jìn)而實(shí)現(xiàn)了三維場(chǎng)景信息與三維模擬演練軟件產(chǎn)品之間的松耦合。
即用戶(hù)需要在特定的三維場(chǎng)景中完成模擬演練時(shí),只需要構(gòu)件由模型所組成的三維場(chǎng)景空間、編制模擬演練過(guò)程中三維場(chǎng)景空間中的各個(gè)模型之間的動(dòng)態(tài)規(guī)則,就可以使用三維場(chǎng)景模擬演練軟件產(chǎn)品通過(guò)人機(jī)交互,基于三維場(chǎng)景中各模型之間的動(dòng)態(tài)規(guī)則,更新三維場(chǎng)景中各模型的狀態(tài)信息,完成特定三維場(chǎng)景中的模擬演練。
通常的,本發(fā)明的三維場(chǎng)景數(shù)據(jù)管理及其應(yīng)用流程如下:
首先,收集、輸入或者制作模擬演練三維場(chǎng)景中所需要用到的模型。
然后,將之前提到的模型組合成為模擬演練靜態(tài)模型空間,組合的內(nèi)容包括場(chǎng)景中個(gè)模型空間位置的調(diào)整,模型大小的縮放,以及模型朝向的調(diào)整等等,最終將所有模型組合成進(jìn)行模擬演練的三維靜態(tài)場(chǎng)景空間。
使用所述的場(chǎng)景編輯器制定所述合成的模擬演練靜態(tài)模型空間中各模型之間的動(dòng)態(tài)推演規(guī)則。
然后發(fā)布所述的三維的模擬演練靜態(tài)空間及其動(dòng)態(tài)推演規(guī)則。
最后,由三維模擬演練軟件產(chǎn)品解析所述的三維的模擬演練靜態(tài)空間及其動(dòng)態(tài)推演規(guī)則,為用戶(hù)提供所述的三維模擬演練服務(wù)。
典型的應(yīng)用場(chǎng)景,用戶(hù)通過(guò)人機(jī)交互在模擬演練靜態(tài)空間中,控制虛擬操作員在一個(gè)油品儲(chǔ)罐上點(diǎn)火,之后,油罐在靜態(tài)空間中設(shè)定的風(fēng)的作用下,火勢(shì)隨時(shí)間變大,并根據(jù)三維場(chǎng)景中的動(dòng)態(tài)推演規(guī)則,對(duì)上風(fēng)口區(qū)域內(nèi)的易燃品和對(duì)下風(fēng)口區(qū)域內(nèi)的易燃物品的造成不同的影響,讓距離起火油品儲(chǔ)罐不同距離,以及處于上風(fēng)口區(qū)的易燃品和處于下風(fēng)口區(qū)的易燃品處于不同的狀態(tài),在所述的場(chǎng)景中呈現(xiàn)不同的變化。
同時(shí),按照設(shè)定的所述的動(dòng)態(tài)推演規(guī)則,油罐起火超過(guò)設(shè)定時(shí)間,按規(guī)則最終發(fā)生爆炸,同時(shí)按照設(shè)定規(guī)則,油罐圓周10m之內(nèi)的設(shè)定物體,比如其它相鄰油罐發(fā)生火災(zāi)。
下面舉例說(shuō)明模擬演習(xí)場(chǎng)景,進(jìn)行更進(jìn)一步的具體介紹。
在某個(gè)特定的模擬演練三維場(chǎng)景中,初始狀態(tài)下,閥門(mén)處于關(guān)閉狀態(tài),閥門(mén)上方輸油管為高壓儲(chǔ)油狀態(tài),閥門(mén)下方儲(chǔ)油罐為無(wú)油可接油狀態(tài),操作員與閥門(mén)距離較遠(yuǎn),閥門(mén)不接受操作員所發(fā)出的閥門(mén)打開(kāi)指令。在工作狀態(tài)時(shí),用戶(hù)通過(guò)人機(jī)交互單元,影響虛擬操作員在三維演練場(chǎng)景中的位置信息,當(dāng)虛擬操作員在接近閥門(mén)一定距離時(shí),根據(jù)設(shè)定規(guī)則,軟件系統(tǒng)判定閥門(mén)可以開(kāi)始接受操作員打開(kāi)閥門(mén)指令,系統(tǒng)用戶(hù)通過(guò)人機(jī)交互單元,給操作人員下達(dá)一個(gè)打開(kāi)閥門(mén)的指令,系統(tǒng)會(huì)調(diào)取動(dòng)畫(huà)庫(kù)中的閥門(mén)旋轉(zhuǎn)圖像(或者直接控制閥門(mén)依據(jù)閥門(mén)中心旋轉(zhuǎn)),且閥門(mén)的狀態(tài)修改為打開(kāi)。同時(shí),與閥門(mén)連接的輸油管中石油流向儲(chǔ)油罐,在一定時(shí)間之后,儲(chǔ)油罐中儲(chǔ)油滿(mǎn),導(dǎo)致儲(chǔ)油罐上方冒油。
在上述的三維模擬演練場(chǎng)景中,所涉及到的靜態(tài)三維模型主要包括:①閥門(mén);②輸油管;③虛擬操作員;④地面、房間墻壁等。在本文所述的基于松耦合的模擬演練系統(tǒng)中,基于模擬演練業(yè)務(wù)的動(dòng)態(tài)推演規(guī)則主要包括如下幾個(gè)分類(lèi):
第一類(lèi):用戶(hù)通過(guò)人機(jī)交互,直接觸發(fā)的動(dòng)態(tài)推演規(guī)則
(1)用戶(hù)通過(guò)人機(jī)交互,發(fā)出虛擬操作員移動(dòng)指令,改變虛擬操作員在三維場(chǎng)景中的位置
指令:用戶(hù)[鼠標(biāo)點(diǎn)擊]
結(jié)果:操作員[位移]
約束:碰撞檢測(cè)
(2)用戶(hù)通過(guò)人機(jī)交互,發(fā)出虛擬操作員打開(kāi)閥門(mén)指令,改變閥門(mén)閉合狀態(tài)
指令:用戶(hù)發(fā)送[打開(kāi)閥門(mén)]指令
結(jié)果:①虛擬操作員[打開(kāi)閥門(mén)的骨骼動(dòng)作];②閥門(mén)[打開(kāi)的動(dòng)畫(huà)];③閥門(mén)發(fā)送[打開(kāi)]指令
約束:操作員與閥門(mén)[距離≤50cm]
第二類(lèi):用戶(hù)通過(guò)人機(jī)交互,引發(fā)場(chǎng)景狀態(tài)后,進(jìn)而導(dǎo)致的場(chǎng)景連鎖反應(yīng)
(1)閥門(mén)打開(kāi)之后,改變管道的油體流動(dòng)狀態(tài)
指令:閥門(mén)[打開(kāi)]
結(jié)果:①下一節(jié)管道[油體流通];②下一節(jié)管道[油體流動(dòng)動(dòng)畫(huà)];③發(fā)送管道[流通]指令
約束:上一節(jié)管道[油體流通]
(2)油體流通狀態(tài)改變之后,改變儲(chǔ)油罐的儲(chǔ)油狀態(tài),以及出油量
指令:管道[油體流動(dòng)]
結(jié)果:①儲(chǔ)油罐儲(chǔ)油狀態(tài)改變;②發(fā)送儲(chǔ)油罐[儲(chǔ)油量改變]指令
約束:無(wú)
第三類(lèi):景狀態(tài)變化超過(guò)設(shè)定時(shí)間或預(yù)設(shè)值后,引發(fā)場(chǎng)景的連鎖反應(yīng)
(1)儲(chǔ)油罐的儲(chǔ)油量改變之后,如果儲(chǔ)油量增加到一個(gè)預(yù)設(shè)值時(shí),儲(chǔ)油罐冒頂,改變儲(chǔ)油罐的狀態(tài)
指令:儲(chǔ)油罐[儲(chǔ)油量改變]指令
結(jié)果:儲(chǔ)油罐狀態(tài)改變,儲(chǔ)油罐冒頂
約束:儲(chǔ)油罐[儲(chǔ)油量改變]指令改變儲(chǔ)油罐儲(chǔ)油量的值,并使得儲(chǔ)油罐儲(chǔ)油量的值超過(guò)某個(gè)閾值
將上面的人機(jī)交互向場(chǎng)景中發(fā)送的消息,還有模型的動(dòng)作,和模型的改變都看成是消息,則規(guī)則的存儲(chǔ)desc.xml。desc.xml中主要包括各組成部分的初始化狀態(tài)等靜態(tài)場(chǎng)景信息,和動(dòng)態(tài)規(guī)則信息兩個(gè)部分。
一、靜態(tài)場(chǎng)景信息描述
基于松耦合的模擬演練系統(tǒng)中的靜態(tài)場(chǎng)景信息描述與傳統(tǒng)三維場(chǎng)景信息的存儲(chǔ)方式完全類(lèi)相同,主要存儲(chǔ)各組成部分的初始化狀態(tài),包括位置、縮放、旋轉(zhuǎn)和模型之間的關(guān)聯(lián)狀態(tài),例如閥門(mén)與管道之間,管道與管道之間空間連接關(guān)系,以及管道中的油體流動(dòng)初始狀態(tài)等。由于三維動(dòng)態(tài)場(chǎng)景中靜態(tài)場(chǎng)景信息的描述與傳統(tǒng)模擬演練系統(tǒng)靜態(tài)三維場(chǎng)景的描述完全類(lèi)似,因此在這里不再進(jìn)行過(guò)多的贅述。
二、動(dòng)態(tài)場(chǎng)景規(guī)則信息描述為了方便描述,XML格式中的描述內(nèi)容,全部使用文字進(jìn)行描述,三維動(dòng)態(tài)場(chǎng)景中的動(dòng)態(tài)場(chǎng)景規(guī)則主要包括指令定義和規(guī)則定義兩個(gè)部分的內(nèi)容,其描述如下所示。
(1)用戶(hù)通過(guò)人機(jī)交互,發(fā)出虛擬操作員移動(dòng)指令,改變虛擬操作員在三維場(chǎng)景中的位置
指令:用戶(hù)[鼠標(biāo)點(diǎn)擊]
結(jié)果:操作員[位移]
約束:碰撞檢測(cè)
(2)用戶(hù)通過(guò)人機(jī)交互,發(fā)出虛擬操作員打開(kāi)閥門(mén)指令,改變閥門(mén)閉合狀態(tài)
指令:用戶(hù)發(fā)送[打開(kāi)閥門(mén)]指令
結(jié)果:①虛擬操作員[打開(kāi)閥門(mén)的骨骼動(dòng)作];②閥門(mén)[打開(kāi)的動(dòng)畫(huà)];③閥門(mén)發(fā)送[打開(kāi)]指令
約束:操作員與閥門(mén)[距離≤50cm]
(3)閥門(mén)打開(kāi)之后,改變管道的油體流動(dòng)狀態(tài)
指令:閥門(mén)[打開(kāi)]
結(jié)果:①下一節(jié)管道[油體流通];②下一節(jié)管道[油體流動(dòng)動(dòng)畫(huà)];③發(fā)送管道[流通]指令
約束:上一節(jié)管道[油體流通]
(4)油體流通狀態(tài)改變之后,改變儲(chǔ)油罐的儲(chǔ)油狀態(tài),以及出油量
指令:管道[油體流動(dòng)]
結(jié)果:①儲(chǔ)油罐儲(chǔ)油狀態(tài)改變;②發(fā)送儲(chǔ)油罐[儲(chǔ)油量改變]指令
約束:無(wú)
(5)儲(chǔ)油罐的儲(chǔ)油量改變之后,如果儲(chǔ)油量增加到一個(gè)預(yù)設(shè)值時(shí),儲(chǔ)油罐冒頂,改變儲(chǔ)油罐的狀態(tài)
指令:儲(chǔ)油罐[儲(chǔ)油量改變]指令
結(jié)果:儲(chǔ)油罐狀態(tài)改變,儲(chǔ)油罐冒頂
約束:儲(chǔ)油罐[儲(chǔ)油量改變]指令改變儲(chǔ)油罐儲(chǔ)油量的值,并使得儲(chǔ)油罐儲(chǔ)油量的值超過(guò)某個(gè)閾值
最終將desc.xml文件交由三維模擬演練軟件產(chǎn)品進(jìn)行解析后,用戶(hù)只需要操作三維場(chǎng)景中的【虛擬操作員】三維模型到【閥門(mén)】三維模型附近(距離<=50),通過(guò)人機(jī)交互發(fā)送【打開(kāi)閥門(mén)】指令時(shí),那么場(chǎng)景就會(huì)改變【閥門(mén)】三維模型的開(kāi)/閉狀態(tài),程序就會(huì)自動(dòng)判斷目前管道內(nèi)油體的流通狀態(tài),來(lái)更改【閥門(mén)】打開(kāi)之后的管道內(nèi)油體流動(dòng)狀態(tài),同時(shí)出發(fā)定時(shí)器,定時(shí)更改儲(chǔ)油罐的儲(chǔ)油量,當(dāng)儲(chǔ)油量大于500時(shí),儲(chǔ)油罐表現(xiàn)為冒頂。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。