常高祥, 徐曉剛, 王建國(guó)
(1. 海軍大連艦艇學(xué)院裝備系統(tǒng)與自動(dòng)化系,遼寧 大連 116018 ;2. 浙江大學(xué)CAD&CG國(guó)家重點(diǎn)實(shí)驗(yàn)室,浙江 杭州 310058)
虛擬維修訓(xùn)練系統(tǒng)中數(shù)據(jù)庫(kù)的應(yīng)用
常高祥1,2, 徐曉剛1,2, 王建國(guó)1,2
(1. 海軍大連艦艇學(xué)院裝備系統(tǒng)與自動(dòng)化系,遼寧 大連 116018 ;2. 浙江大學(xué)CAD&CG國(guó)家重點(diǎn)實(shí)驗(yàn)室,浙江 杭州 310058)
數(shù)據(jù)庫(kù)技術(shù)在虛擬維修訓(xùn)練系統(tǒng)中起著重要的作用。文章以MySQL數(shù)據(jù)庫(kù)為例簡(jiǎn)述了數(shù)據(jù)庫(kù)特點(diǎn),分析了應(yīng)用數(shù)據(jù)庫(kù)的虛擬維修訓(xùn)練系統(tǒng)的優(yōu)勢(shì),介紹了虛擬維修訓(xùn)練系統(tǒng)中數(shù)據(jù)庫(kù)設(shè)計(jì)的基本方法,結(jié)合Torque Game Engine三維引擎開(kāi)發(fā)了具有較好可移植性的虛擬維修訓(xùn)練系統(tǒng)。實(shí)驗(yàn)結(jié)果表明,將數(shù)據(jù)庫(kù)技術(shù)應(yīng)用到虛擬維修訓(xùn)練系統(tǒng),可以有效提高系統(tǒng)開(kāi)發(fā)的效率。
計(jì)算機(jī)應(yīng)用;數(shù)據(jù)庫(kù)設(shè)計(jì);虛擬維修;可移植性
虛擬維修(Virtual Maintenance)是以計(jì)算機(jī)技術(shù)與虛擬現(xiàn)實(shí)技術(shù)為依托,在由計(jì)算機(jī)生成的包含了產(chǎn)品數(shù)字樣機(jī)與維修人員 3D(三維)人體模型的虛擬場(chǎng)景中,通過(guò)驅(qū)動(dòng)人體模型(包括采用人在回路的方式)來(lái)完成整個(gè)維修過(guò)程仿真的綜合性應(yīng)用技術(shù)[1]。 國(guó)內(nèi)外許多研究機(jī)構(gòu)對(duì)維修訓(xùn)練系統(tǒng)進(jìn)行了大量研究,如日本京都大學(xué)新加坡國(guó)立大學(xué)以及國(guó)內(nèi)的石家莊軍械工程學(xué)院[2]等。將虛擬維修技術(shù)用于維修訓(xùn)練,有助于提前訓(xùn)練的開(kāi)始時(shí)間點(diǎn),甚至在沒(méi)有實(shí)物對(duì)象時(shí)就可以開(kāi)展部分的訓(xùn)練工作提高訓(xùn)練工作的靈活性,可以針對(duì)訓(xùn)練中的關(guān)鍵點(diǎn)與難點(diǎn)合理方便地安排訓(xùn)練內(nèi)容,突破了以往訓(xùn)練工作中對(duì)地點(diǎn)、時(shí)機(jī)等條件的限制。
在虛擬維修訓(xùn)練系統(tǒng)中,數(shù)據(jù)的管理及數(shù)據(jù)與系統(tǒng)的通信問(wèn)題,一直是開(kāi)發(fā)人員要解決的難點(diǎn)和重點(diǎn)。在虛擬維修訓(xùn)練系統(tǒng)中主要通過(guò)數(shù)據(jù)庫(kù)技術(shù)以及讀取文本文件的方式來(lái)管理數(shù)據(jù),不同方法的應(yīng)用環(huán)境不同。因此,要合理選用數(shù)據(jù)管理方式才能達(dá)到最優(yōu)的效果。SQL數(shù)據(jù)庫(kù)技術(shù)是專業(yè)的數(shù)據(jù)管理技術(shù),數(shù)據(jù)庫(kù)的設(shè)計(jì)、優(yōu)化、管理相對(duì)較為麻煩,但在數(shù)據(jù)量較多且數(shù)據(jù)類型復(fù)雜時(shí)無(wú)疑是最好的工具;用文本文件來(lái)管理數(shù)據(jù)是非常局限的一種方法,因?yàn)樗芾淼臄?shù)據(jù)類型較為單一、數(shù)據(jù)量較小。在虛擬維修訓(xùn)練系統(tǒng)中,要用到的數(shù)據(jù)量很大,包括模型、圖片、維修序列、用戶信息、模擬故障的數(shù)據(jù)等,數(shù)據(jù)類型也是相當(dāng)復(fù)雜,所以要選用數(shù)據(jù)庫(kù)技術(shù)來(lái)管理數(shù)據(jù)。
文章將MySQL數(shù)據(jù)庫(kù)應(yīng)用到虛擬維修訓(xùn)練系統(tǒng)的開(kāi)發(fā)中,并提出了一套數(shù)據(jù)庫(kù)設(shè)計(jì)和優(yōu)化的方案,有效解決了大量數(shù)據(jù)管理和傳輸?shù)碾y題,實(shí)現(xiàn)了具有較好可移植性的虛擬維修訓(xùn)練系統(tǒng),大大加快了不同裝備的虛擬維修訓(xùn)練系統(tǒng)的開(kāi)發(fā)進(jìn)程。
虛擬維修訓(xùn)練是利用虛擬現(xiàn)實(shí)技術(shù),在計(jì)算機(jī)上建立起虛擬裝備和相應(yīng)的交互方式,從而實(shí)現(xiàn)裝備的維修訓(xùn)練過(guò)程。虛擬維修訓(xùn)練系統(tǒng)必須要體現(xiàn)出真實(shí)訓(xùn)練的重點(diǎn),這些重點(diǎn)主要通過(guò)下面的特性來(lái)實(shí)現(xiàn):維修序列的正確性、交互操作的方便性、故障模擬的合理性、零件模型的逼真性、維修訓(xùn)練的可評(píng)估性等等。這些重點(diǎn)的實(shí)現(xiàn)過(guò)程中會(huì)有大量數(shù)據(jù)的傳輸和管理問(wèn)題,這些問(wèn)題的解決需要數(shù)據(jù)庫(kù)的參與。
系統(tǒng)的可移植性即通用性,指同一套虛擬維修訓(xùn)練系統(tǒng)可以對(duì)不同的裝備進(jìn)行虛擬維修操作,而不對(duì)系統(tǒng)內(nèi)部進(jìn)行修改,要求系統(tǒng)與不同的虛擬裝備之間必須有一個(gè)接口,存儲(chǔ)裝備的各項(xiàng)數(shù)據(jù)。開(kāi)發(fā)一套虛擬維修訓(xùn)練系統(tǒng),要花費(fèi)大量的時(shí)間和人力資源。大部分的維修訓(xùn)練系統(tǒng)只是針對(duì)某一型裝備進(jìn)行開(kāi)發(fā)的,如果開(kāi)發(fā)的系統(tǒng)具有較好的通用性,其應(yīng)用價(jià)值將會(huì)大大提高。裝備的改變不能影響到系統(tǒng)的應(yīng)用,如果系統(tǒng)只與數(shù)據(jù)庫(kù)連接,而數(shù)據(jù)庫(kù)與模型、維修序列、評(píng)估標(biāo)準(zhǔn)等外部因素連接,就可以解決通用性的問(wèn)題。
系統(tǒng)開(kāi)發(fā)過(guò)程中有較多重復(fù)性工作,比如定義場(chǎng)景中的維修對(duì)象,它由許多零件構(gòu)成,要將這些零件分類,同類的零件可能會(huì)有很多。如果在開(kāi)發(fā)過(guò)程中逐個(gè)實(shí)例化維修對(duì)象,會(huì)有很大的工作量。將零件的屬性寫入到數(shù)據(jù)庫(kù)的一個(gè)表中,用 SQL語(yǔ)句將要用到的字段調(diào)出來(lái),在系統(tǒng)的底層代碼中用循環(huán)語(yǔ)句實(shí)例化同類的零件。用這樣的方法將會(huì)大大節(jié)省開(kāi)發(fā)時(shí)間。數(shù)據(jù)庫(kù)給系統(tǒng)的開(kāi)發(fā)提供了很多的便利性,系統(tǒng)開(kāi)發(fā)人員可以靈活運(yùn)用數(shù)據(jù)庫(kù),使開(kāi)發(fā)過(guò)程簡(jiǎn)單化。
系統(tǒng)開(kāi)發(fā)的整體過(guò)程如圖1所示,開(kāi)發(fā)者根據(jù)裝備的特點(diǎn)開(kāi)發(fā)出適合該裝備的數(shù)據(jù)庫(kù),并將不同虛擬裝備的各種信息寫入數(shù)據(jù)庫(kù)中;在開(kāi)發(fā)平臺(tái)中編程實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的調(diào)用;測(cè)試人員將對(duì)開(kāi)發(fā)出的維修操作平臺(tái)的測(cè)試意見(jiàn)反饋給開(kāi)發(fā)者,以此來(lái)完善系統(tǒng)的各項(xiàng)功能。
數(shù)據(jù)庫(kù)設(shè)計(jì)不是設(shè)計(jì)一個(gè)完整的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),而是根據(jù)一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)模型。數(shù)據(jù)庫(kù)設(shè)計(jì)包括結(jié)構(gòu)設(shè)計(jì)和行為設(shè)計(jì),結(jié)構(gòu)設(shè)計(jì)是按照應(yīng)用要求確定一個(gè)合理的數(shù)據(jù)模型,行為設(shè)計(jì)是指應(yīng)用程序的設(shè)計(jì)。在虛擬維修訓(xùn)練系統(tǒng)中,結(jié)構(gòu)設(shè)計(jì)是指按照系統(tǒng)要求將所用到的數(shù)據(jù)分類并建立合理的數(shù)據(jù)模型,而行為設(shè)計(jì)是在腳本里實(shí)現(xiàn)對(duì)數(shù)據(jù)的存取和應(yīng)用[4]。
圖1 系統(tǒng)開(kāi)發(fā)流程圖
數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程可分為以下6個(gè)階段:
· 需求分析;
· 概念結(jié)構(gòu)設(shè)計(jì);
· 邏輯結(jié)構(gòu)設(shè)計(jì);
· 物理結(jié)構(gòu)設(shè)計(jì);
· 數(shù)據(jù)庫(kù)實(shí)施;
· 數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)。
下面介紹各個(gè)階段的工作。
需求分析階段的工作是詳細(xì)準(zhǔn)確地了解數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的運(yùn)行環(huán)境和用戶要求。
虛擬維修訓(xùn)練系統(tǒng)是這個(gè)數(shù)據(jù)庫(kù)的用戶,考察用戶需求重點(diǎn)是“數(shù)據(jù)”和“處理”,用戶需求的信息主要包括:維修對(duì)象、維修規(guī)則、維修工具、故障模擬、碰撞檢測(cè)。這5種數(shù)據(jù)流包含很多的數(shù)據(jù)項(xiàng),例如,維修對(duì)象中的數(shù)據(jù)項(xiàng)有:零件 ID號(hào)、零件名稱、材質(zhì)、零件類型、零件動(dòng)畫序列、零件坐標(biāo)、零件個(gè)數(shù)等,這些數(shù)據(jù)項(xiàng)都要合理定義其數(shù)據(jù)類型及長(zhǎng)度。
概念結(jié)構(gòu)設(shè)計(jì)主要實(shí)現(xiàn)由現(xiàn)實(shí)世界到信息世界的抽象,建立概念模型。概念模型的表示方法很多,最著名的是采用實(shí)體—聯(lián)系方法即E-R模型法,用E-R圖描述概念模型,從而確定實(shí)體、屬性和實(shí)體間的關(guān)系,便于進(jìn)行邏輯結(jié)構(gòu)設(shè)計(jì)。
圖 2是一虛擬維修訓(xùn)練系統(tǒng)數(shù)據(jù)庫(kù)的 E-R圖。在圖2中清晰地描述了5個(gè)實(shí)體之間的關(guān)系,以及各個(gè)實(shí)體的屬性,給下面的數(shù)據(jù)庫(kù)設(shè)計(jì)工作提供了很好的思路。
邏輯結(jié)構(gòu)設(shè)計(jì)的內(nèi)容簡(jiǎn)單地說(shuō),就是將概念結(jié)構(gòu)設(shè)計(jì)結(jié)果——E-R圖轉(zhuǎn)換為某一種DBMS支持的數(shù)據(jù)模型。
建立數(shù)據(jù)模型首先要確定關(guān)系模式,關(guān)系模式實(shí)際是實(shí)體與其屬性的另一中表現(xiàn)方式,但還應(yīng)包括聯(lián)系與其屬性。圖2所示的虛擬維修訓(xùn)練系統(tǒng)的關(guān)系模式可以表示為:
操作人員(人員 ID,姓名,密碼,單位,職務(wù))
維修任務(wù)(任務(wù)ID,任務(wù)名稱,裝備名稱,故障提示,模型名稱,任務(wù)描述)
故障(故障ID,故障名稱,故障類型)
零件(零件ID,任務(wù)ID,名稱,零件類型,圖片名稱,三維坐標(biāo),零件介紹)
工具(工具ID,零件ID,名稱,圖片名稱,動(dòng)畫序列)
維修(任務(wù)ID,人員ID ,維修日志)
其中,維修是聯(lián)系與其屬性的關(guān)系模式,其它關(guān)系模式是實(shí)體與其屬性的關(guān)系模式,帶下劃線的數(shù)據(jù)項(xiàng)為主鍵。
物理結(jié)構(gòu)設(shè)計(jì)階段要完成的工作主要是確定數(shù)據(jù)庫(kù)表的結(jié)構(gòu),并進(jìn)行優(yōu)化,為數(shù)據(jù)模型選擇合理的存儲(chǔ)結(jié)構(gòu)和存取方法,決定存取路徑和分配存取空間等。
對(duì)于記錄的存取格式應(yīng)考慮如何節(jié)省存取空間,盡量用占用字節(jié)比較少的數(shù)據(jù)類型,例如,用戶的單位可以用0、1、2、3、…來(lái)代替用漢字來(lái)描述,還有故障類型和零件類型等也可用這種方式來(lái)表示,就可以節(jié)省大量的空間。
數(shù)據(jù)庫(kù)實(shí)施是運(yùn)用 DBMS建立數(shù)據(jù)庫(kù),創(chuàng)建各種對(duì)象(表、窗體、查詢等),編制與調(diào)試應(yīng)用程序,錄入數(shù)據(jù),進(jìn)行試運(yùn)行。
建立表時(shí)要參考邏輯結(jié)構(gòu)設(shè)計(jì)中的關(guān)系模式,一個(gè)關(guān)系模式就是一個(gè)數(shù)據(jù)表,而關(guān)系模式內(nèi)的每一個(gè)數(shù)據(jù)項(xiàng)將成為表中的一個(gè)字段。確定了表中包括哪些字段后,還應(yīng)確定每一個(gè)字段的類型及數(shù)據(jù)長(zhǎng)度。
從圖2可容易得出,對(duì)應(yīng)該E-R圖的數(shù)據(jù)庫(kù)要包含5個(gè)表分別是:用戶信息表、維修任務(wù)表、故障表、零件表、工具表,相應(yīng)表的字段即為每個(gè)實(shí)體的屬性。
圖2 虛擬維修訓(xùn)練系統(tǒng)中數(shù)據(jù)庫(kù)的E-R圖
數(shù)據(jù)庫(kù)正式投入使用后,還應(yīng)不斷進(jìn)行評(píng)價(jià)、修改與調(diào)整。這一時(shí)期的工作就是數(shù)據(jù)庫(kù)的運(yùn)行和維護(hù)。
上述數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程可用圖3表示。數(shù)據(jù)庫(kù)設(shè)計(jì)的基本思想是過(guò)程迭代和逐步求精,每完成一個(gè)設(shè)計(jì)階段,就進(jìn)行評(píng)價(jià),根據(jù)評(píng)價(jià)結(jié)果,決定是進(jìn)行下一階段或是重新進(jìn)行這一階段的工作,甚至更前一階段的工作。因此,整個(gè)設(shè)計(jì)過(guò)程往往是上述6個(gè)階段的不斷反復(fù)。
目前,市面上的數(shù)據(jù)庫(kù)產(chǎn)品多種多樣,MySQL數(shù)據(jù)庫(kù)可以稱得上是目前運(yùn)行速度最快的SQL語(yǔ)言數(shù)據(jù)庫(kù)。
總體來(lái)說(shuō),MySQL數(shù)據(jù)庫(kù)具有以下主要特點(diǎn):
(1) 可以保存超過(guò)50,000,000條記錄;
(2) 是目前市場(chǎng)上現(xiàn)有產(chǎn)品中運(yùn)行速度最快的數(shù)據(jù)庫(kù)系統(tǒng);
(3) 用戶權(quán)限設(shè)置簡(jiǎn)單、有效。
開(kāi)發(fā)平臺(tái)TGE支持MySQL數(shù)據(jù)庫(kù),開(kāi)發(fā)者不用過(guò)多修改 TGE的底層代碼,就可以應(yīng)用該數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)數(shù)據(jù)的查詢、寫入和讀取。考慮到MySQL的種種優(yōu)點(diǎn),文章以MySQL數(shù)據(jù)庫(kù)為例,介紹在虛擬維修訓(xùn)練系統(tǒng)的開(kāi)發(fā)過(guò)程中如何管理和傳輸數(shù)據(jù)。
圖3 數(shù)據(jù)庫(kù)設(shè)計(jì)流程圖
為了使用戶和開(kāi)發(fā)人員更方便地操作MySQL數(shù)據(jù)庫(kù),要采用Apache作為MySQL的服務(wù)器,用Web上最流行的一種服務(wù)器腳本編程語(yǔ)言PHP(Personal Home Page)為MySQL數(shù)據(jù)庫(kù)編寫PMA,直接在Web頁(yè)面中對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行各種維護(hù)[5]。
根據(jù)上述的數(shù)據(jù)庫(kù)設(shè)計(jì)方法,得出在這個(gè)數(shù)據(jù)庫(kù)中需要的最基本的表有任務(wù)表、任務(wù)內(nèi)容表、零件表、維修序列表、工具表、維修操作評(píng)分表、維修日志表、用戶信息表,對(duì)不同表的描述如下:
· 任務(wù)表 存儲(chǔ)不同的維修任務(wù)ID號(hào)、任務(wù)名稱、維修序列編號(hào)。
· 工具表 存儲(chǔ)工具模型名稱、工具ID號(hào)、對(duì)應(yīng)的手型動(dòng)畫ID。
· 零件表 存儲(chǔ)零件類型、零件模型名稱、零件對(duì)應(yīng)的工具 ID和維修動(dòng)畫 ID等零件的屬性。
· 任務(wù)內(nèi)容表 存儲(chǔ)不同任務(wù)中的虛擬裝備以及裝備個(gè)模塊之間的相對(duì)位置關(guān)系?!?維修序列表 描述不同裝備的維修序列?!?維修操作評(píng)分表 存儲(chǔ)不同零件對(duì)應(yīng)的不同分?jǐn)?shù)。
· 維修動(dòng)畫表 用不同的ID標(biāo)識(shí)不同的維修動(dòng)畫。
· 維修日志表 存儲(chǔ)每次訓(xùn)練的日期、操作者和得分等信息。
· 用戶信息表 保存可以使用本系統(tǒng)的所有用戶信息。
實(shí)際的裝備哪個(gè)零件出現(xiàn)故障的概率有較大的隨機(jī)性,故障的外在表現(xiàn)形式也是千差萬(wàn)別。故障設(shè)定的合理性與故障模擬的真實(shí)性,直接影響到受訓(xùn)者對(duì)故障的判斷。
故障模擬主要通過(guò)變換紋理、粒子系統(tǒng)、播放動(dòng)畫、3D音效等來(lái)實(shí)現(xiàn)。
變換紋理和3D音效來(lái)進(jìn)行故障模擬,要用到很多紋理、動(dòng)畫、聲音以及要加粒子的模型的源文件。這些源文件與腳本之間的通信過(guò)程較為簡(jiǎn)單,數(shù)據(jù)庫(kù)里存儲(chǔ)了系統(tǒng)所需源文件的名字,腳本里指定了源文件的路徑,通過(guò)基于索引的查詢就可以找到源文件,從而實(shí)現(xiàn)了腳本與數(shù)據(jù)庫(kù)的通信。
粒子系統(tǒng)和播放動(dòng)畫實(shí)現(xiàn)故障模擬,要確定哪個(gè)模型要添加粒子、哪個(gè)模型要播放動(dòng)畫。在數(shù)據(jù)庫(kù)里定義每個(gè)模型的類型,用一個(gè)字段來(lái)存儲(chǔ)。不同字段值的零件用不同的方法進(jìn)行故障模擬。
3.3.1 裝備的拆卸操作過(guò)程中的數(shù)據(jù)通信
向場(chǎng)景中加載模型過(guò)程中,要在腳本中讀取數(shù)據(jù)庫(kù)中模型的各種數(shù)據(jù)。而開(kāi)發(fā)的數(shù)據(jù)庫(kù)是基于名字的索引,要在腳本中指定模型存儲(chǔ)的路徑,通過(guò)這條路徑查找模型源文件,完成場(chǎng)景與模型數(shù)據(jù)源的通信。
場(chǎng)景中模型的定位,必須要有一個(gè)基準(zhǔn)點(diǎn),即場(chǎng)景中的裝備誕生點(diǎn)。場(chǎng)景中模型的坐標(biāo)就是誕生點(diǎn)的坐標(biāo)加上數(shù)據(jù)庫(kù)中模型的坐標(biāo)。為了使虛擬裝備的維修操作過(guò)程更貼近實(shí)際,擁有同一父零件的零件設(shè)為一個(gè)Group,在移動(dòng)過(guò)程中可以對(duì)整個(gè)Group進(jìn)行移動(dòng),這些Group可以進(jìn)行更深入的拆卸操作。
圖4 模型加載流程圖
加載模型的實(shí)現(xiàn)過(guò)程如圖 4所示,用 SQL查詢語(yǔ)句,找到所有符合條件的記錄,將這些記錄對(duì)應(yīng)的零件信息傳遞到代碼中,然后定義數(shù)據(jù)塊和實(shí)例化模型對(duì)象,用任務(wù)對(duì)象的句柄調(diào)用Add函數(shù)讓模型在場(chǎng)景中顯示。
3.3.2 維修動(dòng)作合法性判斷過(guò)程中的數(shù)據(jù)通信
判斷維修動(dòng)作是否合法在虛擬維修訓(xùn)練中的重要性是不言而喻的,維修序列從實(shí)質(zhì)上講就是判斷語(yǔ)句:if A then B,只要建立零件之間的相互約束關(guān)系就能夠解決設(shè)定維修序列的問(wèn)題。
用數(shù)據(jù)庫(kù)中某字段代表零件不同的狀態(tài),如表1所示,字段ContentID表示操作時(shí)選中的物體的ID號(hào),AccessoryState代表零件的初始狀態(tài),rState表示操作后的狀態(tài),ConditionId 表示拆卸ContentID 所標(biāo)識(shí)的物體時(shí)的條件物體,ConditionState表示條件物體的狀態(tài)。以表 1中ContentID為1的零件為例進(jìn)行具體介紹零件拆裝過(guò)程中維修序列的判定過(guò)程:選中物體($selectShape)的ID(ContentID)為1,若要對(duì)1進(jìn)行拆卸操作,要滿足1處于安裝完畢的狀態(tài);若要對(duì)1進(jìn)行安裝操作,要滿足3和24已經(jīng)安裝完畢。可以參考此例,設(shè)置其它零件拆裝和更換的約束條件,實(shí)現(xiàn)對(duì)維修動(dòng)作的合法性判斷。
表1 維修序列表中的部分記錄
數(shù)據(jù)庫(kù)在整個(gè)虛擬維修訓(xùn)練系統(tǒng)的開(kāi)發(fā)過(guò)程中都扮演著重要的角色,靈活運(yùn)用數(shù)據(jù)庫(kù)不但可以給開(kāi)發(fā)工作帶來(lái)很多便利條件,而且讓系統(tǒng)通用性得到很大提高。本文解決的主要問(wèn)題包括:在使用TGE進(jìn)行開(kāi)發(fā)虛擬維修訓(xùn)練系統(tǒng)時(shí),怎樣設(shè)計(jì)數(shù)據(jù)庫(kù)、怎樣實(shí)現(xiàn)基于 TGE的虛擬維修訓(xùn)練系統(tǒng)與MySQL數(shù)據(jù)庫(kù)的通信,并將該系統(tǒng)分別應(yīng)用到了某雷達(dá)裝備和某火炮的虛擬維修訓(xùn)練中,取得了較好的效果。
[1]楊宇航, 李志忠, 等. 虛擬維修研究綜述[J]. 系統(tǒng)仿真學(xué)報(bào), 2005, 17(9):2191-2195.
[2]馬 麟. 虛擬維修技術(shù)的探討[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2005, 17(12):2729-2733.
[3]Kenneth C Finney. Advanced 3D game programming all in one [M]. Thomson Learning, 2006. 367-392.
[4]張俊玲. 數(shù)據(jù)庫(kù)原理與應(yīng)用[M]. 北京:清華大學(xué)出版社, 2005. 10-30, 40-50.
[5]唐漢明, 翟振興, 蘭麗華, 等. 深入淺出MySQL[M].北京:人民郵電出版社, 2008. 3-103, 111-116.
Application of Database to Virtual Maintenance Training System
CHANG Gao-xiang1,2, XU Xiao-gang1,2, WANG Jian-guo1,2
( 1. Department of Equipment System and Automatization, Dalian Naval Academy, Dalian Liaoning 116018, China;2. State Key Lab of CAD&CG, Zhejiang University, Hangzhou Zhejiang 310058, China )
Database technology is very important in the Virtual Maintenance Training System.This article gives a brief description of the characteristics of MySQL database, analyzes the dominance of using database in Virtual Maintenance Training System, and introduces the basic means of designing database in it. An Virtual Maintenance Training System with preferable and transplantable property is developed combining with the Torque Game Engine. The experimental result indicates that applying database technology to the Virtual Maintenance Training System helps improve the system development efficiency.
computer application; database design; virtual maintenance; transplantable property
TP 391
A
1003-0158(2010)05-0157-06
2008-12-25
遼寧省自然科學(xué)基金資助項(xiàng)目(20082176);“浙江大學(xué)CAD&CG國(guó)家重點(diǎn)實(shí)驗(yàn)室”開(kāi)放課題資助項(xiàng)目(A0906)
常高祥(1986-),男,河南汝陽(yáng)人,碩士研究生,主要研究方向?yàn)樘摂M維修。