基于三維技術(shù)的實(shí)時(shí)數(shù)據(jù)采集與數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于三維技術(shù)的實(shí)時(shí)數(shù)據(jù)采集與數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于三維技術(shù)的實(shí)時(shí)數(shù)據(jù)采集與數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于三維技術(shù)的實(shí)時(shí)數(shù)據(jù)采集與數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)

一、從三維到三維隨著計(jì)算機(jī)硬件和軟件的開發(fā),虛擬技術(shù)在不同的行業(yè)和領(lǐng)域中得到了廣泛應(yīng)用。尤其在軍事中的應(yīng)用更體現(xiàn)出了它的優(yōu)勢(shì)。隨著技術(shù)的不斷發(fā)展,其在民用工業(yè)中的應(yīng)用也不斷擴(kuò)大,如汽車測(cè)試仿真系統(tǒng)、產(chǎn)品展示系統(tǒng)等。現(xiàn)存的民用虛擬仿真系統(tǒng)著重于場(chǎng)景的動(dòng)態(tài)渲染和視角的切換,目的在于為用戶提供最為真實(shí)的虛擬環(huán)境。但隨著應(yīng)用范圍的不斷擴(kuò)大,在場(chǎng)景中加入對(duì)實(shí)時(shí)數(shù)據(jù)的表現(xiàn)已經(jīng)成為虛擬仿真系統(tǒng)發(fā)展的趨勢(shì)。隨著物聯(lián)網(wǎng)技術(shù)與數(shù)據(jù)庫技術(shù)的不斷發(fā)展,實(shí)時(shí)數(shù)據(jù)的采集、傳輸與存儲(chǔ)已經(jīng)成為現(xiàn)實(shí)。這就為三維的實(shí)時(shí)虛擬仿真系統(tǒng)的實(shí)現(xiàn)提供了有力的支持。三維引擎技術(shù)在近幾年得到了有力的發(fā)展,現(xiàn)有的三維引擎都具備場(chǎng)景搭建、實(shí)時(shí)交互、服務(wù)器通信等功能。本文涉及的三維引擎Unity3d是一款成熟的三維引擎,其長(zhǎng)期的被用于三維游戲的設(shè)計(jì)中,所以具有非常優(yōu)異的三維顯示、實(shí)時(shí)交互功能,與服務(wù)器之間的數(shù)據(jù)交互也簡(jiǎn)單高效。各方面技術(shù)的成熟使得針對(duì)三維的實(shí)時(shí)虛擬仿真系統(tǒng)的研究成為可能,本文針對(duì)目前存在的一些問題,提出一些具體可行的解決方案,并且將其與實(shí)際的應(yīng)用相結(jié)合,為進(jìn)一步的研究提供了依據(jù)。二、數(shù)據(jù)層和服務(wù)層由于需要支持大量實(shí)時(shí)數(shù)據(jù)的顯示和虛擬場(chǎng)景的互動(dòng),所以系統(tǒng)采用C/S模式。系統(tǒng)的組成如下圖所示:數(shù)據(jù)采集端主要負(fù)責(zé)數(shù)據(jù)的采集及傳輸工作,其包含各種傳感器設(shè)備及必要的網(wǎng)絡(luò)傳輸設(shè)備,通過Internet回傳實(shí)時(shí)獲取的數(shù)據(jù),為了保證數(shù)據(jù)傳輸?shù)陌踩?所以傳輸使用TCP/IP協(xié)議。數(shù)據(jù)層主要負(fù)責(zé)數(shù)據(jù)的存儲(chǔ),包含實(shí)時(shí)數(shù)據(jù)、模型數(shù)據(jù)及其他數(shù)據(jù)的存儲(chǔ)。其中需要說明的是Unity3d中的模型是以特殊的.unity3d格式存儲(chǔ)的。事實(shí)是模型數(shù)據(jù)在存入數(shù)據(jù)庫前在三維引擎中進(jìn)行了處理,生成了Unity3d可以識(shí)別的文件格式。模型數(shù)據(jù)在此系統(tǒng)中以文件的格式存儲(chǔ)在服務(wù)器上,并且生成了一個(gè)Json格式的配置文件存儲(chǔ)與同一服務(wù)器上。服務(wù)層主要為應(yīng)用層提供服務(wù),其中數(shù)據(jù)服務(wù)是核心,因?yàn)樯蠈拥膶?shí)時(shí)虛擬仿真系統(tǒng)中的數(shù)據(jù)的實(shí)時(shí)性就依靠這一層來保證。應(yīng)用層主要是一個(gè)進(jìn)行實(shí)時(shí)虛擬仿真的平臺(tái),其包含三方面的關(guān)鍵技術(shù),分別為:Unity3d引擎、動(dòng)態(tài)加載技術(shù)及實(shí)時(shí)交互技術(shù)。三、關(guān)鍵技術(shù)1.模型存儲(chǔ)技術(shù)模型數(shù)據(jù)及配置文件存放在服務(wù)器端。當(dāng)系統(tǒng)啟動(dòng)時(shí),先從服務(wù)器端加載配置文件,之后進(jìn)行模型的加載。配置文件的基本格式如下圖所示2.數(shù)據(jù)的動(dòng)態(tài)加載在一個(gè)大型的虛擬場(chǎng)景中,不能讓用戶長(zhǎng)時(shí)間的等待所有資源的加載。而應(yīng)該先加載用戶附近的場(chǎng)景資源,其他的資源在程序運(yùn)行過程中在不影響操作的情況下,讓其在后臺(tái)加載,直到所有資源都加載完畢。這就不可避免的需要使用到數(shù)據(jù)的動(dòng)態(tài)加載技術(shù)。因?yàn)槟P臀募募虞d需要緩沖,所以就必須為其在客戶端設(shè)計(jì)一個(gè)緩沖池。首先加載配置文件,因?yàn)榕渲梦募镴son格式,所以必須對(duì)其進(jìn)行解析。利用開源庫LitJson可以實(shí)現(xiàn)配置文件的解析,之后加載配置文件中的模型文件。在加載過程中必須對(duì)加載的每一幀進(jìn)行監(jiān)聽,判斷該幀是否為文件的結(jié)尾。將加載文件首先置于緩沖池中。在加載的同時(shí)客戶端也開始處理顯示模型,需要將模型的屬性信息賦予對(duì)應(yīng)的模型,并且將對(duì)應(yīng)的腳本添加到模型上,最后在三維引擎中顯示。Unity3d中的WWW類可以用于數(shù)據(jù)的請(qǐng)求和傳輸,WWW類是Unity3d中的關(guān)鍵類。它負(fù)責(zé)請(qǐng)求模型和加載模型數(shù)據(jù)。3.動(dòng)態(tài)實(shí)時(shí)交互功能三維仿真場(chǎng)景的動(dòng)態(tài)交互是仿真平臺(tái)非常重要的一個(gè)特性,以Unity3d三維引擎開發(fā)的虛擬仿真系統(tǒng)具有良好的動(dòng)態(tài)交互性能。它可以通過附加在GameObject上的腳本實(shí)現(xiàn)三維場(chǎng)景的動(dòng)態(tài)交互,本文系統(tǒng)內(nèi)使用到的腳本由C#實(shí)現(xiàn)。Unity3d中有許多非常重要常用的類,具體見下表:通過C#腳本為本來靜態(tài)的場(chǎng)景添加了動(dòng)態(tài)的實(shí)時(shí)交互功能,例如用戶可以使用鼠標(biāo)選中某個(gè)模型,并顯示一些關(guān)鍵信息。使得用戶獲得更好的體驗(yàn)。四、使用示例將該實(shí)時(shí)虛擬仿真系統(tǒng)利用與風(fēng)車監(jiān)控中,取得了較好的效果,具體的實(shí)現(xiàn)如下:1.風(fēng)力發(fā)電機(jī)的狀態(tài)信息將模型資源文件和配置文件同時(shí)上傳到服務(wù)器,保存到制定目錄下。對(duì)于采集的實(shí)時(shí)信息,由于針對(duì)的是風(fēng)力發(fā)電機(jī),所以包括:當(dāng)前環(huán)境情況和風(fēng)機(jī)的一些狀態(tài)信息。服務(wù)器端數(shù)據(jù)庫的設(shè)計(jì)參考采集的實(shí)時(shí)信息,所以其對(duì)應(yīng)的數(shù)據(jù)表有多張。2.客戶客戶端利用Unity3d開發(fā),使用C/S模式。運(yùn)行與windows平臺(tái)之上。3.系統(tǒng)的實(shí)時(shí)仿真實(shí)時(shí)仿真的過程主要是首先建立仿真的場(chǎng)景:主要依賴于數(shù)據(jù)的動(dòng)態(tài)加載技術(shù)。其次就是實(shí)時(shí)數(shù)據(jù)的展現(xiàn):主要是通過場(chǎng)景來模擬真實(shí)參數(shù)的變化,以達(dá)到實(shí)時(shí)性的需求。下圖為系統(tǒng)實(shí)時(shí)仿真的一個(gè)場(chǎng)景:仿真場(chǎng)景的生成過程:在用戶啟動(dòng)虛擬仿真平臺(tái)時(shí),客戶端就主動(dòng)向服務(wù)器請(qǐng)求模型數(shù)據(jù),使用動(dòng)態(tài)加載技術(shù)可以使畫面平滑逼真。實(shí)時(shí)的數(shù)據(jù)傳輸依靠Unity3d內(nèi)部的updata函數(shù),實(shí)時(shí)的向服務(wù)器請(qǐng)求實(shí)時(shí)數(shù)據(jù)。服務(wù)器接到數(shù)據(jù)請(qǐng)求以WWW方式返回?cái)?shù)據(jù),虛擬仿真平臺(tái)解析返回的數(shù)據(jù)并在平臺(tái)上展示。五、實(shí)時(shí)的虛擬仿真系統(tǒng)將成為發(fā)展方向本文對(duì)基于Unity3d的實(shí)時(shí)虛擬仿真系統(tǒng)做了深入的研究討論,對(duì)服務(wù)器端的設(shè)計(jì)及客戶端人機(jī)交互做重點(diǎn)研究,并結(jié)合實(shí)例實(shí)現(xiàn)了一個(gè)應(yīng)用系統(tǒng)。隨著計(jì)算機(jī)技術(shù)及虛擬仿真技術(shù)的發(fā)展,傳感器技術(shù)及三維引擎技術(shù)的進(jìn)步,虛擬仿真軟件功能的日益完善,極大地提高了系統(tǒng)仿真的開發(fā)水平。市

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論